System/Reversing
DLL 바이너리 수정으로 BreakPoint 걸기
pyozzi
2019. 10. 7. 19:23
프로그램을 분석하다보면, 안티디버깅의 탐지로 인해
일반적인 디버거(x64dbg, windbg...)의 동적분석이 불가능한 경우가 있다.
디버거로 탐지를 우회하는 방법도 있지만, CheatEngine은 탐지 안하는 경우가 많기 때문에
해당 툴로 동적분석을 진행할 수 있다.
CheatEngine자체의 BP기능을 사용할 수도 있지만, 이것 또한 사용하지 못하는 경우에는
아래와 같은 방법으로 BP를 걸 수 있다.
[ DLL 바이너리 수정 ]
DLL의 2Byte opcode를 "EB FE"로 수정하면 해당 부분에서 BP가 걸린듯한 효과를 볼 수 있다.
또한, "int3"(CC) Interrupt를 탐지하는 안티 디버깅도 우회할 수 있다.
"EB FE"는 자기 자신으로 JMP하는 opcode로서, CheatEngine으로 수정한 opcode위치로 이동해보면
무한 루프로 JMP하고 있는 것을 확인할 수 있다.