티스토리 뷰

** 제대로 된 풀이방법이 아님. 나중에 다시 업데이트 할 예정.


메뉴얼 패킹되어 있는 프로그램이며, OEP 를 찾는 문제임. (Object Entry Point)

흔히 이러한 메뉴얼 패킹이 되어 있는 프로그램의 경우,  복호화 루틴에서 마지막 부분에 JMP Instruction 으로 프로그램의 OEP로 프로그램의

흐름이 이동하도록 되어있는 경우가 많다.


필자의 경우에는, 복호화 루틴이 끝나고 

0x0040A1FB 에서 jmp     loc_401150 Instruction 이 실행된 이후, 복호화 작업이 끝난 이후 변경된 Instruction 들을 볼 수 있는데,

일반적인 함수 프롤로그 코드들을 이용해, 프로그램의 OEP 임을 추측해 볼 수 있었다.


다만, 해당 코드가 실행되지는 못하고 "Insturction could not be exeucted." 에러가 발생하였음.


(아직 해결되지 않는 문제)

1. 해당 세그먼트에 X(execute) 권한이 있음에도 불구하고 실행이 되지 않았음. (DEP 문제?)

2. 해당 세그먼트에는 W(write) 권한이 없는데, Runtime 시에 메모리에 적제된 명령어를 변경하였음.

3. 에러가 나지 않고 정상적인 실행일 시, 복호화 코드가 완료되었을 때, 어떻게 원래 OEP 를 찾아낼 것인가? (Call Stack? -  함수 프롤로그 코드 위치 추척)




답 : 00401150

'Reversing > * reversing.kr' 카테고리의 다른 글

reversing.kr - ImagePrc  (0) 2016.07.22
reversing.kr - Music Player  (0) 2016.07.21
reversing.kr - Easy Keygen  (0) 2016.07.20
reversing.kr - Replace  (0) 2016.07.19
reversing.kr - Easy Crack  (0) 2016.07.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함