PUSH {R0,R1,R4,LR} .text:000250A6 LDR R3, [R0] 加载内存到寄存器中 LDR 目的寄存器,《存储器地址》带中括号的是取内容 .text:000250A8 ADD R1, SP, #0x10+var_C 加法指令 R1 = SP + #0x10+var_C .text:000250AA LDR R2, =0x10006 加载内存到寄存器中 R2 <- 0x10006 .text:000250AC LDR R3, [R3,#0x18] 加载内存到寄存器中 R3 <- [R3+0x18] .text:000250AE BLX R3 带返回和状态切换的跳转指令 BLX <目的地址><Rm> .text:000250B0 CMP R0, #0 比较指令 CMP 操作数1-操作数2 = CPSR条件标志位 .text:000250B2 BEQ loc_250C0 跳转指令 相等或Z=1 时跳转 .text:000250B4 LDR R1, =(aDebug - 0x250BE) 加载内存到寄存器中 R1 <- aDebug - 0x250BE .text:000250B6 LDR R2, =(aFailedToGetThe - 0x250C0) 加载内存到寄存器中 R2 <- aFailedToGetCla - 0x250C0 .text:000250B8 MOVS R0, #6 数据传送指令,影响CPSR中条件标志位 R0 <- 6 .text:000250BA ADD R1, PC ; "debug" 加法指令 R1 = R1+PC .text:000250BC ADD R2, PC ; "Failed to get the environment"加法指令 R2 = R2+PC .text:000250BE B loc_250DA 无条件跳转指令 .text:000250C0 ; --------------------------------------------------------------------------- .text:000250C0 .text:000250C0 loc_250C0 ; CODE XREF: JNI_OnLoad+Ej .text:000250C0 LDR R0, [SP,#0x10+var_C] 加载内存到寄存器中 R0 <- [SP + 0x10 + var_C] .text:000250C2 LDR R1, =(aComAliMobisece - 0x250CA) 加载内存到寄存器中 R1 <- [aComAliMobisece - 0x250CA] .text:000250C4 LDR R3, [R0] 加载内存到寄存器中 R3 <- [R0] .text:000250C6 ADD R1, PC ; "com/ali/mobisecenhance/StubApplication" 加法指令 R1 = R1+PC .text:000250C8 LDR R3, [R3,#0x18] 加载内存到寄存器中 R3 <- [R3+0x18] .text:000250CA BLX R3 带返回和状态切换的跳转指令 BLX <目的地址><Rm> .text:000250CC SUBS R1, R0, #0 带进位标志位的减法指令 R1 = R0-0 .text:000250CE BNE loc_250E4 跳转指令 不相等 跳转 .text:000250D0 MOVS R0, #6 数据传送指令,影响CPSR中条件标志位 R0 <- 6 .text:000250D2 LDR R1, =(aDebug - 0x250DA) .text:000250D4 LDR R2, =(aFailedToGetCla - 0x250DC) .text:000250D6 ADD R1, PC ; "debug" .text:000250D8 ADD R2, PC ; "failed to get class reference" .text:000250DA .text:000250DA loc_250DA ; CODE XREF: JNI_OnLoad+1Aj .text:000250DA BL j_j___android_log_print 带返回的跳转指令 .text:000250DE MOVS R0, #1 数据传送指令,影响CPSR中条件标志位 R0 <- 1 .text:000250E0 NEGS R0, R0 取二进制补码 R0 <- R0 .text:000250E2 B locret_25100 无条件跳转指令 .text:000250E4 ; --------------------------------------------------------------------------- .text:000250E4 .text:000250E4 loc_250E4 ; CODE XREF: JNI_OnLoad+2Aj .text:000250E4 MOVS R3, #0xD7 数据传送指令,影响CPSR中条件标志位 .text:000250E6 LDR R0, [SP,#0x10+var_C] 加载内存到寄存器中 R0 <- [SP,0x10+var_C] .text:000250E8 LSLS R3, R3, #2 逻辑左移带有进位标志位 R3 <- (R3<<2) .text:000250EA LDR R2, [R0] 加载内存到寄存器中 R2 <- [R0] .text:000250EC LDR R4, [R2,R3] 加载内存到寄存器中 R4 <- [R2,R3] .text:000250EE LDR R2, =(off_59004 - 0x250F6) .text:000250F0 MOVS R3, #2 数据传送指令,影响CPSR中条件标志位 .text:000250F2 ADD R2, PC ; off_59004 加法指令 R2 <- R2+PC .text:000250F4 BLX R4 带返回和状态切换的跳转指令 .text:000250F6 SUBS R3, R0, #1 带进位标志位的减法指令 .text:000250F8 SBCS R0, R3 带进位标志位的借位的减法 .text:000250FA LDR R3, =0x10006 加载内存到寄存器中 .text:000250FC NEGS R0, R0 取二进制补码 .text:000250FE ORRS R0, R3 逻辑或指令带进位