-
[CheatEngine] Themida Debugger 탐지 우회#1System/Reversing 2019. 7. 10. 13:15
Windows환경에서 Themida로 패킹되어 있는 프로그램을 CheatEngine으로 분석할 때 우회 팁이다.
우선 탐지하는 수준이 엄격하냐, 느슨하냐 차이가 있겠지만
나같은 경우는 CheatEngine이 실행되어 Target Process에 Attach하는 것까지는 탐지하지 않고 있었다.
[ CheatEngine Error ]
Attach이후에 BreakPoint를 설정하거나, Memory를 조작하는 순간
위와 같은 에러창이 뜨면서 Target Process가 종료되는 상황이였다.
[ Themida Packing ]
Target Process를 ExeInfo로 확인해보니 Themida로 패킹된 것을 확인할 수 있었다.
보통 이런 Anti-Debugging을 우회하는 방법 중 하나가 User영역에서 메모리를 건드는게 아니라
Target Process가 탐지하지 못하는 Kernel영역으로 넘어가서 우회하는 방법이 있다.
갓-갓 툴인 CheatEngine에도 그러한 기능이 있어서 소개하려고 한다.
[ Debugger Options ]
CheatEngine에서 Settings에 들어가보면 왼쪽에 여러탭들이 있다.
그 중 'Debugger Options'을 보면 빨간박스의 옵션이 Debugger를 어디서 실행할 건지 선택할 수 있다.
기본적으로는 'Use windows debugger'로 선택되어 있을텐데
우리는 Anti-debugging의 탐지를 우회할거니까 'Use kernelmode debugger'를 선택하고 [OK]를 누르면 된다.
수정한 옵션은 별도의 동작없이 바로 적용된다.
[ Anti-Debugging Bypass ]
다시 Target Process에 Attach하고 BreakPoint를 설정하면
아까랑 다르게 왼쪽 상단에 'DBK64 LOADED'라는 문구가 뜨면서
정상적으로 BreakPoint가 설정되는 것을 볼 수 있다.
'System > Reversing' 카테고리의 다른 글
Taint Analysis ( IDA lighthouse & FRIDA ) (1) 2020.04.17 DLL 바이너리 수정으로 BreakPoint 걸기 (0) 2019.10.07 [x64dbg] Themida Debugger 탐지 우회#2 (2) 2019.07.11 GDB 소스코드 보면서 디버깅 하기 (0) 2019.06.08 32Bit(x86)/64Bit(x64) 차이점 정리 (0) 2018.02.04 댓글