[angr] CSCI-4968-MBE crackme0x00a

2019. 3. 10. 22:38reversing/angr

[CSCI-4968-MBE] crackme0x00a



바이너리를 실행해보면 비밀번호를 입력하라는 문자열이 나왔다.

이 문제는 알맞은 비밀번호를 알아내는 문제인 것 같다.



ida로 바이너리를 열어보면,

strcmp 함수를 기준으로 분기를 볼 수 있다.


아무래도 입력한 값과 어떠한 값을 비교해서

같으면 "Congrats!"를,

틀리면 "Wrong!"을 출력하는 것 같다.




찾아야 할 주소와 피해야 할 주소는 각각

0x804853A ("Congrats!" 출력)

0x804855B ("Wrong!" 출력) 이다.




[code]


1
2
3
4
5
6
7
8
9
10
11
12
13
import angr
import claripy
 
= angr.Project('./crackme0x00a', auto_load_libs = False)
 
find_addr = 0x804853A
avoid_addr = 0x804855B
 
= p.factory.simulation_manager()
s.explore(find = find_addr, avoid = avoid_addr)
 
print('[*] FIND FLAG : ')
print(s.one_found.posix.dumps(0)[0:8])
cs


[flag]


'reversing > angr' 카테고리의 다른 글

[angr] CSCI-4968-MBE crackme0x02  (0) 2019.03.11
[angr] CSCI-4968-MBE crackme0x01  (0) 2019.03.11
[angr] ais3_crackme  (0) 2019.03.06
[angr] baby-re  (0) 2019.03.04
angr 설치  (0) 2019.03.03