Yesterday I was playing a bit with ARM trying to reverse engineering
a program with mixed arm16 and arm32 code (something that IDA doesn't
handles correctly).

And after some time spend I got the conclussion that the best thing I
can do is to import the GNU libopcodes arm-dis.c into radare. So, I
get the one found in qemu-arm-eabi (which is the latest development
version for the nokia internet tablets).

After a night of hacking I have finally publish the commit adding
the gnu disassembler for arm with 16 and 32 bit modes with proper
endian handling.

Use 'eval asm.arch = arm16' to set the thumb mode for arm.

The only missing piece is the code analysis module for 16 bits.

BTW. I have updated the vala to 0.1.7 and you'll need this version
to properly build the latest code in the repository.

The commit says:

Mon, 03 Mar 2008 16:30:06 +0100
* Initial import of the qemu-eabi-arm libopcodes based disassembler
  - Fixes the current buggy arm disassembler
  - Support for endian in thumb and normal mode
* Add support for asm.arch = arm16 (THUMB MODE)
  - No thumb code analysis yet
* Enhacements for the gdbx plugin
  - Supports setting breakpoints, step and running
  - read memory supported
  - .!regs* is too slow atm
* Fix 'pf' command (print floating point numbers)
* Fix menu.popup() call for vala 0.1.7 (REQUIRED TO BUILD)

Have fun!

  --pancake
_______________________________________________
radare mailing list
[email protected]
https://lists.nopcode.org/mailman/listinfo/radare

Reply via email to