此方法只针对于修改别人修改你的build.prop或者直接盗用你的系统/system/bin文件下的文件

1.首先看你的手机的init.d是以什么方式来支持的,一般的CM和部分自制ROM是通过修改/system/bin下的某个文件来实现支持init.d的 还有的则是通过修改内核来实现的,不过万变不离其宗 实际原理和效果都是一样的,只是前者更为灵活。

如果你的是通过修改文件来支持的,那么我们可以直接在这个文件里面修改,也可以从新拦截一个bin文件来修改,我推荐前者,这样会减少不稳定因素,但是如果你的ROM本来就不支持init.d 那么我们就得去找一个文件来拦截了

想要知道什么文件在手机开机的时候启动?解包一个内核,查看里面的init.rc

找到类似这样的语句

service netd /system/bin/netd

不一定得和我这个一样,这个是我举例子随便找的,最好是照那种不会太影响系统功能的服务来进行拦截,这里就拿这个来举例了

我们在/system/bin下找到这个netd 给他重命名,如果为了更加保密,你可以定义一个新的名字或者毫不相干的名字,只要你自己知道就好了,这里我给他命名 donet

好 我们再新建一个空文本,去掉后缀,文件命名为netd 用来充当李鬼

在里面加入shell的声明语句

#!/system/bin/sh

接下来我们就开始验证我们的build.prop的内容了

v=`getprop ro.build.lge.version.release`;

set — $v; if [ ! "$1" == "Optimus" ]; then reboot; fi;

这句的意思,定义一个变量v,内容为一个字符串 这里这个字符串就是我们的命令

getprop ro.build.lge.version.release

getprop的命令是用来读取build.prop文件的,后面加上要读取的对象,我这里举例是读取的

ro.build.lge.version.release

大家可以根据自己的build.prop来修改(比如ro.build.display.id之类的)

在我的build.prop里

ro.build.lge.version.release=Optimus V2

所以

if [ ! "$1" ==

"Optimus" ]

如果变量不等于Optimus

Then 那么

Reboot 重启

Fi
if语句结束标识符

到这里 拦截的步骤就完成了,我们还需要启动原来的我们的服务

为了能够成功启动原来的服务 这里推荐在init.d启动脚本里面去添加 不要在这个文件添加,但是如果在启动脚本里面添加容易被看出来 如果大家测试在这个文件里面不能成功启动,那么就只要在init.d里面添加了。

/system/bin/donet

这里也可以不写入路径,直接写donet,更具有隐蔽性

OK,记得在updater-script里面给我们的donet和netd给权限

教程到此结束 希望对大家有帮助。

  • 免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。Viv-Media联合大众网对此不承担任何保证责任。
  • 关于我们|提交网址|提交资讯|提交问答|友情链接|网站地图|广告赞助|帮助中心|举报中心|联系我们|国际站
  • Viv-Media联合大众网法律声明|服务条款|隐私声明|免责声明
  • Copyright 2010-2020 ©viv-media.com Corporation. All rights reserved. 冀ICP备11000884号-1  版权所有 Viv-Media联合大众网  合作伙伴:魅力文学网