지오메트리대쉬 모드앱 분석
안녕하세요 이번 시간에는 지오메트리대쉬 라는 게임 모드앱을 분석 해보겠습니다.
우선 이렇게 HxD로 두개의 libcocos2dcpp.so 파일을 열어봤습니다. (왼쪽이 원본, 오른쪽이 수정본 입니다) 그리고 Ctrl + Insert 키를 눌러 오프셋을 복사 했습니다.
HxD로 비교분석을 해봤으니 이제 IDA로도 봐보겠습니다. IDA로 수정본을 열고 G 키를 눌러 오프셋을 붙여넣었습니다.
그럼 IsIconUnlocked() 라는 메소드가 변경된 것을 확인할 수가 있고, 또한 'mov eax, 1 retn' 이라는 어셈블리어로 변경이 된것을 확인할 수가 있습니다. 'mov eax, 1 retn' 이라는 어셈블리어는 x64에서 True를 의미합니다.
다시 HxD로 돌아와서 봐보면 헥스값이 'B8 01 00 00 00 C3' 이죠? 즉 어셈블리어 mov eax, 1 retn = 헥스코드 B8 01 00 00 00 C3 이라고 할 수가 있죠.
변환기를 통해 직접 확인을 해본 결과입니다.(이때 실수로 retn은 안적은점 양해 부탁드립니다)
헥스코드 '8D 64 24 B4 89 6C' 은 lea esp, [esp-4Ch] ?
이상으로 분석을 마치도록 하겠습니다. 여태 게임가디언을 사용하거나 스크립트를 만들다가 모드앱으로 넘어왔는데 모드앱도 할만하네요.