带你反编译APP然后重新打包「MacOS」
最近有小伙伴留言,怎么把一款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 dist
通过如上指令,可以帮我们打包出 build 目录,接下来就全靠这个build目录干 ”大事“ 了,我们来看看这个目录下的文件:
二、安装apktool
接下来安装今天的第二个工具——apktool
下载链接:https://ibotpeaches.github.io/Apktool/install/
1、下载apktool文件
打开网址后找到macos节点,对着 wrapper script
右键
弹窗保存时一定要选择所有文件
格式,注意,没有后缀,没有后缀。
2、下载apktool.jar
点击macos节点上的 (find newest here)
进入该界面后,查看右侧jar下载列表,当然下载最新文件:
3、配置apktool执行权限
至此,我们下载了两个文件,我们把这两个文件放到 /usr/local/bin
目录下
然后在该目录控制台执行命令:chmod +x apktool.jar apktool
cd /usr/local/binchmod +x apktool.jar apktool
4、测试apktool权限
在终端执行如下指令:apktool
,只要打印内容说明没问题
三、开始反编译APP
我们找个简单点的APP,有人提议用我的涂涂影院,出门右拐,请私下自己尝试,我怎么会公开处刑自家孩子。
某视频APP:https://niceyoo.lanzous.com/iCi92eksqjc
1、反编译
反编译用到的是第二个下载的工具—apktool,我们先下载上方链接中的app,然后在该文件目录的控制台下执行如下指令:apktool d 名称.apk
apktool d 一个TV.apk
d,代表反编译,b代表回编译,不要记混。
我们简单看一下这个目录:
如图,其中,res文件夹下存放的是反编译出来的所有资源,smali文件夹下存放的是反编译出来的所有代码,AndroidManifest.xml
则是经过反编译还原后的manifest
文件。
smali
文件夹下的文件smali
文件使用的是Android虚拟机所使用的寄存器语言,如果看的懂smail文件的话,就可以修改源代码的逻辑了,比如增加一个图片、增加一行文字等等都是修改的smail文件;
在这之前我们得看到代码才行,不然都不知道在哪改,改到哪,那么接下来就是去看APP的源码了,所以这就用到第一个安装的软件了—jadx
2、查看源码数据
需要用到第一个工具—jadx,进入 buil/jadx/bin
目录。接下来的指令就是基于这4个文件来执行的,但是这个路径太长了,干脆我们把它加入到macos全局环境变量中:
vi ~/.bash_profile
添加如下格式内容:
export PATH=$PATH:/Users/我是路径,请自行修改/jadx/build/jadx/bin
接下来我们复制一份**《一个TV.apk》**,然后将复制的apk后缀改成zip,得到如下:
进入 《一个TV的副本》,这一步主要是想得到 classes.dex
文件,该文件是获取源码的重点,接下来我们在该目录控制台执行如下指令:
jadx-gui classes.dex
通过jadx-gui
工具源码是看到了,具体代码细节就不带着大家一块看了;可能有小伙伴会好奇,怎么没看到实质性的源码呀,别着急,再执行试试:
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://github.com/Jermic/Android-Crack-Tool
下载安装后,将上边得到的app直接拖进源文件中:
操作也简单,选择 「签名APK」 按钮,然后点击 「执行」 按钮就可以了:
执行后生成的 《一个TV-S.apk》 就是我们最终要安装测试的app了,安装试一下:
其实成功了,就是名称太长 「niceyoo博客」 没显示出来,ok,下一篇带大家深一步魔改APP。
小伙伴们不要慌,你慌我也慌,来都来了,关注一下,交个朋友。
带你反编译APP然后重新打包「MacOS」相关推荐
- java jar反编译后保存_java根据jar包反编译后修改再打包回jar的做法
1. 得到一个待要修改的jar包 2. 我的环境是windows,然后解压这个jar包,得到一堆class文件,这时候就找到你需要的那个class文件 3. 我首先是使用jd-gui工具看一下这个cl ...
- Android反编译odex然后重新打包
#Android反编译odex然后重新打包 最近不知道怎么回事,突然把我那刷了氧OS的root了,然后就开始好奇起来氢OS所带有的那些本地化的东西,比如通话录音就是典型的一个之一.其中也做了很多的尝试 ...
- android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测
android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测 https://dev.bangcle.com/ 业内专业的应用加固服务供应商 帮助数十万APP抵御破解风险, ...
- .asar反编译,electron打包以后反编译,使用node.js安装asar和反编译app.asar
1.以管理员身份打开Windows PowerShell 输入以下指令安装asar npm install -g asar 2.进行反编译 用Windows PowerShell切换到app.asar ...
- Android反编译apk并重新打包签名(Mac环境)
工具下载 apktool :https://ibotpeaches.github.io/Apktool/install dex2jar:https://github.com/pxb1988/dex2j ...
- mac版smali2java_Android反编译apk并重新打包签名(Mac环境)
工具下载 根据apktool网站提示的下载方法,右击wrapper script,链接存储为apktool,不要带拓展名 然后点击find newest here下载apktool.jar,选择第一个 ...
- python反编译加密文件_python打包的二进制文件反编译
简介 Pyhton是一个脚本语言,在运行Python代码时,最终由Python解释器来执行.解释器就是Python的运行环境,但是除了开发人员,大部分人在使用时并不会安装Python.所以官方就提供了 ...
- Android TV下LeanbackLauncher的反编译,AS重新打包修改
本文介绍Android 7.1平台下Google LeanbakLauncher的反编译流程,并使用AS工具重新打包修改. 最近需要开发一款TV桌面应用,调研了各类桌面,如当贝桌面,小米桌面,开源的猫 ...
- 反编译APP嵌入广告赚钱经验分享
app赚钱的方式很多,广告.内购.联盟等,而广告是个人开发者最为热衷的一种方式.因为在apk中嵌入广告代码几乎零门槛,不需要多么高深的技术,只要推广到位,收入也相对可观.这个流程总的来说其实就是在ap ...
最新文章
- MySQL 仅保留7天、一个月数据
- MySQL数据库一个字段对应多个值得模糊查询
- 英飞凌单片机TC264实战攻略
- php 分页类视频,php分页类_你不可错过的一个php分页类
- canvas 在其他画好的上面继续画_详解canvas绘制多张图的排列顺序问题
- 为什么 String hashCode 方法选择数字31作为乘子?
- Linux 错误: $'\r': command not found错误解决
- Linux检测内存泄露的脚本
- 软件测试学习视频教程-精通软件测试教程
- Oracle、plsql安装以及使用教程
- 互联网上的UFO教派
- 一文读懂阿里云直播技术是如何实现的
- IT人的家乡,湘西最美张吉怀高铁12月6日开通运营助力区域发展迈入快车道
- 学数学建模算法对计算机的好处,数学建模中常见十种算法 (期末论文).doc
- android 分享带图片的信息到彩信,微薄====
- 打包文件zip压缩包返回
- python作业:学生成绩表数据包括:学号、姓名,高数、英语和计算机3门课成绩
- iOS音频编程之实时语音通信
- 手把手教你用CS1802A开卡工具和MAS0902量产工具开卡CS1802A+镁光PFH18 N18颗粒
- 一个简单的密码生成器
热门文章
- [html] html的img标签为什么要添加alt属性呢?
- [html] input上传文件可以同时选择多张吗?怎么设置?
- [css] CSS3有哪些新增的特性?
- [css] css的属性content有什么作用呢?有哪些场景可以用到?
- [css] 什么是hack?css的hack有哪些?
- 前端学习(2444):分支的使用
- 前端学习(2320):typeScript的概述和安装
- 前端学习(2163):安装clint错误和ESlint规范
- 前端学习(1411):多人管理31数据分页2
- 第二十五期:5G预约用户超千万!是“虚火”还是“真旺”?