반응형
전에 작성한 IsDebuggerPrenset를 치트엔진을 사용해서 Code Cave 기법으로 우회를 해 보겠습니다.
요새 어셈 스크립트 작성하는게 재미있네요 ..
위 opcode를 보면은 전에 작성한 opcode랑 다르다는 것을 알 수 있습니다.
전에 C코드 솔루션을 C#으로 했더라구요 ...
BP를 설정하면 IsDebuggerPrenset 함수가 탐지하여 " 디버깅 탐지 " 라는 문자열을 출력합니다.
해당 함수를 타깃으로 Code Cave를 해 볼 것입니다.
먼저 어떤 식으로 스크립트를 작성 할 것인지 생각해보자면
- 공간을 생성 한 후 IsdebuggerPresent 함수를 불러온다.
- eax 값을 초기화 하고
- eax 값이 00인지 비교하고 맞으면 원본 코드로 복귀 아니면 무한루프
이런 식으로 작성할 것입니다.
원래 조금 더 간단하게 짤 수 있습니다만, 익숙해지기 위해서 길게 작성 해 보았습니다.
이제 저장하고 체크박스를 클릭 해 주면은
원래 call IsdebuggerPresent 함수가 사라지고 공간을 생성한 곳으로 jmp 시킵니다.
해당 주소를 따라가보면은
아까 작성한 스크립트가 있습니다.
실행해보면은 " 정상 " 으로 출력이 됩니다.
감사합니다.
반응형
'리버스 엔지니어링 > 치트엔진' 카테고리의 다른 글
치트엔진으로 안티디버깅 우회 해보기 - PEB (0) | 2018.09.19 |
---|---|
치트엔진으로 안티디버깅(IsDebuggerPresent) 우회 해보기 (1) | 2018.09.16 |
치트엔진으로 Crackme 분석해보기 (0) | 2018.09.01 |