之前说过 apktool 插件,可以直接获取 资源文件
【Android ApkTool 反编译获取源码】下载一个apk,然后获取源码
http://blog.csdn.net/ssh159/article/details/54800061
现在,补充完整版的 反编译吧!
插件 (版本自行决定用多少吧)
1、dex2jar-2.0 : 获取 java方法
2、jd-gui-window-1.4.0 :查看java方法
3、apktool 2.2.2(上个博客 介绍过了!):获取所有的资源文件(图片,xml,value属性),smali文件
一、dex2jar-2.0 的使用方法
二、jd-gui的使用方法
三、apktool的使用方法
四、联合使用
五、签名验证
1、首先,我们从android studio 导出一个apk
2、填写apk的信息:
key store: bahao.jks
所有密码:123456
别名:xiyu
其他随便乱写一点,有效年份:25年,地区:cn(中国)
3、我们导出文件,生成一个apk, 名字太长了,我们改名:mytest.apk
一、dexjar 的使用方法:
1、下载解压,红色的为主要的文件!
这是源码:
只有一个方法:一键拨号。
2、将test.apk 改后缀 apk → zip ,打开压缩文件,
这里有个classes.dex,解压出来
3、将class文件 放入dex2jar-2.0 文件夹中
4、DOS命令
cmd ,跳转H: ,cd dex2jar-2.0文件夹,
d2j-dex2jar.bat classes.dex (window用 bat,OS X用 .sh的文件)
5、可以得到一个jar包
二、jd-gui 的使用方法:
1、下载解压文件,双击打开快捷方式,
要是报错打不开,请按照它 说的,去java官网下载合适的jdk,然后卸载你旧版的jdk
(这个文件很旧了,2015年的,我jdk1.8识别不了,1.7也不行,按照它说的 ,下了个小插件,
安装后OK)
2、把刚才的jar 包拖进去,就可以看到 MainActivity.class
方法的代码的,跳转的代码是数字,自行从R文件 找吧。
三、apktool 的使用方法:
得到方法后,我这里不使用方法,直接反编译apk
apktool d mytest.apk
H: 盘根目录会生成一个mytest 的文件夹,
打开可以看到里面是我们要的源码(java方法是机械码)
四、混合使用
1、小小改一下 app的头像
2、修改一下验证:以前据说可以绕过签名,但是
我没能绕过呢 ,2333
3、导包 apk
将文件打包成apk:
apktool b xxx(文件夹) -o xxx.apk(自定义)
五、签名验证:反编译后的文件,失去了签名,在手机上,是无法安装的!
在 android studio 或者 eclipse,很轻松的就能找到一个jks签名,
然后利用一下:
把jks复制到 h: 盘
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件名 -storepass 签名密码 待签名的APK文件名 签名的别名
效果:
本文转载请注明出处!谢谢!