VisualSite Designet.exe 실행 ㄱㄱ
첫 번째 창이 뜬다.
아래 문자열을 확인해 보면 Number of trials 9 라고 나와있다.
체험판 버전이라 9번 남은거 같다. ㄷㄷ
두 번째 창이 뜬다.
두 번째 창을 닫고 프로그램을 닫으면
세 번째 창이 뜬다.
광고 인거 같은데..
프로그램을 실행하면 첫 번째 창과 세 번째 창이 안뜨게 패치해야한다!
Ctrl + f8 로 창이 어디서 뜨는지 확인하는데 너무 오래걸리면 Call Stack를 이용한다.
break point 없이 F9 눌러 프로그램을 실행하고 멈춤을 누른다.
다음 K를 누르면 어디서 어떤 함수가 호출되어있는 보여준다. - > Call Stack
지금 첫 번째 창이 뜨고 멈췄기 때문에 어디가에 첫 번째 창을 출력하는 함수가 존재한다!
Call Stack 에서 시스템 주소가 아닌 곳에서 찾다보면 489912에서 첫 번째 창이 뜨는걸 알 수 있다.
489912 이전에 분기문이 세 개 존재한다.
세 개에 분기문이 모두 489912를 넘어간다. 따라서 어떤 분기문이 맞는지 확인할 수 없어 세 가지 분기문을 하나씩 JMP 문으로 패치하고 실행해본다!
패치된 프로그램을 하나씩 실행해보자!
_1.exe 는 아무 반응이 없고
_3.exe 는 첫 번쨰 창이 안뜨는 대신 새로운 창이 뜬다.
_2.exe 는 첫 번째 창이 안뜨고 두 번째 창이 바로 뜨는 걸 봐서 _2.exe 가 맞는 패치인거 같다.
하지만 여전히 세 번쨰 창은 뜬다.
_1.exe, _3.exe 는 삭제 ㄱㄱ
패치된 _2.exe 를 올리디버거로 올리고 분석을 실시한다.
광고창이 뜬 상태에서 Call Stack를 확인해보면 Visualsi 에서 광고창을 나오게 하는거 같다.
480c24를 실행하면 광고창이 출력된다.
프로그램이 끝난 후 출력됨으로 프로그램 실행에 지장을 주지않아 NOP로 패치한다.
저장 ㄱㄱ
패치된 프로그램을 실행하면 두 번째 창이 뜨고 프로그램 종료 후 광고창이 뜨지 않은걸 확인할 수 있다!
성공 ㅋ
'레나 튜토리얼' 카테고리의 다른 글
[레나 튜토리얼] - 7 (0) | 2022.08.10 |
---|---|
[레나 튜토리얼] - 6 (0) | 2022.08.10 |
[레나 튜토리얼] - 4 (0) | 2022.08.09 |
[레나 튜토리얼] - 3 (0) | 2022.07.31 |
[레나 튜토리얼] - 2 (0) | 2022.07.31 |