Code Injection
: 상대방 프로세스에 독립 실행 코드를 삽입한 후 실행하는 기법. CreateRemoteThread() API 이용해 원격 쓰레드 형태로 실행.
DLL Injection 과 다르게 흔적을 찾기 어렵고, 메모리를 적게 차지한다.
Code Injection 시 고려해야 하는 사항은,
Release 모드 빌드 - Debug 모드로 빌드를 하게 되면 코드 중간에 디버깅을 위한 코드가 삽입되어 정확한 크기 알 수 없다.
최적화 옵션 /0d - 최적화 옵션을 해체하여 컴파일러에 의해 소스코드가 최적화 되는 것을 막는다.
DEP 해체 - 실행 코드가 정상적으로 동작하지 않음..
'reversing' 카테고리의 다른 글
pintool (0) | 2018.06.06 |
---|---|
angr (0) | 2017.02.18 |
gdb child process debugging (1) | 2016.11.04 |
IDA remote gdb debugging with gdbserver (0) | 2016.04.10 |
예외 처리를 이용한 Anti-Debugging (0) | 2016.03.12 |