第6章 ARM 汇编基础与逆向
1、 系统Santoku IP:192.168.153.133
2、 理解ARM汇编
1、 逆向你的原生Hello ARM 介绍
有过java开发经验的读者一定会知道,java程序的安全多依赖于代码混淆技术,这种技术通过更改程序中的方法,字段名来增加静态分析的难度,从而达到防止程序被破解的目的。Andriod系统采用java作为其平台软件的基础开发语言,代码混淆技术也理所当然的成为保护程序的“基础”手段。但代码混淆技术也有很多弊端,不能满足对安全需求较高的行业及商业软件,andriod NDK的问世,使得开发人员可以通过C/C++代码来编写软件的核心功能代码,这些代码通过编译会生成基于特定处理器的可执行文件,对于使用ARM处理器的andriod手机来说,它最终会生成相应的ARM ELF可执行文件,安全分析人员通过ELF文件分析软件的核心功能入手。然而分析ARM ELF文件比想象中要困难的多,因为无论是静态分析还是动态调试ARM ELF代码都需要具备基本的ARM反汇编代码阅读能力。
2、 实例程序Hello,一个ARM原生程序。将其拖入IDA Pro内如下:
3、 分析Hello文件
text:000082E0 EXPORT main
.text:000082E0main ;CODE XREF: j_mainj
.text:000082E0var_C = -0xC
.text:000082E0var_8 = -8
.text:000082E0