• Твой профиль заполнен на 0%. Заполни за 1 минуту, чтобы тебя нашли единомышленники и работодатели. Заполнить →

Проблема Как в radare2 найти путь от функции к функции?

xverizex

Green Team
29.12.2022
28
16
Не могу найти в документации информацию о такой возможности, но может знает кто-нибудь из вас. Возможно придется скрипт написать, но тем не менее, например я нахожусь в такой-то функции, 0x000001 и хочу узнать через какие функции можно дойти до функции 0x00010000. Это интересная задачка, думаю здесь надо от конца искать. Пока жду вашей помощи, попробую на python сделать скрипт и выложу его сюда, правда я в python не профи.
 
Написал скрипт, только он учитывает один путь, но можно разработать такой скрипт, который будет искать по всем вхождениям, но мне сложновато размышлять как это сделать на 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]))
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab