[Android逆向]-Android逆向基础

Aandroid 逆向工具

  • 清单文件解密工具:AXMLPrinter2.jar,APK15PBParser.jar

    • AXMLPrinter2.jar用与对xml解码
      • java -jar AXMLPrinter2.jar AndroidManifest.xml > xx.xml
    • APK15PBParser.jar用于对apk解码
      • java -jar APK15PBParser.jar dsxyl.apk > xx.xml

  • Dex文件反汇编工具 : Baksmali.jar

    • 反汇编一个class.dex文件,生成一个包含smali后缀文件的out文件夹
    • java -jar baksmali-2.2.0.jar d classes.dex
    • smali文件对应java中的类文件,若java类中有内部类,表示内部类的smali文件会单独存在
    • 名称格式是:主类$内部类.smali若内部类是一个匿名内部类
      • R$string.smali 主类是R,内部类是string
      • MainActivity$1.smali 主类是MainActivity,匿名内部类是1(因为是匿名所以用序号)

  • Smali回编译工具 : smali-2.2.jar

    • 汇编一个smali文件,生成指定名称的Dex文件
    • java -jar smali-2.2.0.jar a Hello.smali -o classes.dex

  • 集成工具Apktool.jar

    • 反编译apk,生成apk同名目录
      • java -jar apktool_2.2.2.jar d 目标Apk.apk
    • 回编译,生成目录同名apk
      • java -jar apktool_2.2.2.jar b dsxyl -o OutApk.apk

  • APK签名文件 : signapke.jar

    • 没有签名是不能直接安装到模拟器或是手机中的,会报错

  • dex转jar工具 : dex2jar.jar

    • 将Dex转为java的jar包,方便jd-Gui工具反编译成java源码(注意:这里的源码不是正真意义上的源码,只是近似源码)

  • java源码反编译工具 : jd-GUI

    • 把jar包反编译为java源代码

  • Android Killer:集成工具

  • JEB:反编译效果较好,有插件功能可扩展

Android Smali汇编指令

Java代码编译生成了dex文件,dex文件是运行在Android Dalvik虚拟机之上
类比 : exe文件是运行在Intel处理器之上
Dex文件中的指令是dalvik虚拟机指令
Exe文件中的指令是Intel x86指令
Dalvik汇编指令就是smali汇编

你可能感兴趣的:(>Android<)