1、andriod elf文件识别:
实际上.so 文件就是 elf 文件格式;
IDA识别显示:“ELF for ARM (Shared object)[elf.ldw]”
2、函数调用时,前四个参数放在IDA的r0\r1\r2\r3,其余参数的放在stack区 中;
例如:sprintf(dest_describe_value, "%03d %02X %c%c%c ", v48, v50, v160, v161, v162);
参数:
r0:0xDDF33AC8 指向 dest_describe_value
r1:0xDDDDBE7E 指向 "%03d %02X %c%c%c "
r2:0x00000057 是v48
r3:0x00000056 是 v50
r4:0xDDF340AC 指向堆栈
堆栈中依次是 v160, v161, v162
3、浮点数的计算:保存在R0 (0xABCD)和 R1(0xEFGH) 两个寄存器中;
再内存中的存储为 R0 R1,所以值为0xEFGHABCD.