exe 파일이 두 개 존재하는데 실행 시켜보니까 같은 내용이다.(뭐지..?)
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 |