Как заставить radare2 принимать шестнадцатеричный ввод
В настоящее время я отлаживаю C-программу в radare2 под названием "test", и мне было интересно, есть ли способ отправить шестнадцатеричные символы в качестве ввода через radare2. Под этим я подразумеваю, что когда вы запускаете что-то вне radare2, вы можете легко сделать что-то вроде этого, чтобы отправить шестнадцатеричные значения в качестве входных данных в исполняемый файл:
$ python -c "print('\x42\x97\x53\x8e\x46\x56')" | ./test
Но когда я открыл файл в режиме отладки в radare2 и попытался ввести шестнадцатеричные значения в мою программу, он не рассматривал символы, начинающиеся с "\x", как шестнадцатеричные символы, а вместо этого рассматривал каждый символ как фактический входной символ ascii. Могу ли я повторить вышеупомянутую команду внутри radare2?
0 ответов
ОКРУЖАЮЩАЯ СРЕДА:
- radare2: radare2 4.2.0-git 23519 @ linux-x86-64 git.4.1.1-84-g0c46c3e1e коммит: 0c46c3e1e30bb272a5a05fc367d874af32b41fe4 сборка: 2020-01-08__09:49:06
- система: Ubuntu 18.04.3 LTS
РЕШЕНИЕ:
- Чтобы воссоздать описанную функциональность в radare2, мы можем использовать две команды radare2 и добавить дополнительные escape-символы в вашу строку ввода.
- Команда первая: doo [args] # Повторно открыть двоичный файл в режиме отладки с предоставленными аргументами.
- Вторая команда: dC# Продолжить выполнение
- Дополнительные escape-символы на входе: "\x54\x65\x73\x74" -> "\\x54\\x65\\x73\\x74"
ПРИМЕР:
- Передача шестнадцатеричных значений в /bin/echo:
user@host:~$ echo -e "\x54\x65\x73\x74"
Test
- Пробуем то же самое в radare2:
user@host:~$ r2 /bin/echo
[0x00001d10]> doo -e "\x54\x65\x73\x74"
Process with PID 13820 started...
= attach 13820 13820
File dbg:///bin/echo -e "\x54\x65\x73\x74" reopened in read-write mode
13820
[0x7ff1924ee090]> dc
x54x65x73x74
[0x7ff1924ee090]>
- Снова с radare2, но с дополнительными спасательными картами ("\x54" -> "\\x54"):
user@host:~$ r2 /bin/echo
[0x00001d10]> doo -e "\\x54\\x65\\x73\\x74"
Process with PID 17265 started...
= attach 17265 17265
File dbg:///bin/echo -e "\\x54\\x65\\x73\\x74" reopened in read-write mode
17265
[0x7fb080026090]> dc
Test
[0x7fb07fd18e06]>