2017/12/26(2)
-
코드 가상화 개인 공부 [0x06]
Target AntiDebugging (특정한 타깃 = OllyDBG) OllyDBG FindWindow FindWindow() API를 사용해서 OllyDBG의 클래스명이 존재하는지를 조사하여 OllyDBG를 사용못하게 하는 방법 OllyDBG INT3 Exception Detection INT3(BreakPoint)예외가 발생하기 전에 이에 대한 예외 핸들러를 등록하여 INT3 예외를 발생시키는 OllyDBG의 실행을 발견하는 방법 OllyDBG IsDebuggerPresent Detection PEB의 BeingDebugged에 특정 값을 저장한 후에 OllyDBG에 의해 그 값이 변경된 경우 IsDebugger Present API를 사용하여 디버깅 중인지 체크 OllyDBG Memory Brea..
2017.12.26 -
코드 가상화 개인 공부 [0x05]
몇일 가족여행 갔다온다고 푹 잠만 자고 쉬었으니 다시 공부를 시작해본다. INT 2D Debugger Detectionntoskrnl.exe에서 사용되는 INT 2D가 디버깅 시에 사용되면 예외가 일어나지 않고, 일반 실행시에만 예외를 일으키는 것을 이용한다. Kernel32 CloseHandle and NtClose 잘못 된 시스템 핸들러에 대한 종료를 요청 할 경우 Debugging 시 잘못 된 주소로의 리턴이 이루어짐을 이용함. LordPE Anti Dumping 프로세스의 크기를 크게 늘려서 LordPE를 혼란시키거나 사용할 수 없도록 하는 방법 POPF and trap flag popf명령어의 실효성과 trap flag 사용 체크를 통해 디버깅 여부 확인 RDG OEP Signature Spoo..
2017.12.26