본문 바로가기
코스웨어/13년 스마트컨트롤러

0923 어셈블리 과제 _이수현

by 알 수 없는 사용자 2013. 9. 23.
728x90
반응형

windbg를 이용하여 실제 레지스터 값과 메모리에 저장한 값 비교

- 피호출함수 LINUX에서 호출함수 SMART의 변수값 변경

- 변수는 전역변수이며 하나의 구조체로 생각한다

- 레지스터 값을 알아본다

- 변수의 순서는 레지스터의 저장 순서에 맞춘다



<smart.asm>



<linux.asm>




<실행화면>


주의

- 메모리값은 Little Endian

- 메모리에 저장한 값의 순서에 맞춰서 비교

- EFL 의 상태가 변화함 (초기 EFL값에 디버그 관련 상태비트 TF를 강제적으로 삭제하여 초기값 적용)

- EAX 는 무시

- ESP 의 마지막 +4 전 상태







<linux1.asm>

- PUSHAD를 활용



<실행화면>




728x90