Просмотр полной версии : Как в radare2 найти путь от функции к функции?
xverizex
09.01.2025, 03:42
Не могу найти в документации информацию о такой возможности, но может знает кто-нибудь из вас. Возможно придется скрипт написать, но тем не менее, например я нахожусь в такой-то функции, 0x000001 и хочу узнать через какие функции можно дойти до функции 0x00010000. Это интересная задачка, думаю здесь надо от конца искать. Пока жду вашей помощи, попробую на python сделать скрипт и выложу его сюда, правда я в python не профи.
xverizex
09.01.2025, 05:02
Написал скрипт, только он учитывает один путь, но можно разработать такой скрипт, который будет искать по всем вхождениям, но мне сложновато размышлять как это сделать на 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
]
)
)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot