Написал скрипт, только он учитывает один путь, но можно разработать такой скрипт, который будет искать по всем вхождениям, но мне сложновато размышлять как это сделать на python.
Python:
#!/usr/bin/env python3
import r2pipe
import sys
if (len (sys.argv) <= 3):
print ("./script [app_name] [start_address in hex] [end_address in hex]")
exit (0)
name_app = sys.argv[1]
start_offset = int (sys.argv[2], 16)
end_offset = int (sys.argv[3], 16)
r = r2pipe.open (name_app)
r.cmd ('aaaa')
r.cmd ('s ' + str(end_offset))
while True:
func = r.cmd ('afo')
func = func.strip ()
cur_func = func
print ('[' + str(func) + ']')
array = r.cmd ('/r ' + str(func))
func = array.split (' ')
if (int(cur_func, 16) == start_offset):
break
r.cmd ('s ' + str(func[0]))
Комментарии
1