使用 WSL 反 odex 化卡米

前言

MIUI 这玩意,用起来感觉还行,就是广告和内置垃圾应用比较毒瘤。有些删了重启又回去了,有些删了直接给你卡米,这怎么能忍?
搜索了一下,网上的很多方法较老旧,并不适用于安卓P :huaji12: ,所以有了本文。本文使用的是 Windows 10 下的 Linux 子系统,Mac OS 和 Linux 系统也类似,参考 vdexExtractor 项目说明即可。
下面的 一~三 步是使用 WSL 反编译并合并 dex 的,如果不想反编译 (看起来有点麻烦,其实不难 :huaji18: ) ,可以直接使用 镧·系统工具箱2.0 中的黑域一键补丁实现合并操作,不过会多出来一个黑域。

零、确认是否需要执行下面一 - 三步操作

直接打开 /system/framework/services.jar 查看,里面是否含有 classes.dex,如果有,可直接跳到第四步,我最近升级了 MIUI12 发现有这玩意了,真省事。

一、安装 WSL

1. 前往控制面板添加 Windows Subsystem for Linux 功能
wsl1.jpg

2. 前往 Microsoft Store 安装 Linux,这里以 Ubuntu 为例
wsl2.jpg

3. 设置用户名和密码
wsl3.jpg

二、编译 vdexExtractor

1. 环境配置:依次执行以下命令,第一次可能需要输入密码,遇到 Y/n 全部 Y

sudo apt update
sudo apt install libz-dev
sudo apt install make
sudo apt install make-guile
sudo apt-get install build-essential
sudo apt install unzip

2. 克隆并编译 vdexExtractor

git clone https://github.com/anestisb/vdexExtractor
cd vdexExtractor
./make.sh gcc

wsl4.jpg

三、反编译 services.vdex

1. 解锁并 ROOT 系统

2. 给手机安装 MT 管理器,给予 ROOT 权限

3. 复制 /system/framework/oat/arm64/services.vdex/system/framework/services.jar/sdcard

4. 将 services.vdex 复制到电脑,以 D 盘根目录为例,执行以下命令即可获得 .dex

~/vdexExtractor/tools/deodex/run.sh -i /mnt/d/services.vdex -o /mnt/d/

注:第一次执行命令会访问 Onedrive 下载一些组件,请确保电脑可以打开 https://onedrive.live.com
wsl5.jpg
wsl6.jpg

5. 将得到的 .dex 文件重命名为 classes.dex 复制到手机,使用 MT 管理器 将其添加进 services.jar
wsl7.jpg

四、编辑 services.jar 去除卡米限制

1. 用 MT 管理器 打开 services.jar/classes.dex ,选择 Dex编辑器++
wsl8.jpg

2. 搜索 .method private checkSystemSelfProtection(Z)V 并打开
wsl9.jpg

3. 删除几行长的,如下图(不是删掉图上选中的,是删成图上这个样子)
wsl10.jpg

4. 修改后一路退出并保存即可,将修改后的 services.jar 替换回原路径,设置权限 0644,并删除 services.vdex 和 services.odex 即可
如果无法替换,可尝试使用 syslock 解锁 system 分区,或者直接进入第三方 REC 完成替换

五、enjoy!

删除广告三大件:(此部分不反编译删除也不会卡米)
/system/app:AnalyticsCore,mab,MSA

删除毒瘤应用商店,桌面文件夹资源推荐和下载管理器里资源推荐的罪魁祸首 :yinxian:
/system/app:MiuiSuperMarket

删除毒瘤浏览器:
/system/priv-app:Browser

删除毒瘤音乐和视频:
/system/priv-app:MiuiVideo,Music

别的自己看着删吧,玩坏了大不了刷个机 :huaji4:

使用的开源项目

https://github.com/anestisb/vdexExtractor

点赞
  1. 张波博客说道:

    这样搞会不会变砖呀??对了,能请问你怎么把这个主题原带的评论区的表情删掉嘛,放在上面没有意义!

  2. 讲个笑话,其实没root也是可以去掉的,就是从根源下手:魔改system.img。 :huaji2: :huaji:
    然后怎么刷进去你知道的,刚刚测试完。 :huaji14:

    1. 小白-白说道:

      :huaji23: 嗯!提高了操作逼格,是个好方法

  3. 援军说道:

    :huaji17: Too long no see

  4. a17104说道:

    感谢,终于删掉小米应用商店了 :haha:

  5. mayx说道:

    没看出来和wsl的关系呢!
    好像只要root了就可以直接在手机上完成所有操作了吧(另外除了应用商店以外其他几项不root也可以卸载)

  6. ohmyga说道:

    :huaji5: 上次就是用旧方法,标准结局

    1. 小白-白说道:

      标准结局是啥

      1. ohmyga说道:

        卡米

        1. 小白-白说道:

          不对啊 旧方法根本无法运行啊...

          1. ohmyga说道:

            那个方法在MIUI论坛找到的(那帖子15年发的, 当时就照着改 重启后就卡米了(?

  7. Fonixary说道:

    12.5.12 需要关闭 odex 优化,不想从头改系统包,adb 调试无效无命令。也不知道文件套修改咋搞,咋搞?

回复 洛水.山岭居室 取消回复

电子邮件地址不会被公开。必填项已用 * 标注