如何查看apk安装包源代码??Android反编译apk,解包,打包,签名一体化实测 ,修改图片音频软件名称版本号等入门
首先下载反编译工具包
下载地址
链接: 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
解压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,解包,打包,签名一体化实测 ,修改图片音频软件名称版本号等入门的更多相关文章
- Android 反编译apk
工具介绍: apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 下载地址:https://bitbucket.org/iBotPeaches/apktool/downl ...
- Android反编译odex然后重新打包
#Android反编译odex然后重新打包 最近不知道怎么回事,突然把我那刷了氧OS的root了,然后就开始好奇起来氢OS所带有的那些本地化的东西,比如通话录音就是典型的一个之一.其中也做了很多的尝试 ...
- Android 反编译apk 详解
测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取) 下载 dex2jar(源码文件获取) 下载 jd-gui (源码查看) ...
- [Android]反编译apk + eclipse中调试smali
从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...
- Android 反编译Apk提取XML文件
Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...
- Android反编译和二次打包
参考:APK反编译 一.工具介绍: 1.解压工具 2.JDK 3.apktool: aapt.exe,apktool.bat,apktool.jar;三个在同一目录结合使用,用来反编译apk,反编译生 ...
- Android反编译apk并重新打包签名(Mac环境)
工具下载 apktool :https://ibotpeaches.github.io/Apktool/install dex2jar:https://github.com/pxb1988/dex2j ...
- Android反编译APK
http://blog.csdn.net/vipzjyno1/article/details/21039349/ 关于被加壳工具添加我的apk如何脱壳 http://www.blogfshare.co ...
- Centos的APK解包打包签名
http://www.v5b7.com/other/apk.html vi /etc/profile PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:/u ...
- Android 反编译工具
想必玩安卓的童鞋大多都知道,安卓的APK安装包是可以反编译出源代码的,如果开发人员发布时没有对其混淆等加密处理,反编译出来的代码几乎与真实的源代码一模一样. 想要反编译apk,需要用到apktool. ...
随机推荐
- linux虚拟机固定ip
1.查看宿主机IP信息 在windows宿主机上,键盘输入win+r,输出cmd,打开终端命令行: 输入ipconfig /all,查看宿主机IP信息: 2.修改Linux虚拟机的配置文件 Linux ...
- Python自动化办公--Pandas玩转Excel数据分析【三】
相关文章: Python自动化办公--Pandas玩转Excel[一] Python自动化办公--Pandas玩转Excel数据分析[二] python处理Excel实现自动化办公教学(含实战)[一] ...
- CE修改器入门:浮点数的扫描
在前面的教程中我们使用4字节的方式进行扫描,但有些游戏使用了"浮点数"来存储数值,浮点数是带有小数点的数值(如 5.12 或 11321.1),正如本关中的健康和弹药,两者都以浮点 ...
- Linux基础命令 [补档-2023-06-28]
Linux基础命令 1-1.命令的基本格式 Linux系统命令的通用格式为: command [-options] [parameter] 其中 -command 命令本身 -op ...
- 使用Miniconda安装R语言环境
使用Miniconda安装R语言 下载Miniconda3-latest-Linux-x86_64.sh 静默安装 sh Miniconda3-latest-Linux-x86_64.sh -b -p ...
- Java21 + SpringBoot3整合springdoc-openapi,自动生成在线接口文档,支持SpringSecurity和JWT认证方式
目录 前言 相关技术简介 OpenAPI Swagger Springfox springdoc swagger2与swagger3常用注解对比 实现步骤 引入maven依赖 修改配置文件 设置api ...
- 华硕ROG Zenith Extreme Alpha主板评测:主板界的航空母舰
在AMD推第一代锐龙线程撕裂者的时期,华硕ROG Zenith Extreme主板凭借给力的用料,各种便利的超频设计,出色的SupermeFX音效还有万兆网卡赢得了不少用户的好评.现在AMD推出了第二 ...
- Docker从认识到实践再到底层原理(四-2)|Docker镜像仓库实战案例
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...
- MySQL百万级数据大分页查询优化的实现
前言:在数据库开发过程中我们经常会使用分页,核心技术是使用用limit start, count分页语句进行数据的读取. 一.MySQL分页起点越大查询速度越慢 直接用limit start, cou ...
- NOI 2021 补全记录
来补题了昂. D1T1 轻重边 对于原树进行重链剖分,使用一颗线段树维护每一条重边是否时"重边",然后对于轻边,在父亲出维护最后一次通过 \(1\) 操作清空"重边&qu ...