2012-12-13 1 views
1

실행중인 프로세스에 삽입하기 위해 어셈블 할 어셈블리 코드가 있지만 항상 메모리의 같은 위치에 있지는 않습니다. 그러나 변경되지 않는 프로그램 내의 주소에 대한 참조를 포함합니다. jmp farcall far을 사용해 보았지만 "FAR에서 참조한 값은 재배치가 불가능합니다"라는 오류 메시지가 나타납니다. 바이너리 코드에서 절대 주소를 사용하도록 설정하면 코드가 메모리에있는 위치와 관계없이 올바른 주소로 이동하여 호출합니다.절대 주소가 필요한 비 정적 위치에 대한 어셈블리 코드 작성 (절대 주소 필요)

답변

3

방법에 대해 :

  mov reg, <fixed_address> 
     call [reg] 
+0

감사합니다. 누군가 다른 사람이 똑같이 말했습니다. 수락 됨. – flarn2006

0

"어떻게 내가 바이너리 코드에서 절대 주소를 사용하도록 설정" 구성 명령 자신을 : 멀리 점프 또는 근처에 E9 + 4 EA + 6 바이트. 또는 : 셸을 설정할 때

call 11111111h 
m1: 
---- 
mov [m1 - 4], eax