코드케이브 2

치트엔진으로 안티디버깅 우회 해보기 IsDebuggerPrensent -2 (Code Cave)

전에 작성한 IsDebuggerPrenset를 치트엔진을 사용해서 Code Cave 기법으로 우회를 해 보겠습니다. 요새 어셈 스크립트 작성하는게 재미있네요 .. 위 opcode를 보면은 전에 작성한 opcode랑 다르다는 것을 알 수 있습니다. 전에 C코드 솔루션을 C#으로 했더라구요 ... BP를 설정하면 IsDebuggerPrenset 함수가 탐지하여 " 디버깅 탐지 " 라는 문자열을 출력합니다. 해당 함수를 타깃으로 Code Cave를 해 볼 것입니다. 먼저 어떤 식으로 스크립트를 작성 할 것인지 생각해보자면 공간을 생성 한 후 IsdebuggerPresent 함수를 불러온다. eax 값을 초기화 하고 eax 값이 00인지 비교하고 맞으면 원본 코드로 복귀 아니면 무한루프 이런 식으로 작성할 것입..

치트엔진으로 안티디버깅 우회 해보기 - PEB

PEB구조체를 이용해서 안티디버깅을 적용하고 치트엔진으로 우회 하는 실습을 해보겠습니다. PEB는 간단하게 BeingDebugged 값을 체크하는 안티디버깅 기법입니다. 자세한거는 나중에 Windbg를 공부하면서 알아보도록 하겠습니다. 위는 간단한 소스코드 입니다. 디버깅이 탐지 될 때 " 디버깅 탐지 " 를 띄우고, 그 반대로 " 정상 " 을 띄우는 소스코드 입니다. 치트엔진을 켜고 프로세스를 attach 합니다. 현재 디버깅을 안 해서 " 정상 " 이라고 출력 중 입니다. 이번에 추가적으로 툴을 하나 더 실행 시킵니다. " Process Explorer " 라는 좋을 툴입니다. 대표적으로 프로세스 리스트 (Suspend, Resume, Terminate, Dump) 해당 프로세스의 Thread, TC..