이제는 EIP 레지스터에서 기계 명령어 '주소가 있습니다. 이 머신 명령어는 메모리의 특정 영역의 값을 변경할 수 있습니다.하지만이 메모리의 주소를 가져올 수는 없습니다.하나의 기계 명령어가 쓰는 주소를 얻는 방법?
물론 컴퓨터 명령어 'address '에서 데이터를 읽을 수는 있지만 내용은 다음과 같은 기계 명령어입니다 : 0x8b0c4d8b ...... 읽을 수 없습니다 (gdb와 같은 디버깅 도구를 사용할 수 없음).
한 기계 명령어가 쓸 주소를 얻는 방법은 무엇입니까? 당신의 머신 코드 EIP 점을 알고 당신은 단지 그것을 분해 같은 것을 할하려면
디버거 사용 - 해당 명령어의 주소에 중단 점을 설정 한 다음 중단 점에 도달 할 때 EIP를 검사합니다. –
하지만 EIP가 수업의 주소입니다. 맞습니까? 나는 아직도이 지시가 쓸 주소를 얻을 수 없다. – zsounder
@PaulR misspoke라고 생각합니다. 그럼에도 불구하고 디스어셈블러 (또는 하나가 내장 된 도구)를 사용하거나 x86 opcode를 분해하는 방법을 알고있는 도구를 직접 작성해야합니다. – geekosaur