使用Idaq工具查看可執行文件ARM彙編代碼
idaq是一種流行的破解工具,可以通過它查看可執行文件的內部arm彙編代碼,間接得到或猜測競爭對手可執行文件的代碼。
下面舉例簡單分析一個iPhone應用程序對應的arm彙編代碼:
STMFD SP!, {R4,R7,LR} // 入棧操作,一般任何函數的開始都會有此指令
LDR R1, =(off_13F888 - 0xB651C) // 將 =(off_13F888 - 0xB651C)對應的內存值移動到寄存器R1中
ADD R7, SP, #4 // R7 <------ SP + 4
BL _objc_msgSend // 跳轉到子例程_objc_msgSend處執行,執行完後返回繼續執行
MOV R4, R0 // R4 <------ R0
LDMFD SP!, {R4, R7, PC} // 出棧操作,一般任何函數的最後都會有此指令
以後會根據不同應用程序的不同模塊,更加細緻的分析內部運行原理。
--- xichen2 陳曦