본문 바로가기
CTF./Angr Tutorial For CTF

01_angr_avoid #Angr Tutorial For CTF

by 낭람._. 2022. 8. 20.
반응형

흠.. 크기가 너무 커서 Hex-Ray가 작동하지 않는다.

 

이번 문제도 패스워드를 입력하면 complex_function에서 연산하고,

avoid_me를 피한채로 maybe_good으로 들어가면 된다.

 

 

Fucnction 들

avoid_me 에 들어가면 should_succeed가 0이 되므로 피해야 한다.

 

import angr

def main():
    proj = angr.Project('./01_angr_avoid')
    init_state = proj.factory.entry_state()
    simulation = proj.factory.simgr(init_state)
    
    print_good = 0x80485E5
    avoid_addr = 0x80485A8

    simulation.explore(find=print_good, avoid=avoid_addr)

    if simulation.found:
        solution = simulation.found[0]
        print('flag: ', solution.posix.dumps(0))
    else:
        print('no solution')

if __name__ == '__main__':
    main()

 

avoid_addr을 추가하야 explore에 넣어준다.

 

 

반응형

댓글