반응형

Anti-Disassembly 로 많이 사용되는 EB FF 코드에 대해 간단히 살펴보자.

 

EB는 1바이트(-128 ~ +127) 이내 거리로 이동하는 Jump Short 명령이다.

위 그림에서 0x0040123F EB 03은 다음 명령어 주소(0x00401241)를 기준으로 03바이트 이동한 0x00401244로 이동한다.

 

EB 03을 EB FF로 바꿔보자.

FF는 -1을 의미하기 때문에 다음 명령어 주소 0x00401241에서 -1만큼 이동한 0x00401240으로 이동하라는 뜻이다. 그래서 화살표가 다른 곳을 가리키지 않고 명령어 자신을 가리키고 있다. (잘린것 처럼 보인다)

 

엔터키를 눌러 Jump 명령을 실행해 보면 EB FF 명령 중간인 FF의 위치, 0x00401240으로 이동한다.

 

※ 참고

ANTI-DISASSEMBLY TECHNIQUES

Assembly “wrapping”: a technique for anti-disassembly

 

반응형
Posted by J-sean
: