The Official Radare2 Book | страница 9



   • -Dblob=true: it tells meson to compile just one binary with all the needed code for running radare2, rabin2, rasm2, etc. and creates symbolic links to those names. This avoids creating many statically compiled large binaries and just create one that provides all features. You will still have rabin2, rasm2, rax2, etc. but they are just symlinks to radare2.

   • --cross-file ./meson-android.ini: it describes how to compile radare2 for Android

Then compile and install the project:

$ ninja -C build

$ ninja -C build install

At this point you can copy the generated files in /tmp/android-dir to your Android device and running radare2 from it. For example:

$ cd /tmp && tar -cvf radare2-android.tar.gz android-dir

$ adb push radare2-android.tar.gz /data/local/tmp

$ adb shell

DEVICE:/ $ cd /data/local/tmp

DEVICE:/data/local/tmp $ tar xvf radare2-android.tar.gz

DEVICE:/data/local/tmp $ ./android-dir/bin/radare2

Usage: r2 [-ACdfLMnNqStuvwzX] [-P patch] [-p prj] [-a arch] [-b bits] [-i file]

[-s addr] [-B baddr] [-m maddr] [-c cmd] [-e k=v] file|pid|-|--|=

Radare2 has seen many different user interfaces being developed over the years.

Maintaining a GUI is far from the scope of developing the core machinery of a reverse engineering toolkit: it is preferred to have a separate project and community, allowing both projects to collaborate and to improve together - rather than forcing cli developers to think in gui problems and having to jump back and forth between the graphic aspect and the low level logic of the implementations.

In the past, there have been at least 5 different native user interfaces (ragui, r2gui, gradare, r2net, bokken) but none of them got enough maintenance power to take off and they all died.

In addition, r2 has an embedded webserver and ships some basic user interfaces written in html/js. You can start them like this:

$ r2 -c=H /bin/ls

After 3 years of private development, Hugo Teso; the author of Bokken (python-gtk gui of r2) released to the public another frontend of r2, this time written in c++ and qt, which has been very welcomed by the community.

This GUI was named Iaito, but as long as he prefered not to keep maintaining it, Xarkes decided to fork it under the name of Cutter (name voted by the community), and lead the project. This is how it looks:

   • https://github.com/radareorg/cutter.