게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
어셈블리어 %al 관련 질문입니다.
게시물ID : programmer_14427짧은주소 복사하기
작성자 : tcawc
추천 : 0
조회수 : 545회
댓글수 : 3개
등록시간 : 2015/11/15 03:07:06
옵션
  • 본인삭제금지
5시간 정도 바이너리를 디스어셈블해서 분석하는 작업을 하고 있는데.. 나머지는 다 해결이 되었는데 %al 이게 문제라서 질문 드립니다.

바이너리 prologue부터 %al 레지스터에 mov나 leal같이 건드리는 명령은 없습니다.

입력받은 input과 %al에 있는 값을 cmp해서 je(jump if equal) 컨디션을 만족해야하는 문제인데.. (cmp  -0xc(%ebp), %al )

문제는 %al 값이 void라고 뜬다는 점입니다 -,.-

아무것도 건든게 없으니 void가 뜨는 건 당연하지만.. %s로 입력받은 문자열과 %al의 값을 비교해야되는데 %al 이 void라니 참 난감합니다.

x/s $al , x/d $al 등등을 해봐도 "Value can't be converted to integer" 라고 뜨니 이건 뭐..

input으로 "" , '\000' , 0 등을 넣어봐도 cmp 결과값이 다르다고 나옵니다. 

이 문제에 대한 해결방법을 알고계신분은 댓글로 남겨주시면 감사하겠습니다!
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호