howmuch515 icon

angr_sample.py

howmuch515 | PRO | 10/23/18 12:20:56 AM UTC | 0 ⭐ | 256 👁️ | Never ⏰ | []
Python |

700 B

|

None

|

0 👍

/

0 👎

# solve.py
import angr
 
p = angr.Project('./test', load_options={'auto_load_libs': False})
 
addr_main = p.loader.main_bin.get_symbol('main').addr
addr_succeeded = p.loader.main_bin.get_symbol('succeeded').addr
addr_failed = p.loader.main_bin.get_symbol('failed').addr
print "main = %x" % addr_main
print "succeeded = %x" % addr_succeeded
print "failed = %x" % addr_failed
 
initial_state = p.factory.blank_state(addr=addr_main)
initial_path = p.factory.path(initial_state)
pg = p.factory.path_group(initial_path)
e = pg.explore(find=(addr_succeeded,), avoid=(addr_failed,))
 
if len(e.found) > 0:
    print 'Dump stdin at succeeded():'
    s = e.found[0].state
    print "%r" % s.posix.dumps(0)

Comments