首先下载反编译工具包

 

下载地址  

    链接:  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源代码

1:apktool 获取资源文件

Apktool是一个逆向android非常有用的工具,可以用来反编译apk文件,并且能在修改部分资源文件后,重新打包成一个新的apk。

2:dex2jar(源码文件获取)

将Android的包dex文件转换成jar文件,此时拿到的是字节码文件一般和jd-gui结合使用,将字节码文件转成对应的源码

3:jd-gui 查看APK中classes.dex转化成出的jar文件,即源码文件

将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

  1. 解压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的反编译只可用于学习和研究,坚决不可随意修改他人代码,更加不可用作商用,望慎行!如有恶意行为,后果自负。

如果有什么问题欢迎留言评论,请各位大佬多多指教!!!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐