yon11b

[Lena Reversing] 3번-잔소리 제거하기 본문

보안/리버싱

[Lena Reversing] 3번-잔소리 제거하기

yon11b 2026. 5. 30. 23:49
반응형

두 개의 파일이 있다.

RegisterMe.exe 파일 먼저 살펴보겠다.

 

진짜 시작은 00401000에서부터이다.

 

실행해보면 다음과 같은 창들이 뜬다. nag(잔소리. 여기서 1번 3번 창)를 없애는 것이 목적인 문제이다.

 

 

 

 

풀이

CMP EAX, 0의 값은 항상 ZF=1이다.

GetModuleHandleA가 실행되고 반환된 값은 EAX에 할당되기 때문이다.

그래서 그냥 실행하면 JE는 무조건 실행된다.

근데 우리는 x표 친 부분을 실행 시켜서는 안 되고 0x401024로 바로 넘어가야 하는데 그 방법에는 여러가지가 있다.

  1. JE를 JMP로 수정
  2. entry point를 401000이 아니라 401024로 수정

2번 방법으로 해주자

entrypoint가 위치한 주소는 4000E8이다.

dump창으로 가서 이 주소를 24 10 으로 수정해주자.(리틀엔디안)

수정 방법은 ctrl+e를 누르면 된다.

그런데 밑에 error message box가 하나 더 있다. 얘는 따로 jmp 가 없으므로 그냥 다 NOP으로 채워주도록 하자.

 

여기까지 하고 copy to execute file 을 해주자.

이제 그 파일을 실행하면 두 개의 nags alert 창이 안 뜨고 아래 창만 뜨는 것을 확인할 수 있다.

 

RegisterMe vs RegisterMe.oops 비교

그냥 RegisterMe.oops을 열어보면 내용이 좀 빠져있는 것을 알 수 있다.

 

HxD로 정상이랑 비정상(oops)를 비교해가면서 이상한 곳을 수정해주자.

두 파일을 두고 같은 위치에 커서를 두고 F6을 누르면 자동으로 다른 곳을 찾아준다.

이 부분은 size of code 값이 다른 것이다.

정상: 400 / 비정상: 400 400

다 수정하면 이런 창이 뜬다.

 

그리고 다시 peview로 oops파일을 열어보면 정상적으로 모든 구조가 잘 표시된다.

 

 

 

 

 

 

 

 

 

 

728x90

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

[Lena Reversing] 4번-PixtopianBook 체험판 크랙하기  (0) 2026.05.30