F.R.I.D.A.Y.

crackme2.exe 본문

리버싱/Olly

crackme2.exe

F.R.I.D.A.Y. 2018. 9. 15. 07:03
반응형


프로그램을 처음 실행하면 위와 같은 윈도우가 화면에 나타난다. 


 [F9]를 누르면 [401000]으로 이동하지 않고 [4013C0]으로 이동하는데 프로그램이 시작하기 전, 사전 초기화 작업으로 보인다.

메모리 주소가 [4013C0]이다.


확인해보면 각 메모리 주소는 다음 행동으로 예측할 수 있다.

 [401000] ~ [401076]

>> 윈도우 클래스 설정, 등록과정

 [40107C] ~ [4010A7]

>> 윈도우 생성 과정

 [4010AD] ~ [4010B3]

>> 생성된 윈도우 출력

 [4010E2] ~ [4010FB]

>> 프로그램의 이벤트에 따른 행동을 위해 프로그램을 종료시키지 않음


 프로그램 이벤트는 메모리주소 [401120]으로 시작하는 함수단에서 처리하는 것으로 보인다. WNDCLASS의 WndProc 부분을 넣는 곳은 [40105A]로 보인다.


 [401120]에서 시작하는 함수는 [401208]까지 이어지며 만일 [40116A]에서 분기가 되어 [40117A]로 넘어오면 여기서부터 문자열 비교가 시작된다. 즉, 다른말로 패스워드 확인이 이뤄지는 것이다.


 만일 패스워드가 일치하면 [4011CA]에서 [401202]로 분기가 일어나지 않고 바로 다음 명령어를 실행하며 진행한다.


 비교 문자열인 "HackFun"이 패스워드이며, 비교를 성공적으로 이루면 "HackFun" 문자열은 "SEP"로 변한다.

 비교 과정은 한번 시행에 문자 두 개를 차례로 비교한다.

728x90
반응형

'리버싱 > Olly' 카테고리의 다른 글

OpenSecureLab#1_Release.exe  (0) 2018.09.26
리버싱 - crackme1.exe  (0) 2018.09.13
리버싱 - abexcm1(실습).exe  (0) 2018.09.13
Ollydbg 기본 단축키  (0) 2018.09.13
Comments