[레나 튜토리얼] - 3

oogu ㅣ 2022. 7. 31. 18:15

exe 파일이 두 개 존재하는데 실행 시켜보니까 같은 내용이다.(뭐지..?)

1
2
3

exe 실행하면 위 순서대로 창이 뜬다. 이 중에서 2번째를 제외한 1,3 번 창은 안뜨게 해야한다.

일단 패킹은 안되어있다.

바로 올리디버거로 올려본다.

exe 실행한 내용이 한눈에 보인다. ㅋ

일단 브레이크 포인트를 걸어 놓는다.

CMP EAX, 0 에서 EAX가 0이 아니라 점프를 안해 첫 번째 메시지 박스가 실행된다.

JE -> JNZ 로 패치한다.

첫 번째 메시지 박스는 쉽게 우회했다.

두 번재 메시지 박스는 실행되어야 함으로 실행한다.

두 번째 메시지박스를 실행하고 바로 세 번째 메시지 박스 인자값을 PUSH 한다. 

만약 두 번째 함수가 끝난 후 분기문이 있으면 분기문을 패치해서 세 번째를 우회하면 될 거 같은데 바로 실행이 되서 난감하다;;

 

원래는 기존 코드는 유지하면서 패치해야하지만 세 번째 메시지 박스는 실행하는데 필요 없고 별 다른 방법이 없어보여 NOP로 바꿔준다.

두 번째 함수가 끝나고 NOP 때문에 쭉 내려가다가 Exitprocess 함수를 만나 프로그램이 종료된다.

 

 

 

 

 

 

 

 

 

 

 

Entry point 수정하고  첫 번째 함수 우회 방법 ㄱㄱㄱ

'레나 튜토리얼' 카테고리의 다른 글

[레나 튜토리얼] - 5  (0) 2022.08.09
[레나 튜토리얼] - 4  (0) 2022.08.09
[레나 튜토리얼] - 2  (0) 2022.07.31
[레나 튜토리얼] - 1  (0) 2022.07.30
Ollydbg 패치  (0) 2022.07.30