最近有小伙伴私信我,怎么把一款APP改成自己的信息呀,咳咳,这又来送题材了,今天水一把APP反编译+回编译,文中会针对一款APP进行简单的修改信息,问问题的小伙伴还不火速右上角支持一下。

MacOS跟Windows我是分开写的,怕你说平台不一致就打退堂鼓了。

MacOS:https://www.cnblogs.com/niceyoo/p/13296260.html

Windows:https://www.cnblogs.com/niceyoo/p/13303136.html

一、下载jadx

下载地址:https://github.com/skylot/jadx/archive/master.zip

下载后进入该文件根目录执行 ./gradlew.bat dist文件

通过如上指令,可以帮我们打包出 build 目录,接下来就全靠这个build目录干 ”大事“ 了,我们来看看这个目录下的文件:

二、安装apktool

接下来安装今天的第二个工具——apktool

下载链接:https://ibotpeaches.github.io/Apktool/install/

1、下载apktool文件

打开网址后找到windows节点,对着 wrapper script 右键:

弹窗保存时一定要使用bat格式,默认就是bat格式。

2、下载apktool.jar

点击windows节点上的 (find newest here)

进入该界面后,查看右侧jar下载列表,当然下载最新文件:

3、配置apktool执行权限

至此,我们下载了两个文件,我们把这两个文件放到 C://Windows 目录下,这个过程等价于在系统环境变量Path中配置。

4、测试apktool权限

随便找个命令行执行如下指令:apktool,只要打印内容说明没问题

三、开始反编译APP

我们找个简单点的APP,有人提议用我的涂涂影院,出门右拐,请私下自己尝试,我怎么会公开处刑自家孩子。

某视频APP:https://niceyoo.lanzous.com/iCi92eksqjc

1、反编译

反编译用到的是第二个下载的工具—apktool,我们先下载上方链接中的app,然后在该文件目录的控制台下执行如下指令:apktool d 名称.apk

apktool d 一个TV.apk

d,代表反编译,b代表回编译,不要记混。

执行后我们得到了一个文件夹《一个TV》,我们简单看一下这个目录:

如图,其中,res文件夹下存放的是反编译出来的所有资源,smali文件夹下存放的是反编译出来的所有代码,AndroidManifest.xml则是经过反编译还原后的manifest文件。

smali文件夹下的文件smali文件使用的是Android虚拟机所使用的寄存器语言,如果看的懂smail文件的话,就可以修改源代码的逻辑了,比如增加一个图片、增加一行文字等等都是修改的smail文件;

在这之前我们得看到代码才行,不然都不知道在哪改,改到哪,那么接下来就是去看APP的源码了,所以这就用到第一个安装的软件了—jadx

2、查看源码数据

接下来我们复制一份 《一个TV.apk》,然后将复制的apk后缀改成zip,得到如下:

进入 《一个TV的副本》,这一步主要是想得到 classes.dex 文件,该文件是获取源码的重点。

然后需要用到第一个工具—jadx,进入 buil/jadx/bin 目录。双击执行 jadx-gui.bat 文件:

在弹出的窗口选择 《一个TV-副本》 中的 classes.dex 文件:

然后就可以看到如下的源码视图了,具体代码细节就不带大家一块看了

为了方便直接在控制台使用,大家可以将 jadx 的目录配置到系统环境变量中:

可能有小伙伴会好奇,怎么没看到实质性的源码呀,别着急,进入《一个TV-副本》文件夹控制台执行:

jadx -d out classes.dex

执行该命令,反编译后会把源码放入out文件夹下(如果out不存在它会自动创建)

补充:这一小节的目的就是为了使用jadx-gui可视化界面查看app的源码,小伙伴千万不要混了,主要的、以及接下来要操作的还是在第一小节反编译出来的代码。

3、魔改数据

代码也看到了,本来计划这篇就带大家修改源码数据,但是为了照顾大部分小伙伴,接下来就只修改一下APP名称,然后重新打包APP,下一篇补充:修改布局 + 修改smali代码

我们再回到第一节使用apktool反编译出来的代码,找到根目录的AndroidManifest.xml,修改文件中的label标签对应的string.xml文件中的值,这次我们简单粗暴点,直接修改内容吧:

修改完记得保存,然后我们就开始回编译了。

4、回编译APP

退回到 《一个TV》 文件夹目录,执行如下指令apktool b 文件夹名称

apktool b 一个TV


执行完该命令后,会在 《一个TV》 文件夹下生成一个 dist 目录,目录下有个app… 咳咳别激动,还有最后一步:

5、应用签名

关于应用签名,说麻烦也不麻烦,稍微懂点Android的小伙伴,①可以通过Android Studio或者直接命令行生成签名文件;②将apk和签名文件放在同一个目录,然后再终端执行 jarsigner 代码;

详细的我就不啰嗦了,今天为照顾大多数小伙伴,介绍一个工具 Android Crack Tool

下载链接:https://niceyoo.lanzous.com/iWKoBem1atg

下载解压后,执行ApkToolkit.exe文件,点击按钮签名.apk,选择上方回编译生成的APPs:

签名完成后,会在根目录生成dist一个TV.S.apk文件:

我们将它装到手机上,安装试一下:

其实成功了,就是名称太长 「niceyoo博客」 没显示出来,ok,下一篇带大家深一步魔改APP。

小伙伴们不要慌,你慌我也慌,来都来了,关注一下,交个朋友。

本文首发于博客园:https://www.cnblogs.com/niceyoo/p/13303136.html

反编译一款APP然后重新打包(Windows环境)相关推荐

  1. jadx重新打包_反编译一款APP然后重新打包(Windows环境)

    最近有小伙伴私信我,怎么把一款APP改成自己的信息呀,咳咳,这又来送题材了,今天水一把APP反编译+回编译,文中会针对一款APP进行简单的修改信息,问问题的小伙伴还不火速右上角支持一下. MacOS跟 ...

  2. 记一次还未成功的反编译锤子桌面APP

    更新信息 时间 <记一次还未成功的反编译锤子桌面APP> 20171129 暴力替换数据库更新item信息 20171201 暴力替换数据库更新item信息 在之前的分析过程中得知,只要更 ...

  3. 反编译简书app和小红书app滑动效果sticky粘性头布局的实现CoordinatorLayout+behavior

    反编译简书app和小红书app滑动效果sticky粘性头布局的实现CoordinatorLayout+behavior 小红书效果: 简书效果: demo效果图: github地址:https://g ...

  4. android 模拟滑动app,反编译简书app和小红书app滑动效果sticky粘性头布局的实现CoordinatorLayout+behavior...

    反编译简书app和小红书app滑动效果sticky粘性头布局的实现CoordinatorLayout+behavior 小红书效果: xiaohongshuu.gif 简书效果: jianshug.g ...

  5. ipa文件反编译_手把手教你反编译别人的app

    虽然iOS系统相比于其他手机操作系统相对安全,但是这个安全并不是绝对的,我一直相信,道高一尺魔高一丈.此文想以实际例子出发,告诉大家,如何去反编译一个app,并且从某个角度来说,iOS没有传说中的&q ...

  6. 30款APP源码打包 Java Android安卓App源码 30款打包下载

    [30款APP源码打包 Java Android安卓App源码 30款打包下载](访问密码: 168168)(https://474b.com/file/29013429-461457489)

  7. java反编译工具_Android APP 取证之逆向工具篇

    一.前言 此系列文章将针对 Android APP 取证领域展开讨论.在国内,由于最近几年国产手机厂商之间的竞争和努力,如今 Android 平台的使用数量和广度,已经远超苹果的 iOS 了.如今 A ...

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

    首先下载反编译工具包 下载地址 链接:  https://zly520.lanzoui.com/ibtuxhf7rab 一.反编译工具介绍 首先 如果你想改动图片音频之类的,见末尾! 1.apktoo ...

  9. 反编译APK分析APP的加密算法

    最近在研究微爱这款应用的请求时,发现每一条请求都携带了sig这个参数,并且sig随着每一次登录都会变化,不同的行为触发的HTTP请求所携带的sig也都不相同. 图片中的sig是经过URLEecode的 ...

最新文章

  1. 小白成长之路_LeetCode刷题记录
  2. 常见数据结构的 Python 实现(建议收藏)
  3. mysql to mssql_MysqlToMsSql
  4. android京东首页轮播代码,仿京东商品详情轮播图
  5. bestcoder #66
  6. 开关电源PCB排版基本要点概述
  7. Android异常总结---1.Android java.net.SocketException: Address family not supported by protocol
  8. 剑指offer 面试26题
  9. submit事件监听问题
  10. 网络与社会导论之幂律与富者更富及其与长尾、齐普夫定律等的关系
  11. 2022-2027年中国海参行业市场深度分析及投资战略规划报告
  12. 关于大学,关于游戏和游戏开发
  13. root禁止app后台自启,手机免root自启管理
  14. DS SIMULIA CST STUDIO SUITE 2021.03 SP3 Update Only x64
  15. 【论文阅读】SISR综述:From Beginner to Master: A Survey for Deep Learning-based Single-Image Super-Resolution
  16. UNIX操作系统学习(一)
  17. myeclipse中生成web service时出现异常Unable to create JAXBContext
  18. 推荐三个 VSCode 摸鱼插件
  19. 胜任力参考阅读资料汇总
  20. 公众号推送模板消息,跳转小程序报错INVALID WEAPP PAGEPATH

热门文章

  1. [html] const nums1 = [1, 2, 2, 1], nums2 = [2] 交集是什么?
  2. 前端学习(2241):react打卡倒计时十五天之react出现背景
  3. 前端学习(285):移动端简单知识
  4. spring mvc学习(40):restful的crud实现增加方式
  5. Qt treeWidget 查找指定字段内容的条目并跳转到该条目
  6. HC-05蓝牙模块的配置和使用方法
  7. feign接口调用出现连接超时
  8. API网关从入门到放弃
  9. JMeter - 如何创建可重用和模块化测试脚本
  10. Codeforces Round #530 Div. 1 自闭记