posted by 초식사자 2010.12.21 05:09


DLL 등을 리버싱하다보면 함수가 5개의 NOP 코드와 함께 MOV EDI,EDI로 시작되는데, 이 코드는 핫패칭을 위해 존재하는 코드이다.

핫 패칭은 필요한 코드를 시스템 재부팅 없이 즉각 메모리에 적용할 수 있는 기술로써,
mov EDI,EDI에 앞의 5바이트 NOP 코드를 가리키도록 short JMP 명령을 패치하고, 5바이트 NOP 코드에 실제 long jmp 명령을 넣을 수 있게 MS에서 추가로 삽입한 코드이다.
※5바이트만 있으면 32비트 메모리 주소의 어디든지 jmp가 가능하다.

이렇게 핫 패칭을 사용하게되면, jmp 코드가 실제 코드를 덮어쓸 염려 없이 안전하게 후킹이 가능하다.

'악성코드 분석 > 리버싱 팁' 카테고리의 다른 글

mov EDI,EDI (Hot Patching)  (0) 2010.12.21
PE 구조  (0) 2010.12.09
어셈블리 코드 해석  (0) 2010.12.01

댓글을 달아 주세요