I use current_state.concrete.sync() to sync data from gdb target. But the library of the target didn't sync.
How can I load external library and sync the library memory to angr project?
I tried:
project = angr.Project("/squashfs-root/usr/sbin/httpd")
project.loader.dynamic_load("/squashfs-root/usr/lib/libnvram.so")
# it works
# [<ELF Object libnvram.so, maps [0x1500000:0x1522fdf]>,
# <ExternObject Object cle##externs, maps [0x1600000:0x16000e7]>]
It works!
But when I use simstate to step
succ_path = current_path.copy().step()
_succ_path_active_states = succ_path.active
succ_path.active is empty, and succ_path.errored:
SimEngineError
State errored with "No bytes in memory for block starting at 0xf7f03ae4."