Setup

Dwarf vs your first target

Pre requisites

  • A frida server running anywhere
  • Python (preferred 3) running on the local machine

Android target specific

  • make sure ‘adb’ is in path or read here
  • root on the device/emulator is required
  • make sure frida is in /system/bin|xbin with a+x permissions or eventually use Dwarf to automatically install latest frida server

Setup and run

git clone https://github.com/iGio90/Dwarf

cd Dwarf

pip3 install -r requirements.txt

python3 dwarf.py

Optionally

You can install it through:

sudo python3 setup.py install

this will eventually make things faster, allowing you to do something like:

dwarf /bin/man open
dwarf -t android -s myagent.js -sp com.target

but on the other side, update features is disabled as it rely on github and commits on the project directory. Until a better solution is provided, it will be then up to you to update the project and install it once again.

Once installed, dwarf-creator becomes available globally. Checkout how to use it here.

Settings

You can change in .dwarf

"dwarf_ui_hexedit_bpl": 32 (default: 16) - Bytes per line in hexview
"dwarf_ui_hexstyle": "upper", "lower" (default: "upper") - overall hexstyle 0xabcdef or 0xABCDEF (note: click on the "Offset (X)" in hexview to change)
"dwarf_ui_font_size": 12 (default: 12) - (note: hexview/disasm use other font wait for settingsdlg or change lib/utils.py get_os_monospace_font())