摆脱xposed框架 阻止运行补丁制作教程。

 
发表于 2016-8-16 19:33   |   来自安卓客户端 显示全部楼层 [复制链接]   
29002 3  

一些必要的前提工作。

* 本教程基于windows平台,适用于原生系ROM,其他ROM请做好备份工作。
所需的文件下载:
游客,如果您要查看本帖隐藏内容请回复

环境搭载和工具下载  1.自行下载安装对应平台的JDK,然后配置Java环境。
JDK下载:
游客,如果您要查看本帖隐藏内容请回复

    配置JAVA环境教程:
游客,如果您要查看本帖隐藏内容请回复

2.下载网盘里面的ADB工具包,即ADB.zip。解压可得到ADB文件夹。
3.下载smali.jarbaksmali.jar请使用2.1.1及以上版本,最新版本最好。

    下载链接:
游客,如果您要查看本帖隐藏内容请回复

    下载完之后分别改名为smali.jar,baksmali.jar,然后放入ADB文件夹。
4.下载网盘里面的阻止运行源码,解压后把aosp文件夹里面的文件全部复制到ADB文件夹内。
    其中后缀名为md的文件即为对应系统版本的ROM补丁制作的简易教程  。

* 完整文件如上


补丁制作教程的方法。
第一种ROM补丁制作方法(推荐。)
这里以android6.0为例,5.0和5.1只需打开对应md文件,替换为对应命令行操作即可。
1 安装网盘里面的Git-2.8.1-64-bit.exe,32位系统请自行下载
游客,如果您要查看本帖隐藏内容请回复

2 自行把手机系统system/framework/services.jar提取到ADB文件夹内,如果`services.jar`很小,只有几百个字节的话,这里不做讨论自行参考下面的帮助文档。
3 打开readme-6.0-zh.md帮助文档,5.1系统就打开readme-5.1-zh.md,5.0系统就打开readme-5.0-zh.md
         建议使用Notepad++或者Notepad2打开
4 在ADB文件夹内右键鼠标,点击右键菜单的Git Bash Here.
5 反编译 `services.jar`  ,以下命令行均为android6.0使用,5.1和5.0自行替换为对应的命令行。PS.右键粘贴回车

  1. java -jar baksmali.jar -a 23 -b -s services.jar -o services
复制代码
6 打补丁。因为安装了Git for windows,所以在这里我们可以直接使用linux的命令行
  1. patch -p0 < api-23.smali.patch
复制代码
7 重新打包 `services.jar`,一行一行的复制粘贴
  1. java -jar smali.jar -a 23 -j 1 -o classes.dex services
复制代码
8 再输入
  1. jar -cvf services.jar classes.dex
复制代码
9 将新生成的services.jar改权限rw-r-r移动到system/framework/,替换,重启。


第二种ROM补丁制作方法
这里以android6.0为例,5.0和5.1只需打开对应md文件,替换为对应命令行操作即可。
1 Patch 打补丁。下载网盘里面的patch-2.5.9-7-setup.exepatch-2.5.9-7-src-setup.exe并安装。
      找到Patch for Windows安装目录(X盘:\Program Files\GnuWin32\bin),把里面的Patch.exe复制到ADB文件夹。
2 打开readme-6.0-zh.md帮助文档,5.1系统就打开readme-5.1-zh.md,5.0系统就打开readme-5.0-zh.md
        建议使用Notepad++打开
3 在ADB文件夹内按住Shift并右键鼠标,点击右键菜单的“在此处打开命令行窗口”

4 连接手机,确保打开了USB调试。验证连接是否正常,在CMD窗口中输入以下命令: Adb devices     
       如果看到CMD显示一串字符,后面还有一个“device”的字样,那就说明连接正常。
5 命令行操作。
      从“adb pull /system/framework/services.jar”开始,一行一行复制粘贴回车运行
      PS1:系统没有odex的,可以跳过“反编译 services.odex”的步骤
      PS2:windows命令行的第一行“:: Windows 使用”别傻乎乎输进去了,第二行“move patch.exe p@tch.exe”只是改个exe名字而已,可以手动改
6 把生成的services.jar检查一下体积,体积只有几个字节的说明生成失败,体积比手机“system/framework/”下的jar小一点是正常。例如我原文件2M+,制作补丁后1M+。
7 把新生成的services.jar改权限rw-r-r移动到system/framework/,替换,重启。



总结
第一种制作方法在打补丁步骤时不容易出错,命令行少,不过好像不支持ADB命令,要手动提取services.jar;
第二种制作方法支持ADB命令,不过有的同学在打补丁步骤时可能会出错。
可自行选择适合自己的方法。

本教程基于阻止运行作者“liudongmiao的指导文档和酷安小编“八百标兵”的简易教程制作,在此表示感谢。
感谢阻止运行作者“liudongmiao”的付出。

205457m7fwwofuwgcfycgy.png.thumb.jpg
232609l11fddsw1yocdy1f.png.thumb.jpg
215948dwbj22e5had551b2.png.thumb.jpg
3条回复
来自PC浏览器 发表于 2019-8-26 21:53:03 | 显示全部楼层
楼主好人
回复

使用道具 举报

来自安卓客户端 发表于 2019-8-26 23:11:12 | 显示全部楼层
不错不错的
回复 支持 反对

使用道具 举报

来自手机浏览器 发表于 2020-1-22 09:35:27 | 显示全部楼层
了了了了了了了了了了了了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则