728x90
반응형
------- windbg 로 프로그램 관찰
- string 변수에 1234567890을 입력합니다.
- string 에 1234567890 이 아스키코드로 입력됐음을 확인할 수 있습니다.
- 1234567890 이라는 10진수를 16진수로 바꾸면 49 96 02 D2 입니다.
- 다음 코드로 진행하면 number1에 eax에 저장된 49 96 02 D2 를 저장합니다.
- Register는 Big Endian이고, Memory는 Little Endian이라서
Memory에 거꾸로 저장된 것을 볼 수 있습니다.
- 위와 같은 과정을 거쳐 number2 에 255 를 입력하면
메모리에 아래와 같이 16진수로 FF 가 입력된 것을 볼 수 있습니다.
- 다음으로 진행해서 add eax, number2 명령을 EIP Reg를 통해 주소를 찾아가
기계 코드로 쓰여진 것을 확인할 수 있습니다.
03 05 04 40 40 00 이라고 입력되어 있는데요.
- Appendix D 목록을 보면 add 명령의 정보를 볼 수 있습니다.
Opcode 가 03 으로, add 명령의 기계코드가 03 이란 것을 알 수 있습니다.
그런데 기계코드가 03 05 로 뒤에 05 가 더 붙었습니다.
16 bit와 32 bit 를 분별하기 위해서 더 붙는다고 합니다.
디버깅으로 이렇게 관찰할 수 있습니다.
계속해서 PDF 파일을 봅니다.
728x90
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
(복사가능)Introduction to 80x86 Assembly Language and Computer Architecture.pdf (1) | 2014.07.29 |
---|---|
07.28 - 업무일지 [20. 이경진] (11) | 2014.07.28 |
2014.07.25 업무일지 (출석번호 18번 오영주) (15) | 2014.07.28 |
2014.07.24 교육보고 17번 오두환. (12) | 2014.07.24 |
업무일지 손병규-20140722 (15) | 2014.07.22 |
20140721일일보고서 서상우 (16) | 2014.07.21 |
20140718 일일보고서 박영주 (15) | 2014.07.21 |
20140717일일보고서 문대영 (12) | 2014.07.17 |