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

안녕하세요. 리버스엔지니어링 관련해서 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버전
맨위로▲
공지 운영 자료창고 청소년보호