프리다 사용 동적 함수 탐지

홈 > 커뮤니티 > 질문 게시판
질문 게시판

프리다 사용 동적 함수 탐지

3 50nday 5 5226
유니티 il2cpp 기준

질문 1.
체력이 깎인다고 하면 관련 함수를 찾아야 할텐데
changeHP 이런식이 아니고 유추 할 수 없도록
xx1xx 이런식으로 네이밍이 어렵게 돼있으면 어떤 방식으로 찾나요??

질문 2.
일단 질문 1에 대한 해결 방안을 몰라서 생각한게
프리다 이용해서 콜 되는 모~~~~든 함수를 동적으로 표시 해주고 싶은데요
현재 생각한거는 il2cpp덤퍼로 나온 모든 함수들의 주소에 후킹 걸어주는게 있는데
혹시 이외에 방법이 있을까요?

질문 3.
실례가 안된다면...관리자님의 린엔진 보면 후킹 탐지가 있던데
혹시 어떤식으로 구현 하셨나요?
inline, got, plt 모두 탐지 하시는건지..참조할만한 자료가 있을까요?

답변 미리 감사합니다.
5 Comments
M LIN 2019.11.20 20:08  
3. 이전의 값과 현재의 값을 비교하는 원리입니다. 예전 안랩 핵쉴드 훅탐지 원리랑 비슷한?
관련자료는... 딱히 특별한 자료보고 만든건 아니고 모드앱 분석용도로 직접 만든기능이라ㅎㅎ
제가 쓴 후킹 글이 그나마 참고할만한 자료네요
- http://linforum.kr/bbs/board.php?bo_table=android&wr_id=731
3 50nday 2019.11.21 10:56  
감사합니다!!
6 하늘사자 2019.11.20 23:14  
난독화 되어 있다면.. 함수 이름으로는 hp나 원하는 값을 찾기는 어려울듯 합니다.

2번은 frida 같은경우 dlsym 에 찾을수 없는 함수는 나타나지 않습니다 (주소로 후킹하지 않는다면 frida 후킹할수 없겠죠)
hp관련 처리 함수가 후킹을 걸린다고 하더라도.. 너무 많은 호출이 이루어 지다 보니.. 아마 분간하기 어려울듯 하네요..
그래도 시도는 한번 하셔서 눈으로 확인하시는걸 추천 드립니다.

제가 추천 드리는 방법은
  1. hp가 존재하는 메모리 주소를 찾습니다.
  2. 디버거를 이용해서 hp 에 write 하는 코드들을 찾습니다.
  3. 코드들을 찾았다면..  그중 어떤함수가 가장 관련 있는지 판단만 하면 될듯 합니다.
3 50nday 2019.11.21 11:44  
흠...dlsym 후킹 걸어서 봤는데요
il2cpp 하단에 추가되는 게임과 관련된 함수들은 dlysm 통해서 할당 하는게 아닌거 같은데요?...어렵네유..

일단 추천 드리는 방법 확인 해봐야겠네염
1 dkel 2019.11.21 23:13  
감사합니다