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
