Android_apk逆向

安卓程序反编译
一、dexdump方法
dexdump是emulator自带提供的查看dex文件的工具,可使用类似这样的命令将dex文件dump到txt文件中: D:\Program Files\android-sdk-windows-1.6_r1\platforms\android-1.6\tools>dexdump.exe -d classes.dex > spk.dump.txt 得到的文件内容,描述了类的信息,但实在是不好读

二、dex2jar + XJad 方法
该方法是
使用dex2jar.jar包,将classes.dex文件解包成jar,在通过XJad(或者其他class反编译工具)进行java反编译。如:
     1、拿到apk之后解压
     2、dex2jar解包
   命令行 dex2jar.bat  d:\play\classes.dex  (或者将classes.dex放到dex2jar.bat所在目录下,双击.bat运行);    默认的输出路径同classes.dex,生成的文件名为classes.dex.dex2jar.jar
     3、使用XJad反编译该jar包
    打开XJad界面,小图标中“反编译jar文件”

XJad使用说明:
========
1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件,
保存至当前文件夹,并在编辑器中打开查看;
2、打开一个文件夹,XJad将该文件夹下所有*.class文件进行反编译,并保存至该文件夹下,
依据包路径信息生成文件夹路径,如com.spring.framework.*,
将建立com\spring\framework的文件夹结构;
3、打开一个*.jar文件,XJad将该Jar文件中的所有*.class文件解压缩临时目录并进行反编译, 并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中;

     该方法的好处在于,通过XJad反编译后,大家可直接开到java源文件,缺点在于只能反编译出开发时的java文件,而开发时使用的lib包不能反编译出来。

三、AXMLPrinter2.jar + baksmali.jar + smali.jar 方法
这个方法就强大了,AXMLPrinter2是还原AndroidManifest.xml和main.xml的工具,直接打开这两个xml文件是乱码,而通过还原之后,可以很明白的看到里面的内容(我猜测还是使用了字节异或的方式加的密)。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值