-
[x64dbg] Themida Debugger 탐지 우회#2System/Reversing 2019. 7. 11. 13:13
이번에는 x64dbg에서 Themida Debugger탐지를 우회하는 방법을 정리해보겠다.
우선 x64dbg는 이전 Ollydbg의 확장버전 개념의 디버거이고, 한글지원과 다양한 플러그인들을 사용할 수 있다.
x64dbg_OfficialSite: https://x64dbg.com
x64dbg_Blog: https://x64dbg.com/blog/
x64dbg_Github: https://github.com/x64dbg/x64dbg/wiki
[ Themida Detect ]
우선 Themida로 패킹되어 있는 .exe파일을 디버거로 로드하여 실행하면
위와 같은 Themida경고창이 뜨면서 프로세스가 종료되는 것을 확인할 수 있다.
이전 글에서도 언급했듯이, 디버거를 Kernel영역에 로드하는 방법도 있겠지만
이번에 소개할 방법은 패커가 Debugger를 탐지하는 Symbol을 숨기는 방식으로 탐지를 우회한다.
플러그인 이름은 Scylla Hide이며, 아래 링크에서 다운받아서 x64dbg에 로드하여 사용하면 된다.
https://github.com/x64dbg/ScyllaHide/releases
[ Scylla Hide#1 ]
가장 최신버전의 압축파일을 받아서 압축을 풀어주면 된다.
[ Scylla Hide#2 ]
적용방법은 각 Bit에 맞는 파일들을 x64dbg의 플러그인 폴더에 넣어주면 된다.
x64같은 경우는 scylla_hide.ini / HookLibraryx64.dll / ScyllaHideX64DBGPlugin.dp64
위 3개 파일을 복사해서 넣어주면 된다.
[ Scylla Hide#3 ]
이렇게 필요한 파일들을 옮겨주면 플러그인 셋팅은 끝이다.
[ Scylla Hide 적용 ]
디버거를 실행해서 [플러그인]탭을 보면 ScyllaHide가 추가된 것을 확인할 수 있고,
ScyllaHide - Options을 들어가서 기능들을 설정할 수 있다.
[ Scylla Hide Options ]
우리가 따로 기능을 건드려줄 건 없고, 각 패커마다 기본적으로 옵션이 설정된다.
우리는 Themida를 우회할 것이니 Target Process를 로드하고 Themida x86을 선택한 뒤, [OK]를 눌러주면 된다.
[ Themida Bypass ]
다시 디버거에 Target 프로그램을 로드하고 실행해보면
아까랑 달리 경고창 없이 정상적으로 실행되는 것을 확인할 수 있다.
'System > Reversing' 카테고리의 다른 글
Taint Analysis ( IDA lighthouse & FRIDA ) (1) 2020.04.17 DLL 바이너리 수정으로 BreakPoint 걸기 (0) 2019.10.07 [CheatEngine] Themida Debugger 탐지 우회#1 (1) 2019.07.10 GDB 소스코드 보면서 디버깅 하기 (0) 2019.06.08 32Bit(x86)/64Bit(x64) 차이점 정리 (0) 2018.02.04 댓글