시스템 해킹

 1576, 1/79 회원가입  로그인  
   rlagudwns14
   http://www.cyworld.com/bowo
   간단한 어셈블리코드인데.. 좀 도와주세요~

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1468 [복사]


안녕하세요? 질문하나만 드려도 될런지요???

0x0000000000400586 <+98>:        mov    $0x4006b4,%eax
   0x000000000040058b <+103>:        mov    RESULT2(%rbp),%edx
   0x000000000040058e <+106>:        mov    %edx,%esi
   0x0000000000400590 <+108>:        mov    %rax,%rdi
   0x0000000000400593 <+111>:        mov    $0x0,%eax
   0x0000000000400598 <+116>:        callq  0x400418 <printf@plt>

실행파일의 어셈코드 일부분입니다.
RESULT2 는 제가 그냥 바꾼거구요...
제가 xshell 을 사용해서 학교 서버를 사용해서 공부하고있습니다..

제가 알기로는 저게
0x400586 <+98>:        push    $0x4006b4,%eax
   0x40058b <main+103>:mov    RESULT2(%ebp),%edx
   0x40058e <main+106>:mov    %edx,%esi
   0x400590 <main+108>:mov    %rax,%rdi
   0x400593 <main+111>:mov    $0x0,%eax
   0x400598 <main+116>:call  0x400418 <printf>

뭐 암튼 이런식으로 되야 하는거 아닌가요 ??;; 프린트에프안에 문자열이

스택에 먼저 push 되는 부분도 mov 로 되있고 rax 랑 rdi 이런것두.. eax edi 로 보고 해서 그냥 대충대충

씨코드로 뽑아내지긴 하는데 eax 도 rax 랑 또 따로 있고 헷갈리네요 ㅡㅡ;;;;;

버전때문에 이런가요?? intel문법으로 바꿔도 별;;;.. 변수할당부분도 -0x042 뭐이런식으로

앞에 음수부호 붙어있고 ;;; 왜이런가요....설정이 잘못됐나요;; 버전때문에 이런건가요 ;;

답변좀 부탁드릴게요~~ 굿밤 되세용

  Hit : 5527     Date : 2011/01/14 09:02



    
sjh21a eax == 32bit register
rax == 64bit register
나머진..질문을 좀 더 정리해서 올려주시면 답변 해 드릴까요
변수 할당 부분에 대해서 질문 하셨지만..해당 코드엔 나와 있질 않아서 ㅋㅋㅋ
2011/01/14  
rlagudwns14 감사합니당 ㅋㅋ 제가 정리해서 쪽지로 보낼꼐요 ㅜ ㅜㅋㅋ 2011/01/15  
dkflvkdnj 간단하신건가요? 2011/01/22