[angr] CSCI-4968-MBE crackme0x02
2019. 3. 11. 16:48ㆍreversing/angr
[CSCI-4968-MBE] crackme0x02
0x00a, 0x01 문제와 같이
알맞은 패스워드를 알아내야하는 문제이다.
cmp를 기준으로 분기를 볼 수 있고,
입력값과 [ebp+var_C]와 비교해서
결과가 0이면(같으면) "Password OK :)"를
0이 아니면(틀리면) "Invalid Password!" 를 출력한다.
찾아야할 주소와 피해야 할 주소는 각각
0x804845A ("Password OK :)" 출력),
0x8048468 ("Invalid Password!" 출력) 이다.
[code]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import angr p = angr.Project('./crackme0x02', auto_load_libs = False) find_addr = 0x804845A avoid_addr = 0x8048468 state = p.factory.entry_state() s = p.factory.simulation_manager(state) s.one_active.options.add(angr.options.LAZY_SOLVES) s.explore(find = find_addr, avoid = avoid_addr) print('[*] FIND FLAG : ') print(s.one_found.posix.dumps(0)[4:10]) | cs |
[flag]
'reversing > angr' 카테고리의 다른 글
[angr] CSCI-4968-MBE crackme0x03 (0) | 2019.03.11 |
---|---|
[angr] CSCI-4968-MBE crackme0x01 (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 |