게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
Intel Architecture의 Instruction에대한질문입니다
게시물ID : programmer_5073짧은주소 복사하기
작성자 : 플래시메모리
추천 : 0
조회수 : 311회
댓글수 : 4개
등록시간 : 2014/08/21 03:09:31
옵션
  • 본인삭제금지
본삭금은 기본!

안녕하세요. 리버스엔지니어링 관련해서 IDA Pro와 Intel PIN을 사용하여 연구하고있는 초보 대학생입니다.

연구진행을 해보다가 궁금한것이 있는데요,

어떤 executable file을 ,

IDA Pro로 정적 분석했을때의 Instruction set 결과와,

실제로 실행시켰을 때 Intel PIN을 이용하여 instruction set을 본 결과가

조금씩 차이가 있습니다.


예를 들자면, IDA Pro에서는

 address instruction 
 0x0001  aa
0x0002  bb
 0x0003  cc
 0x0004  dd
 0x0005  ee
(단순화시켜서 표현했습니다. 죄송합니다.)

위의 표처럼 출력이 된다고 합시다.



실제로 그 file을 실행시키고 pin으로 instruction과 그 주소값을 찍어봤을때는,

 address instruction 
 0x0001  aa
0x0002  bb
 0xffff  cd`
   
 0x0005  ee

이런식으로 instruction이 조금 다르게 출력되는 부분이 있었습니다.

그리고 그 address값은, 0xffffffff로 출력이 되었고요.


이런식으로, binary file을 실제로 실행시킬때에는 instruction이 조금 변화되어(최적화되어) 실행되기도 하나요?


제가 위 결과를 보고 추측하기로는,

어떤 binary file을 직접 실행시킬때, CPU에서 하드웨어레벨에서 최적화가 발생해 instruction이 변하지 않는가 하는데...

어디까지나 제 추측이고요..ㅠㅠㅠ


왜 이렇게 결과가 다르게 나오는지 알려주실 수 있나요?

또.. IDA Pro에서나 Intel PIN에서나 항상 instruction이 같게  할수 있는 방법이 있을까요?


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호