最近有小伙伴私信我,怎么把一款APP改为本身的信息呀,咳咳,这又来送题材了,今天水一把APP反编译+回编译,文中会针对一款APP进行简单的修改信息,问问题的小伙伴还不火速右上角支持一下。html
MacOS跟Windows我是分开写的,怕你说平台不一致就打退堂鼓了。git
MacOS:http://www.javashuo.com/article/p-ukoipmoj-ku.htmlgithub
Windows:http://www.javashuo.com/article/p-otoilrcy-kq.htmlweb
下载地址:https://github.com/skylot/jadx/archive/master.zipwindows
下载后进入该文件根目录执行 ./gradlew.bat dist
文件app
经过如上指令,能够帮咱们打包出 build
目录,接下来就全靠这个build目录干 ”大事“ 了,咱们来看看这个目录下的文件:编辑器
接下来安装今天的第二个工具——apktool工具
下载连接:https://ibotpeaches.github.io/Apktool/install/布局
打开网址后找到windows
节点,对着 wrapper script
右键:测试
弹窗保存时必定要使用bat
格式,默认就是bat格式。
点击windows节点上的 (find newest here)
进入该界面后,查看右侧jar下载列表,固然下载最新文件:
至此,咱们下载了两个文件,咱们把这两个文件放到 C://Windows
目录下,这个过程等价于在系统环境变量Path中配置。
随便找个命令行执行以下指令:apktool
,只要打印内容说明没问题
咱们找个简单点的APP,有人提议用个人涂涂影院,出门右拐,请私下本身尝试,我怎么会公开处刑自家孩子。
某视频APP:https://niceyoo.lanzous.com/iCi92eksqjc
反编译用到的是第二个下载的工具—apktool,咱们先下载上方连接中的app,而后在该文件目录的控制台下执行以下指令:apktool d 名称.apk
apktool d 一个TV.apk
d,表明反编译,b表明回编译,不要记混。
执行后咱们获得了一个文件夹《一个TV》,咱们简单看一下这个目录:
如图,其中,res文件夹下存放的是反编译出来的全部资源,smali文件夹下存放的是反编译出来的全部代码,AndroidManifest.xml
则是通过反编译还原后的manifest
文件。
smali
文件夹下的文件smali
文件使用的是Android虚拟机所使用的寄存器语言,若是看的懂smail文件的话,就能够修改源代码的逻辑了,好比增长一个图片、增长一行文字等等都是修改的smail文件;
在这以前咱们得看到代码才行,否则都不知道在哪改,改到哪,那么接下来就是去看APP的源码了,因此这就用到第一个安装的软件了—jadx
接下来咱们复制一份 《一个TV.apk》,而后将复制的apk
后缀改为zip
,获得以下:
进入 《一个TV的副本》,这一步主要是想获得 classes.dex
文件,该文件是获取源码的重点。
而后须要用到第一个工具—jadx,进入 buil/jadx/bin
目录。双击执行 jadx-gui.bat
文件:
i
在弹出的窗口选择《一个TV-副本》中的 classes.dex
文件:
而后就能够看到以下的源码视图了,具体代码细节就不带你们一块看了
为了方便直接在控制台使用,你们能够将 jadx 的目录配置到系统环境变量中:
可能有小伙伴会好奇,怎么没看到实质性的源码呀,别着急,进入《一个TV-副本》文件夹控制台执行:
jadx -d out classes.dex
执行该命令,反编译后会把源码放入out文件夹下(若是out不存在它会自动建立)
补充:这一小节的目的就是为了使用jadx-gui可视化界面查看app的源码,小伙伴千万不要混了,主要的、以及接下来要操做的仍是在第一小节反编译出来的代码。
代码也看到了,原本计划这篇就带你们修改源码数据,可是为了照顾大部分小伙伴,接下来就只修改一下APP名称,而后从新打包APP,下一篇补充:修改布局
+ 修改smali代码
。
咱们再回到第一节使用apktool反编译出来的代码,找到根目录的AndroidManifest.xml
,修改文件中的label标签对应的string.xml
文件中的值,此次咱们简单粗暴点,直接修改内容吧:
修改完记得保存,而后咱们就开始回编译了。
退回到 《一个TV》 文件夹目录,执行以下指令apktool b 文件夹名称
apktool b 一个TV
执行完该命令后,会在 《一个TV》 文件夹下生成一个 dist 目录,目录下有个app... 咳咳别激动,还有最后一步:
关于应用签名,说麻烦也不麻烦,稍微懂点Android的小伙伴,①能够经过Android Studio或者直接命令行生成签名文件;②将apk和签名文件放在同一个目录,而后再终端执行 jarsigner 代码;
详细的我就不啰嗦了,今天为照顾大多数小伙伴,介绍一个工具 Android Crack Tool
下载连接:https://niceyoo.lanzous.com/iWKoBem1atg
下载解压后,执行ApkToolkit.exe
文件,点击按钮签名.apk
,选择上方回编译生成的APPs:
签名完成后,会在根目录生成dist一个TV.S.apk
文件:
咱们将它装到手机上,安装试一下:
其实成功了,就是名称太长 「niceyoo博客」 没显示出来,ok,下一篇带你们深一步魔改APP。
小伙伴们不要慌,你慌我也慌,来都来了,关注一下,交个朋友。