[angr] CSCI-4968-MBE crackme0x01

2019. 3. 11. 15:25reversing/angr

[CSCI-4968-MBEcrackme0x01



바이너리를 실행해보면 비밀번호를 입력하라고 한다.

이번에도 알맞은 비밀번호를 알아내야 하는 것 같다.



ida로 바이너리를 열어보면

cmp를 기준으로 분기를 볼 수 있다.


cmp [ebp+var_4], (비교 문자) 로,

알맞은 비밀번호를 입력하면 "Password OK :)"를 출력한다.





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


0x8048449 ("Password OK :)" 출력)

0x804843B ("Invalid Password!" 출력) 이다.




[code]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import angr
 
find_addr = 0x8048449
avoid_addr = 0x804843B
 
= angr.Project('./crackme0x01', auto_load_libs = False)
 
state = p.factory.entry_state()
 
= p.factory.simulation_manager(state)
 
s.explore(find = find_addr, avoid = avoid_addr)
 
print('[*] find flag: ')
print(s.one_found.posix.dumps(0)[6:10])
cs


[flag]


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

[angr] CSCI-4968-MBE crackme0x03  (0) 2019.03.11
[angr] CSCI-4968-MBE crackme0x02  (0) 2019.03.11
[angr] CSCI-4968-MBE crackme0x00a  (1) 2019.03.10
[angr] ais3_crackme  (0) 2019.03.06
[angr] baby-re  (0) 2019.03.04