Usage: prevent_patch.cmd <sdk-version>.
sdk-version:
19: Android 4.4 KitKat
20: Android 4.4W
21: Android 5.0 Lollipop
22: Android 5.1 Lollipop
23: Android 6.0 Marshmallow
24: Android 7.0 Nougat
25: Android 7.1 Nougat
26: Android 8.0 Oreo
27: Android 8.1 Oreo
28: Android 9.0 Pie
-
ADB, 存在于 Android platform tools 中 -
Python, 最新的 2.X 或者 3.X,用于运行补丁程序
-
JDK, Java SE 8 (JDK) 以上,smali/baksmali 需要 Java 7,而 oat2dex 需要Java 8
-
设备或ROM中提取
services.jar,boot.oat,services.odex,services.vdex。
$> adb pull /system/framework
-
Android 4.4 或者非 odex 优化版本 (
services.jar在 1M 以上), 将services.jar放入work_dir目录即可。 -
Odex/vdex 优化版本 (
services.jar在 1M 以下),将services.jar放入work_dir目录,boot.oat、services.odex、services.vdex放入work_dir/odex目录即可。 -
Android 7.0 及以上版本中的
boot.oat可能依赖同目录下的其它文件,如果boot.oat或services.odex出现在多个目录,使用任意一个即可。
$> prevent_patch.cmd <sdk-version>
执行结束,work_dir中会生成中间目录services,文件classes.dex以及目标文件services-p.jar。
补丁完成后,请做好备份,用services-p.jar替换设备中的services.jar,并删除设备中原始的services.odex,重启即可。
-
Android 8.0 以下版本直接安装
hy.apk即可。 -
Android 8.0 以上版本需将
hy_oreo.apk拷贝至/system/app/Brevent/Brevent.apk,安装为系统应用即可。