-
-
[求助][求助]关于IDA调试ARM代码的一些疑惑
-
发表于:
2016-10-25 13:06
7134
-
[求助][求助]关于IDA调试ARM代码的一些疑惑
刚开始学习Android,开始用IDA调试手机里面的ELF文件,对ARM指令不熟悉,IDA里面遇到一些奇怪的指令完全不知道是什么情况,百度查ARM指令也没有讲解的
IT CC 这种还好,只要单步一下就大概能猜出是什么意思,但是下面指令就非常费解了:
server:40028192 5A F8 25 20 LDR.W R2, [R10,R5,LSL#2] ; val2 = r10[r5]; // r10 是 uint*
server:40028196 06 A8 ADD R0, SP, #0x18 ; dwsave[2] = BEA5EB18
server:40028198 39 46 MOV R1, R7 ; val1
server:4002819A 02 93 STR R3, [SP,#8]
server:4002819C CD F8 04 C0 STR.W R12, [SP,#4]
server:400281A0 FF F7 48 FE BL Clac2val
server:400281A4 DD F8 04 C0 LDR.W R12, [SP,#4]
server:400281A8 06 99 LDR R1, [SP,#24] ; r1 = dwsave[0];
server:400281AA 5C F8 25 30 LDR.W R3, [R12,R5,LSL#2] ; r3 = r12[r5]; // r12 是 uint*
server:400281AE F0 18 ADDS R0, R6, R3 ; r0 = r6+r3;
server:400281B0 00 EB 01 06 ADD.W R6, R0, R1 ; r6 = r6+r3+r1;
server:400281B4 34 BF ITE CC
最后一个ITE CC 百度上可以找到IT指令的零散解析,但是对于ITE 就很少解析,后面再跟个CC就完全找不到了
请问下,这个指令是IDA显示的指令,不是ARM标准显示?如果是标准为何都没有讲解
最最重要的问题是,如果有不懂的指令应该哪里查呢?Intel有Intel卷二可以查,arm有对应的什么手册没有呢?谢谢大牛指点!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!