Month: September 2018

《Android 软件安全与逆向分析》读书笔记

第二章 如何分析android 程序 ApkTool是跨平台的反编译工具,可以生成smali格式的反汇编代码、重新编译生成apk文件并签名。   第三章 进入 Android Dalvik虚拟机 Dalvik虚拟机是android的核心组件,拥有一套完整的指令系统,专有的dex可执行文件格式,执行更快。Dalvik指令是Dalvik虚拟机为自己专门设计的一套指令集,并且制定了自己的指令格式与调用规范。   smali语言是Dalvik虚拟机的寄存器语言,与传统的汇编语言类似,但是有一套自己的类型、方法、与字段表示方法。Dalvik VM与JVM的最大的区别之一就是Dalvik VM是基于寄存器(所有操作都基于寄存器来完成)的。   smali文件可以通过backsmali和smali这两种第三方库jar与dex文件互相转换。   第四章 android 可执行文件 DEX是Dalvik虚拟机专用的可执行文件格式。