安卓反编译_apk可以反编译吗

安卓反编译_apk可以反编译吗本帖最后由好奇害死猫咪啊于2017-5-621:48编辑本教程为长期更新贴,有问题请及时反馈。如有更新请恕不另行通知。【前言】闲来无事水一贴。。。今天写个教程吧,反编译SystemUI实现状态栏时钟居中。其实说实话本来对华为靠右边的时间不怎么介意的,可一位朋友说什么也想换成类似iPhone的居中式,甚至不惜去刷XP框架,装重力工具箱。。当然了,结果大家可能已经想到了,首先是重力工…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本帖最后由 好奇害死猫咪啊 于 2017-5-6 21:48 编辑

本教程为长期更新贴,有问题请及时反馈。

如有更新请恕不另行通知。

【前言】

闲来无事水一贴。。。

今天写个教程吧,反编译 SystemUI 实现状态栏时钟居中。其实说实话本来对华为靠右边的时间不怎么介意的,可一位朋友说什么也想换成类似 iPhone 的居中式,甚至不惜去刷XP框架,装重力工具箱。。当然了,结果大家可能已经想到了,首先是重力工具箱对我大华为的 EMUI 支持不佳,其次是XP框架对华为支持不佳,最最重要的是,暂时没有安卓7.0的框架……吼吼,悲剧了哇~~~前几天突然想起这件事,就打算自己实践试试,备份在手,天下无忧……大不了重新刷机嘛~~后来居然成功了,激动~~

先来张效果图……

4a1200390b34ff11c00f8d7809b71c9b.gif

Screenshot_2017-03-31-07-34-27.png (932.89 KB, 下载次数: 44)

2017-3-31 13:00 上传

好了,现在正式开始……

【工具】

ApkTools工具包,ADB工具包(也可以用RE文件管理器,不过我更喜欢在电脑端操作,方便),一台已经装好 Java 并设置好环境变量的电脑,一台已经刷入了第三方rec的手机,啊对了,

仅测试了EMUI4.0,5.0的请勿测试!!

【背景知识】

在目前主流的安卓系统中,状态栏的显示是由 /system/priv-app/SystemUI.apk 控制的。因此我们只需要反编译它,修改控制状态栏的布局文件就可以了,全程不需要修改任何 smali 代码。因此理论上不需要对 SystemUI.apk 进行 deodex 处理,不过笔者使用的是已经 deodex 的 apk。尽管教程比较简单,但最好还是有一些关于 apk 的知识。

【测试机型】

Honor 7i 电信版 Android 6.0 EMUI 4.0.2

Windows 10 家庭版

【教程】

现在总结一下大致的思路吧~~~

1. 电脑装好 Java. 这一点不用我说了吧,教程在网上一抓一大把。下载 JDK 时要选择与电脑匹配的,配饰环境变量的时候要仔细些。当打开命令提示符,输入 Javac ,有一大串字符输出的时候,就可以了。否则,重复第一步……

2. 利用 Apktools 工具包。里面的工具已经更新过了。说到这里不得不吐个槽,现在在主流的刷机网站上能找到的工具基本上都是过时的,笔者的这个 Apktools 的更新时间居然是 2012年12月20日!!!!差评!无奈,幸亏笔者是老司机,平时有储备……咳咳,更新 aapt.exe ,更新 Apktools,更新了使用脚本……好吧,跑偏了。

3. 提取系统的 framework-res.apk、framework-res-hwext.apk 和 SystemUI.apk。你可以使用 RE 文件管理器复制到手机存储在导出到电脑。笔者直接利用 adb 命令导出。建议你将 ADB 工具包内的文件全部解压到 C 盘,WINDOWS 文件夹下的 System32 文件夹,这样在任何目录下都能使用 ADB 命令。然后桌面上不选择任何内容,按住 Shift 键同时鼠标右键,选择 “在此处打开命令窗口”。之后我们的一些操作都是在命令行下完成,因此最好不要关闭。使用以下命令拉取文件到电脑:

adb pull /system/framework/framework-res.apk

adb pull /system/framework/framework-res-hwext.apk

adb pull /system/priv-app/SystemUI/SystemUI.apk

要注意,手机要打开 USB 调试。而且严格区分大小写。

4. 反编译 SystemUI.apk ,找到状态栏的布局文件,然后修改一下即可

5. 回编译。并将回编译后的 Apk 文件中的 resources.arsc 和 status_bar.xml 文件 替换掉原文件本身内的相应文件。

6. 手机重启到rec,将修改后的 SystemUI.apk 推到手机,重启。至此,全部步骤完成。

然而,然而,然而!重要的事情说三遍!考虑到太多的篇幅会让小白同志们看到不耐烦,本人特地写了一个一键程序!!!!!!!!!小白专属,一键搞定!!鼓掌撒花!

【使用截图】

4a1200390b34ff11c00f8d7809b71c9b.gif

1.PNG (30.85 KB, 下载次数: 18)

2017-3-31 13:00 上传

4a1200390b34ff11c00f8d7809b71c9b.gif

2.PNG (28.05 KB, 下载次数: 15)

2017-3-31 13:00 上传

4a1200390b34ff11c00f8d7809b71c9b.gif

3.png (31.96 KB, 下载次数: 21)

2017-3-31 13:00 上传

工具的使用也是极其简单的,下载之后是一个压缩包,解压全部内容之后放到桌面,点击里面的 “开始.exe”,再按照步骤就可以了。

【注意事项】

1.  请严格按照工具内的步骤执行,过程中不要随便对手机和电脑进行操作,如果遇到工具中提示“完成后按任意键继续”的字样,请一定要完成后再按任意键继续!不要关闭工具窗口,只要最小化就行了。

2. 仅测试了 EMUI 4.0.2 版本,成功!考虑到反编译工具的有效性,EMUI5.0的请勿测试!

3. 工具内提供了作者的联系方式,如有问题请及时反馈。本帖为不定期更新贴,有了反馈后,作者也会在第一时间进行修复 bug 与更新。

4. 任何工具和教程都不可能百分百成功!尤其是此类修改系统文件的。建议做好备份。

5. 本人对不正确使用本工具从而造成的各种后果不负责任。

6. 您可以向作者索要源代码,您也可以对其进行任意形式的修改与再发布。不过请您注明原作者信息。

7. 转载请注明出处。最终解释权归原作者所有。

【工具下载】

( 内含Apktools工具,你只要安装好 Java ,准备好一个好用的文本编辑器就可以了 )

文件名称: Tools_StatusBarTimeCenter_EMUI4.0.2_v1.0_2017.3.31

文件格式:zip

文件大小:9.10MB

文件下载:

游客,如果您要查看本帖隐藏内容请回复

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192032.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二十种电容分类详解(附常用电子元件实物图片大全)

    二十种电容分类详解(附常用电子元件实物图片大全)转载—嘉峪检测网2020-04-2320:50以下为正文:一、瓷介电容器(CC)1.结构用陶瓷材料作介质,在陶瓷表面涂覆一层金属(银)薄膜,再经高温烧结后作为电极而成。瓷介电容器又分1类电介质(NPO、CCG);2类电介质(X7R、2X1)和3类电介质(Y5V、2F4)瓷介电容器。2.特点1类瓷介电容器具有温度系数小、稳定性高、损耗低、耐压高等优点。最大容量不超过1000pF,常用的有CC1、CC2、CC18A、CC11、CCG等系列。2、3.

    2022年8月22日
    3
  • fromopen函数通达信_precision函数

    fromopen函数通达信_precision函数apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。  不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。 apply方法的签名为“apply(Objectobj,Objectconfig,Objectdefaults):Object”, 该方法包含三个参数…

    2022年7月28日
    3
  • plsql格式化sql语句_notepad格式化sql

    plsql格式化sql语句_notepad格式化sql有时候有些语句特别长的时候,可读性特别差,这时候我们不妨可以使用plsql自带的快速格式化语句功能,帮助我们快速格式化语句未格式化前格式化后 …

    2022年10月12日
    0
  • RXJava原理_JavaScript的执行原理

    RXJava原理_JavaScript的执行原理RXJava简单理解首先,rxjava是什么?其实对于刚接触rxjava的宝宝而言,只需要掌握两点:观察者模式异步处理观察上图,清楚生动刻画出了rxjava的观察者模式:开关(被观察者)作为的是事件的产生方(产生“on”和“off”这两个Event),有它发起这起开关的事件。台灯(观察者)作为事件的处理方(处理的是“on”和“off”这两个事件),被动的执行on和off。

    2022年10月22日
    0
  • java nio_(一) Java NIO 概述[通俗易懂]

    java nio_(一) Java NIO 概述[通俗易懂]一、阻塞IO与非阻塞IO阻塞IO:通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(ThreadperRequest),服务器会为每个客户端请求建立一个线程,由该线程单独负责处理一个客户请求。这种模式带来的一个问题就是线程数量的剧增,大量的线程会增大服务器的开销。大多数的实现为了…

    2022年7月8日
    29
  • JavaScript禁用浏览器后退按钮

    JavaScript禁用浏览器后退按钮~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~开发工具与关键技术:vs2015JavaScript作者:黄海峰撰写时间:2020.12.18~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1、代码如下:<scriptlang.

    2022年7月25日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号