티스토리 뷰





Reversing.kr의 문제 Easy ELF입니다.


리눅스 환경에서 문제 파일을 실행시켜보면..






입력하는 칸이 나와서 아무 숫자나 입력했는데 실패 문자열이 출력되네요.


문제 파일을 IDA로 분석해보겠습니다.






문자열을 출력하고 두 함수를 거친 뒤 eax의 값이 1이면 80484F7 함수를 호출한 뒤 프로그램이 종료됩니다.


그런데 만약 eax의 값이 1이 아니라면 실패 문자열이 출력되고 종료됩니다.


80484F7 함수를 확인해보겠습니다.






성공 문자열을 출력하는 함수네요.


그렇다면 위 두 함수를 지난 뒤 eax가 1이 되는 값을 구하면 되겠군요.


먼저 8048434 함수를 보겠습니다.






scanf 함수를 호출해서 804A020부터 문자를 저장시킨다는 것 같습니다.


이제 8048451 함수를 보겠습니다.







코드의 내용을 해석해보면 1번째 문자가 804A020이므로


1번째 문자는 0x34와 0x78를 xor 연산한 결과


2번째 문자는 0x31


3번째 문자는 0x32와 0x7c를 xor 연산한 결과


4번째 문자는 0x88와 0xdd를 xor 연산한 결과


5번째 문자는 0x58입니다.


위 연산을 진행해서 나온 문자열을 프로그램에 입력해보겠습니다.








'Reversing > Reversing.kr' 카테고리의 다른 글

[Reversing.kr] 2017-12-27 진행 현황  (0) 2017.12.27
[Reversing.kr] Flash Encrypt 풀이  (0) 2017.12.25
[Reversing.kr] ImagePrc 풀이  (3) 2017.12.18
[Reversing.kr] Replace 풀이  (3) 2017.12.18
[Reversing.kr] Music Player 풀이  (2) 2017.12.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함