문제를 켜보면 키 입력도 안되고 정말 황당하다.
체크박스를 눌러봐도 무심하게 Wrong만 출력되는대
뒤적거리다보니 윈도우창에 그림을 그릴수있었다
그림을 그려서 맞추는건 힘들어보이니
우선 아까봤던 문자열 로 탐지하여 찾아가 보면
GetDIBits 함수를 볼 수 있는대
이 함수는 비트맵 관련 함수라고한다.
FindResourceA 함수의 결과가 가리키는 주소 0047E048로 가보면
60부터 시작해서 0000과 FFFF만 반복되는대
이는 GetDIBits함수를 통해 부른 결과이기때문에 .bmp의 파일 내용임을 알수있다.
이 부분을 추출해서 정상적인 .bmp파일에 끼워넣으면 키를 볼수있을것같다.
원본파일의 가로 0xC8(200) 세로 0x96(150)값이 GetDIBits를 실행하기전에 레지스터에서 노출된다.
.bmp파일을 수정할때 유의할 사항은 저 3지점인대
36 00 00 00 은 비트맵의 시작지점을 알려주는 값이다
해서 offset 36부터 파일에서 얻어낸 핵스값을 복사해주면된다.
df 01 00 00 은 가로길이 38 01 00 00 은 세로길이
를 나타내는 오프셋이므로 각 부분을 수정해주면 글자가 나오는것을 볼 수 있다.
'prob > reversing.kr' 카테고리의 다른 글
[Reversing.kr] Direct3D_FPS (0) | 2015.11.11 |
---|---|
[Reversing.kr] Position (0) | 2015.11.05 |
[Reversing.kr] Replace (0) | 2015.11.02 |
댓글