97, 1/5 회원가입  로그인  
   skyclad1975
   리버싱(어셈블리어) 기초 질문좀 드리겠습니다

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


어셈블리어에서 add 명령어는 기본적으로 sub a, b
라고 씌였다면 a -= b 의 명령을 수행한다고 알고 있습니다.
즉, a에서 b를 빼서 왼쪽 인자에 넣는다고 말이죠.

그런데 칼리리눅스 터미널에서 gdb로 디버깅을 해 보는 도중 보니
sub    $0x20,%rsp
이런 부분이 나오더라구요

주소값의 길이가 저렇게 작을 리도 없는데 0x20 이라는 주소에 값을 넣을 수 있는 건가요?

  Hit : 4063     Date : 2014/12/10 09:08



    
cd80 sub a, b 가 a-=b가 되는건 intel 문법에서고
글에 있는 문법은 at&t문법입니다
gdb에서 set disassembly-flavor intel 치시면 sub rsp, 0x20 으로 나오실거에요
at&t에선 sub a, b면 b -= a 입니다
2014/12/11  
skyclad1975 아하... 문법이 다르다는걸 깜빡하고 있었네요
감사합니다!
2014/12/11