首先下载反编译工具包

下载地址

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

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

如何查看apk安装包源代码??Android反编译apk,解包,打包,签名一体化实测 ,修改图片音频软件名称版本号等入门的更多相关文章

  1. Android 反编译apk

    工具介绍:    apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 下载地址:https://bitbucket.org/iBotPeaches/apktool/downl ...

  2. Android反编译odex然后重新打包

    #Android反编译odex然后重新打包 最近不知道怎么回事,突然把我那刷了氧OS的root了,然后就开始好奇起来氢OS所带有的那些本地化的东西,比如通话录音就是典型的一个之一.其中也做了很多的尝试 ...

  3. Android 反编译apk 详解

    测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取)  下载          dex2jar(源码文件获取) 下载        jd-gui  (源码查看)  ...

  4. [Android]反编译apk + eclipse中调试smali

    从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...

  5. Android 反编译Apk提取XML文件

    Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...

  6. Android反编译和二次打包

    参考:APK反编译 一.工具介绍: 1.解压工具 2.JDK 3.apktool: aapt.exe,apktool.bat,apktool.jar;三个在同一目录结合使用,用来反编译apk,反编译生 ...

  7. Android反编译apk并重新打包签名(Mac环境)

    工具下载 apktool :https://ibotpeaches.github.io/Apktool/install dex2jar:https://github.com/pxb1988/dex2j ...

  8. Android反编译APK

    http://blog.csdn.net/vipzjyno1/article/details/21039349/ 关于被加壳工具添加我的apk如何脱壳 http://www.blogfshare.co ...

  9. Centos的APK解包打包签名

    http://www.v5b7.com/other/apk.html vi /etc/profile PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:/u ...

  10. Android 反编译工具

    想必玩安卓的童鞋大多都知道,安卓的APK安装包是可以反编译出源代码的,如果开发人员发布时没有对其混淆等加密处理,反编译出来的代码几乎与真实的源代码一模一样. 想要反编译apk,需要用到apktool. ...

随机推荐

  1. ETL之apache/hop-web 2.5安装和简单入门

    一.使用Docker 安装部署 1.拉取镜像 推荐使用下面的web版本 docker pull apache/hop:latest docker pull apache/hop-web:latest ...

  2. TienChin-课程管理-课程导出

    更改 Course.java: /** * 课程ID */ @TableId(value = "course_id", type = IdType.AUTO) @NotNull(m ...

  3. 【Java】引用传递?值传递?

    引用传递和值传递,从上学那会儿就开始强调的概念,不管你是计算机相关专业还是自学Java,一定听过这么一句话: 方法调用参数如果是对象,那就是引用传递,如果是基本数据类型,就是值传递. 比如:funct ...

  4. python读取json格式文件大量数据,以及python字典和列表嵌套用法详解

    1.Python读取JSON报错:JSONDecodeError:Extra data:line 2 column 1 错误原因: JSON数据中数据存在多行,在读取数据时,不能够单单用open(), ...

  5. 【二】AI Studio 项目详解【VisualDL工具、(二)环境使用说明、(二)脚本任务、图形化任务、在线部署及预测】PARL

    相关文章 [一]-环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简介 [五]-Sarsa&Qlear ...

  6. Java执行Shell和传输文件

    特性: 多线程批量执行 多密码尝试 引入依赖: <dependency> <groupId>ch.ethz.ganymed</groupId> <artifa ...

  7. PHP的数据对象PDO

    PHP的数据对象PDO 一.什么是PDO 手册说:PHP 数据对象 (PHP Data Object) 扩展为PHP访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体 ...

  8. CF1515F Phoenix and Earthquake 题解

    题目链接:CF 或者 洛谷 首先基于一个事实,答案一定是生成树,显然,每次我们都需要连边,每次都会 \(-x\),那么一共会减少 \((n-1)\times x\),很显然的一个必要条件为: \[\s ...

  9. P5047 [Ynoi2019 模拟赛] Yuno loves sqrt technology II 题解

    题目链接:Yuno loves sqrt technology II 很早以前觉得还挺难的一题.本质就是莫队二次离线,可以参考我这篇文章的讲述莫队二次离线 P5501 [LnOI2019] 来者不拒, ...

  10. 全世界 LoRA 训练脚本,联合起来!

    来自社区的 SD-XL Dreambooth LoRA 微调最佳实践指南 太长不看版 我们把 Replicate 在 SDXL Cog 训练器中使用的枢轴微调 (Pivotal Tuning) 技术与 ...