PDA

View Full Version : ARM disassembly



Leon
04-09-2003, 01:37 PM
Hi ppl !

I have a problem by editing the mnemonic in IDA Pro.
I disassembled a .app file taken from a .sis file in 16 Bit Code and got this :

1001A848 BEQ loc_1001A85C
1001A84A B loc_1001AD68

Now I wanna change BEQ into B with same traget-adress.
Okay, letz have a look in hex-editor from IDA :

08 D0 8D E2

08 D0 means BEQ loc_1001A85C
8D E2 means B loc_1001AD68

I got a opcode-listing for 32 Bit ARM from +phantasm:

Command Hex Example
BEQ xxxxxx0A branch if zero (Z)

But the code Iīm editing is in 16 Bit I will need a opcode-listing for 16 Bit.
I got such a listing, but unfortunately without HEX instructions. Do you know where I could got such a listing with HEX instructions ?

And another problem I have is that when I close IDA Pro and open a hexeditor like WinHex and browse to offset 0001A848 I donīt find 08 D0 8D E2 at this point like seen in IDA Pro before, but found it somewhere higher in the text.

Is there anybody who could help me, please ?

Regards

Leon

wumpus
04-09-2003, 05:04 PM
Get the original ARM7tdmi data sheet (google), it lists all the instructions and their bit patterns..

The reason that the offset in the HEX editor and IDA are different is because the file might contain a header (or is loaded at another offset than 0), IDA skips this but the editor doesn't.

Real time instruction patching in IDA would be such a great thing...

Leon
05-09-2003, 12:35 PM
Thank you very much !
Thatīs exactly that what I was looking for.

Best Regards

Leon