URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 92589
[ Назад ]

Исходное сообщение
"Новая версия фреймворка для обратного инжиниринга - radare2 ..."

Отправлено opennews , 12-Ноя-13 00:34 
Вышла (http://rada.re/get/r2-096.html) новая версия radare 0.9.6 (http://rada.re/), открытого фреймворка для реверс-инжиниринга. Фреймфорк написан полностью на языке Си, и доступен как в виде библиотек, так и в виде утилит (r2, rabin2, rasm2,
etc). Большая часть фреймворка распространяется под лицензией LGPL, что позволяет использовать его в коммерческих приложениях.


Среди поддерживаемых архитектур: 8051, x86(16, 32 и 64 бита), arm (включая aarch64), avr, arc (arctangent a4 и arcompact), mips, powerpc, sparc, java, dalvik, bf, rarvm. Radare2 компилируется и работает в GNU/Linux, Windows, OSX, *BSD, Android, Solaris и iOS.
Особенностью фреймворка является его моудльность и расширяемость: поддерживает скриптование на Vala, Python, Perl, Ruby, Go, Guile, Lua, JavaScript, Java. Предоставляется поддержка отладки, в том числе и через протокол gdb. Основной парадигмой дизассемблера является интерактивность.
<center><a href="http://xvilka.me/r2-r2.png"><img src="http://www.opennet.me/opennews/pics_base/0_1384201203.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>

В новой версии:

-  Поддержка цветовых схем и вывода стрелок/рамок символами юникода.
-  Расположение конфигурационных файлов приведено в соответствии со спецификациями XDG.
-  Поддержка платформ AArch64, Texas Instruments C55x+, 8051, ARCompact.
-  Автоматическое распознавание и загрузка исполняемых файлов TE (Terse Executable), образов BIOS/UEFI.
-  Поддержка классов Java 7.
-  Поддержка объявления типов структур и множеств, например
командой 'td':

<font color="#461b7e">
   [0x8048000]> "td struct Foo { int a; int b; };"

</font>


-  Python-биндинги переписаны с использованием ctypes, вместо swig. -  Поддержка биндингов на Java JNI и D.
-  Для упрощения работы в r2 добавлена базовая поддержка команд 'clear', 'ls', 'cat', 'cd', 'pwd'.
-  Все команды могут быть соединены через пайпы '|' как и в обычном POSIX shell.
-  Начат рефакторинг и переход ядра на SDB (простая база данных "ключ-значение") для хранения метаинформации (функции, метки, комментарии и многое другое).


Релиз был подготовлен с активным тестированием и исправлением регрессий (r2-regressions tests). При нахождении ошибок просьба, по возможности, прикреплять результат выполнения такого теста к уведомлению об ошибке вместе с подробным описанием проблемы.

URL: http://rada.re/get/r2-096.html
Новость: http://www.opennet.me/opennews/art.shtml?num=38403


Содержание

Сообщения в этом обсуждении
"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 00:34 
Супер! Совершенно незаменимая штука.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 00:38 
Мегавещь! И на правильных сях.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 00:54 
Огромное спасибо за новость! А ты случаем не писал статей с примерами работ в ней??

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено XVilka , 12-Ноя-13 01:01 
Было дело. Вообще пишу по реверсу BIOS/UEFI, но планирую и пару crackme разобрать с помощью radare2. А вообще вот статьи про использование radare2 для crackme - http://dustri.org/b/tag/radare2.html

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено kai3341 , 12-Ноя-13 03:03 
Ник ваш больно знакомый. Вы не с мотофорума?

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 07:03 
Он много откуда. Какие-то части flashrom тоже вроде на совести xvilka.

"Новая версия фреймворка для обратного инжиниринга -..."
Отправлено arisu , 12-Ноя-13 03:35 
авторы молодцы. долгой жизни и всяческих успехов.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено pavlinux , 12-Ноя-13 03:56 
Ушёл ломать нвидиевый блоб.

"Новая версия фреймворка для обратного инжиниринга -..."
Отправлено arisu , 12-Ноя-13 03:57 
> Ушёл ломать нвидиевый блоб.

сломаешь — за новым не приходи!


"Новая версия фреймворка для обратного инжиниринга -..."
Отправлено Аноним , 12-Ноя-13 04:42 
если он сломает, то новый - и не понадобится ;)

"Новая версия фреймворка для обратного инжиниринга -..."
Отправлено Аноним , 12-Ноя-13 07:02 
> сломаешь — за новым не приходи!

Нене, ему надо два. Чтобы все по правилам: один сломал, второй про@#$л :).


"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 05:27 
Что-то это напоминает. А, IDA, ну конечно же :)

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено pavlinux , 12-Ноя-13 05:36 
SoftICE нашё фсё!!!

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 07:01 
kdb тебе в руки :)

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 06:48 
SoftIce под LGPL? Под линух есть? Если нет, то не считается.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 07:02 
> SoftIce под LGPL? Под линух есть? Если нет, то не считается.

Есть kdb. Нечто подобное по смыслу как раз...


"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено andy , 12-Ноя-13 09:11 
Был linICE вроде. Но не развивается давно.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено fufufuu , 12-Ноя-13 10:23 
он дрова под винду может ковырять?

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено цирроз , 12-Ноя-13 11:06 
второй абзац?

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено annulen , 12-Ноя-13 11:25 
Пытался разобраться, но так и не осилил. Продолжаю дизассемблить ht и objdump -d.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено XVilka , 12-Ноя-13 13:18 
Там довольно просто - 'r2 /directory/file'. Если это формат исполняемого файла - он сам распознает и прыгнет на току входа. Если это просто бинарный файл - надо указывать архитектуру и битность - 'r2 -a arm -b 16 /directory/file' - ARM, в режиме Thumb.
'pd' - дизассемблировать, 'pd 5' - дизассемблировать 5 инструкций, 'pdf' - дизассемблировать функцию, 'pdf @ sym.main' - дизассемблировать функцию 'main'. 'Vp' - переход в визульный режим. 'af+ 0x234234 32 my_function' - добавить функцию 'my_function' по адресу 0x234234 с размером 32. 'Cd 2 @ 0x234400' - пометить 2 байта по адресу 0x234400 как данные. "CCa 0x5723462 my comment" - добавить комментарий 'my comment' по адресу 0x5723462. 'f .my_label @ 0x789433' - добавить локальную (доступно только внутри функций) метку 'my_label' по адресу 0x789433. Для других команд и подробностей их использования есть функция '?' - показывает список команд, их синтаксис и краткое описание.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено annulen , 12-Ноя-13 13:35 
Мне бы что-нибудь с воркфлоу в стиле ht - дизассемблировать весь бинарник, а затем ходить по ссылкам в листинге и править результаты анализа и отставлять свои комментарии. В ht не хватает возможности оставлять свои комментарии и сохранять потом весь листинг. Да и скриптинг не помешал бы (например, я бы тогда автоматизировал разруливание релокейшенов). Еще для ppc ht "режет" границы функций по blrl, хотя обычно это простой вызов функции по указателю внутри функции.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено XVilka , 12-Ноя-13 14:06 
Ну для этого отлично подойдет visual mode (команды 'V'). А скриптинг есть - если собрать radare2, а потом r2-bindings, то в r2 будут доступны скрипты - например '!#lua print("qwe")' или '!#python print("wre")'

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Monah Tuk , 14-Ноя-13 09:24 
HT это HT Editor: http://hte.sourceforge.net/ ?

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено annulen , 15-Ноя-13 17:04 
> HT это HT Editor: http://hte.sourceforge.net/ ?

Да. На мой взгляд, весьма полезная штука.


"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Monah Tuk , 19-Ноя-13 04:14 
>> HT это HT Editor: http://hte.sourceforge.net/ ?
> Да. На мой взгляд, весьма полезная штука.

А можно на пальцах, есть ли там возможность загрузить листринг полученный от objdump для mips, и получить возможность переходов по b и прочим командам (желательна и визуализация переходов), ну и там редактирование. А то очень не хватает такой утилиты.


"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено es , 12-Ноя-13 12:33 
Боже правый, sourcer реинкарнировал.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено XVilka , 12-Ноя-13 13:20 
Sourcer был не интерактивный. А это - интерактивный, за счет чего (в отличие от того же ndisasm, objdump, etc) можно получить вполне читаемый листинг.

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено x0r , 12-Ноя-13 12:42 
отреверсил Inertia Player 16/32bit DOS
http://www.youtube.com/watch?v=ow6NWPmHJK0
https://github.com/xor2003/inertia_player
как проще сконвертить в C?
tasm_recover не осилил пока

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено annulen , 12-Ноя-13 20:57 
> отреверсил Inertia Player 16/32bit DOS
> http://www.youtube.com/watch?v=ow6NWPmHJK0
> https://github.com/xor2003/inertia_player
> как проще сконвертить в C?

Если полностью отреверсил, тебе не составит труда написать код самостоятельно :)


"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено x0r , 13-Ноя-13 16:48 
а как же личная жизнь и здоровье?)

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 12-Ноя-13 12:45 
Ух ты! Теперь Иду можно будет выкинуть?

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено eoranged , 13-Ноя-13 08:14 
Ещё не скоро. Очень не скоро.

Все, кому нужно, разжились IDA Pro. А все остальные или не потянут разработку продукта такого уровня или им вообще не нужен дизассемблер/декомпилятор.


"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено Аноним , 13-Ноя-13 11:29 
Он умеет как IDA опознавать вызываемые системные функции DOS и Windows и отмечать места вызовов комментариями? Если нет, насколько сложно прикрутить такую возможность через скрипты?

"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено XVilka , 13-Ноя-13 13:12 
Пока не умеет. Но это в планах - https://github.com/radare/radare2/issues/26

Скриптами это можно сделать, например для питона получить информацию об инструкции - 'core.cmd_str("pi")'


"Новая версия фреймворка для обратного инжиниринга - radare2 ..."
Отправлено XVilka , 13-Ноя-13 13:13 
Или 'core.op_str(addr)'