22019, 1/1101 회원가입  로그인  
   백트랙
   Rop공부중 궁굼한게...

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


http://www.a3sc.co.kr/newsletter/022011/alert.html

이 문서를 보면서 거의 따라하기 수준으로 하고있는데요
pop ecx ; pop ebx ; leave ;; = 0x8048624
이 부분이 있는데 왜 하필 ecx에 저장을 해주나요?
그리고 0x8048624 이부분을 확인 해보면
pop %ecx
이렇게 되있는데 pop ebx는 어디잇나확인해보면
x/i 0x80484b4  이렇게 보니 pop %ebx 부분인데
왜 이렇게 되는건가요??

그리고 exploit에있는 0x8048574 이부분은 어떤걸 말해주는건가요??

말솜씨가 부족해서 두서없이 질문한거같네요...ㅜ

  Hit : 9877     Date : 2012/08/24 10:14



    
cd80 pop ecx ; pop ebx ; leave ;; = 0x8048624
이 세 인스트럭션은 모두 단일바이트 명령입니다
pop ecx = 0x59
pop ebx = 0x5b
leave = 0xc9

때문에 시작점인 0x8048624에서 1을 더한 0x8048625엔 pop ebx가 들어가있고
0x8048625에서 1을 더한 0x8048626엔 leave가 들어가있습니다

또 0x8048574 는 objdump -d ./프로그램명 | grep ret 해보시면 아시겠지만
많은 ret들중 하나를그냥

bhus10 return oriented programming 으로 검색해서 나오는 문서에 있는 vuln 프로그램에서
ret 들을 찾은 결과입니다
5번째에 0x8048574가 있습니다

[cd80@localhost ropeme-bhus10]$ objdump -d ./vuln | grep ret
8048387: c3 ret
80484b5: c3 ret
80484e3: c3 ret
8048560: c3 ret
8048574: c3 ret
80485d9: c3 ret
80485dd: c3 ret
804860a: c3 ret
8048627: c3 ret
[cd80@localhost ropeme-bhus10]$
2012/08/25