链接: https://zly520.lanzoui.com/ibtuxhf7rab
1.apktool:由于直接改apk后缀进行解压的话打开的xml文件会乱码,所以我们使用apktool工具查看apk的xml文件、AndroidManifest.xml和图片等
AndroidManifest.xml:应用清单(manifest意思是货单),每个应用的根目录中都必须包含一个,并且文件名必须一模一样。这个文件中包含了APP的配置信息,系统需要根据里面的内容运行APP的代码,显示界面。 版本 ,名字,权限
需要更多了解的请见这几个前辈博客,说得都挺好的 :
https://www.jianshu.com/p/3b5b89d4e154
https://blog.csdn.net/u012486840/article/details/52468931
https://www.cnblogs.com/ProtectedDream/p/6405312.html
https://wenku.baidu.com/view/053c5422af45b307e8719752?pcf=2###
2.dex2jar:classes.dex转换成jar包(如果用ApkToolkit会很方便,则可以省略此步,那个软件也在云盘里)
3.jd-gui:查看jar文件的java源代码
Apktool是一个逆向android非常有用的工具,可以用来反编译apk文件,并且能在修改部分资源文件后,重新打包成一个新的apk。
将Android的包dex文件转换成jar文件,此时拿到的是字节码文件一般和jd-gui结合使用,将字节码文件转成对应的源码
将dex2jar中的jar(字节码)文件转成源码,既可以查看源码也可以进行修改。
对此 ,将apk转为jar有很多种办法 ,下面说的是一种,还有另一种办法,见开头链接!
二、下载之后,将需要反编译的apk放到apktools同级目录下,并且在apktools下级目录,按住shift+鼠标右键,选择在此处打开命令窗口,之后运行代码
**
注意
* outDir :表示反编译后的资源文件存放到哪个目录下
* test.apk :表示要进行反编译的apk文件名称
解包::d 是解包,b是打包解包也是如此,也可以用压缩软件直接解压apk!
apktool.bat d -o test test.apk
或者也可以通过下面的命令反编译两者实现的效果都是相同的
java -jar apktool.jar d -f test.apk -o test
打包:1、用压缩软件将文件夹下的文件以及文件夹直接打成zip,再改后缀为apk
2、下面的命令也可以
**
注意
* new_no_singnalign.apk :新生成的apk文件,此apk文件没有签名和对齐
* outDir :将outDir的文件进行编译
*/
apktool.bat b -o new_no_signalign.apk outDir
以上两种方式都可以
三、将apk后缀名改成zip。之后用解压软件进行解压,得到一个文件如下
这样看到的xml格式是乱码的 所以使用apktool去释放apk才不会乱码 ,上一步我们已经将它释放并且存放一个文件夹了,所以这次就不用做了!这样用压缩软件解压apk的显示的是乱码,所以还是要用解包命令去解压!如果你又=有开发环境的话,可以直接把apk包直接拖到intellij idea中,这样也能看源代码,只不过是不能更改!
四、将classes.dex打包成jar包 需要用到dex2jar,在其文件夹打开cmd命令窗口将第三步中的classes.dex放到此目录 输入命令 d2j-dex2jar.bat classes.dex 看下图
有可能输入上述命令会出现错误,若出现错误,就在最前面加上 .\
五、之后你就使用jd-gui打开这个jar包即可
这个所用工具下载地址::https://zly520.lanzoui.com/iEDo3hfyrkd
解压apk文件,(把apk的后缀名改为zip,用普通的解压工具即可)
解压用上面的apktool第一个步骤也是可以的,
2.打包成apk时 前面第二步那个图片中两种方法都可以,无论是用命令还是用压缩工具改后缀都可以,但是压缩工具千万注意,不能压缩第一文件夹,要压缩那个文件夹下面的,就是下面这个页面 ,不能直接压缩 test !!!!否则会出现安装包错误!切记切记!
3.使用签名工具对apk进行签名,把apk拷贝到资源根目录下的sign_tool目录,cmd中输入命令:
java -jar signapk.jar platform.x509.pem platform.pk8 HelloWorld.apk Signed.apk
执行完后会在该目录下生成Signed.apk文件,这个文件就是最终的文件了
工具操作图片:
使用每个工具都要把那个apk包或者zip包移动到那个文件夹内!!!!
注:apk的反编译只可用于学习和研究,坚决不可随意修改他人代码,更加不可用作商用,望慎行!如有恶意行为,后果自负。
如果有什么问题欢迎留言评论,请各位大佬多多指教!!!