切换屏幕
23330阅读 | 76回复

[教程] 『WEIP技术组』完美手动正确的卸载清除badiosbad插件的方法

  [复制链接]
372主题5611帖子3万人气

级别: 版主

我的微博:http://t.sina.

帖子
5611
经验
14929
精华
45
人气
37097
发表于 2018-7-14 06:54:33 |浏览量 | 显示全部楼层 |阅读模式
本帖最后由 cdsq 于 2018-7-14 23:14 编辑


『WEIP技术组』CDSQ


about uninstall badiosbad‘s Simple version: First uninstall badiosbad in Cydia, if you report the error, please ignore, completely quit Cydia, and then delete the .prerm file containing badiosbad in /var/lib/info directory, then you can use Cydia to uninstall normally!

真正完美手动正确的卸载清除badiosbad插件的方法



今天很多人在微博上找我,他们都是装了那个屏蔽OTA更新,Beta版更新提醒和防止证书注销的 badiOSBad 插件在更新时出现死循环,导致一安装空白,任何程序安装都出错,在微博上找了一个“小白兔”给他完美修复,并且将过程完整的截图了,特意发一下处理的原理和过程

(其实本教程不光是教你们怎么去手动清理这一个插件,正常通过Cydia安装的插件理论上都可以按照此方法做)



我所使用的工具主要为我修改的增加了各种常用快捷命令的 WinSCP

下载地址

WinSCP威锋技术组绿色用户中文版_v5.13.3.zip:  https://wecdsq.pipipan.com/fs/17727294-296235948

首先是WinSCP 和设备的连接

WinSCP 是基于远端设备 OpenSSH 服务的一个客户端程序,只要是越狱过的机器且安装过或越狱程序自带SSH服务的都可以通过它来连接

连接一般主要是通过IP地址来连接的,互联的PC和iOS设备需在同一个网段(也就是说连在一个路由器上),
打开WinSCP 在主机名输入 iOS 设备的Wi-Fi地址,
端口号除非特别注明(越狱程序如果有自带服务且不为 22 端口号时会单独特别说明的)一般为22,
然后用户名为:root (我们肯定要通过root来获得最高的权限呀)
密码除非你修改过,一般默认为小写的:alpine

如图

Wi-Fi.jpg

另外一种连接方式就是需要 iOS 设备在能够和 PC 通过数据线联机的情况下,通过助手工具创建一个虚拟网络的 USB 连接通道,地址为 127.0.0.1
端口号除非被其它程序占用,一般为 22,在创建 USB 通道是会在弹窗告诉你的,一般这个功能都有通道或隧道2个字,比如:爱思助手在工具箱里面,为“打开SSH通道” ,iTools 也是在工具箱里面,功能开关名为:SSH 通道,我仅以 iTools 为例截图
iTools.jpg
这个时候 WinSCP 连接的主机名就固定为 127.0.0.1 了,如下图  
当然你也可以有线无线同时连接

USB.jpg

选好连接方式后点击 “登陆” 来登陆 iOS 设备,使用 WinSCP 来通过 SSH 服务连接 iOS 设备基本上可以说可以任意修改设备文件,执行各种命令,完全可以把 iOS 设备当一台远程电脑来通过 SSH 协议控制它了!点击登录在连接好时会提示密钥安全风险,我门只需要点击更新就行,如果是 mobile 用户登陆,则自动进入 /private/var/mobile 文件夹,如果使用 root 用户登陆,默认会进 /private/var/root 文件夹,这些都不用管,进都进来了,你管我咋滴

UI.jpg
设备的连接就到这,下面是

Cydia 的安装&卸载 原理

一个越狱商店的插件或应用一般使用 Debian 的包管理形式,文件均为 deb 后缀名的文件,而一个 DEB 文件实际上是由2个 tar 包组成,其中 control 包含此安装包的安装信息及控制脚本包, 包含deb的安装说明,标识,脚本等;data 为安装包所要复制的按照 iOS 设备的包含的是实际安装的程序数据,而在安装过程中,该包里的数据会被直接解压到根目录(即 / )

安装

当我们在通过 Cydia 包安装管理器安装一个插件或者应用时,首先会通过 apt 命令将 deb 包下载到 /var/cache/apt/archives 目录,然后解压至临时文件夹,control 包的全部安装&卸载脚本文件前面加上 deb 包的包名并移至 /var/lib/dpkg/info(如果有的话) 然后检查 control 包内是否有 preinst 脚本,如果有,则在解包data 之前运行,然后解压 data 至根目录,同时在 /var/lib/dpkg/info 目录下生成一个 deb 包的包名为前缀的list 解压文件清单目录文件,数据解压完成后检查是否有 postinst 安装脚本,有则执行,同时,将 control 的内容写入到 /var/lib/dpkg/status 这个安装清单文件里面,如果安装无误,会在这个插件的信息段插入一行:Status: install ok installed 的标示表明此安装包已正确安装,整个安装过程完成。

卸载

当执行卸载命令时,首先检查 /var/lib/dpkg/info 目录下是否有卸载插件的 包名.prerm 的预卸载脚本,有就先执行此脚本,然后根据 /var/lib/dpkg/info 目录下的包名.list 里面的文件清单全部删除,删除完毕后再检查 /var/lib/dpkg/info 目录下是否有  包名.postrm 脚本文件,有则执行,全部完成后则清除 /var/lib/dpkg/status 里面的程序信息段,然后将 /var/lib/dpkg/info 目录下的相关文件删除,如果脚本在安装过程中出错,则会停止卸载,在 status 清单文件里面做上问题标记,当你再次运行 Cydia 时则会继续尝试去执行卸载。

升级,更新
当我们升级更新一个插件包时,实际上就是一个卸载再重新安装的过程,所以一旦卸载脚本出错,则会陷入一个死循环!那么就只能通过查看卸载脚本找到问题点来跳过让其正确完成卸载达到修复目的


实战badiosbad插件完美手动正确的卸载

首先我们知道此插件在卸载的过程中出错导致陷入死循环,那么我们就线看看卸载脚本和list清单文件,看看放了卸什么文件,那个卸载部分出现问题

我们通过 WinSCP 进入 /var/lib/dpkg/info 目录,浏览一下文件,找到有 badiosbad 的文件(实在是搞不懂本身免费的插件,这个样本还跑搬运源去装)
1.jpg

在这里我们可以看到卸载脚本为prerm,则说明卸载是在执行删除安装的文件之前要运行的,而正是这个脚本有问题导致无法继续,那么我们先来看看预卸载脚本到底问题出在哪,在 prerm 脚本文件上右键,选择编辑打开这个脚本文件

3.jpg


上半部分一看就是对 hosts 文件的处理,其中前面加了 # 符号的其实都是注释用来显示的不管它,然后下面有几个 mv 命令,一看就是要把之前安装时安装脚本改名的和搬移的文件还原的

首先看这段命令:
mv /System/Library/LaunchDaemons/com.apple.softwareupdateservicesd.plist.bk /System/Library/LaunchDaemons/com.apple.softwareupdateservicesd.plist

这段命令就是要将 /System/Library/LaunchDaemons/ 目录下的 com.apple.softwareupdateservicesd.plist.bk 文件改名,去掉备份的bk后缀,好去这个目录看看这个文件,结果进去一看,com.apple.softwareupdateservicesd.plist.bk 没有,只有正常的没有加 .bk 的原始文件

mv 命令要去修改 /System/Library/LaunchDaemons/com.apple.softwareupdateservicesd.plist.bk 文件,而这个文件又不存在,不出问题才出鬼

好了,不管那么多了,反正文件已经改回来了就不管了,把其它几个 mv 命令所要操作的文件,目录都检查一遍,结果文件其实都已经复原了。。。。
4.jpg

好了,文件的操作没问题就不管了,然后检查脚本有一行:
launchctl load /System/Library/LaunchDaemons/com.apple.softwareupdateservicesd.plist
5.jpg
这个是要 iOS 系统重新加载这个软件更新服务的命令,我们尝试直接用终端命令行去执行它,先复制这条命令,然后点击上面的终端命令行按钮
6.jpg

将复制的命令粘贴到命令框中点击执行
7.jpg

结果出现错误提示,其实这个也不算错误,只是告诉你这个服务已经加载了,不需要再加载了而已,那就不管它了,继续检查

8.jpg

已正常

那么卸载脚本的命令全部检查完了,对应的结果就是这个脚本其实运行不运行无所谓了,那就不管它了
脚本检查完成后揭下来就是检查这个插件的安装包往系统里面增加了一些什么文件,打开 list 文件

2.jpg

可以看到安装包在 /Library/MobileSubstrate/DynamicLibraries 目录下添加了2个文件,进目录看着2个文件在不在,在就删除,不再就不用管了

好,所有的文件都清理完了,接下来就是手动编辑 Cydia 的插件安装包清单表文件了,在 /var/lib/dpkg 目录里面找到 status 文件,选中然后右键去编辑
10.jpg

打开文件后,我们利用这个插件名称做为关键字去搜索插件信息段位置
11.jpg

定位后,将整个信息段部分选中删除,注意上下部分的信息段中间要有一个空行分隔开
12.jpg

删除后的结果如图
13.jpg

修改好后点击左上角的单磁盘图标保存

同样的,还有一个 status-old 文件,这个文件是最后一次安装前的备份,检查一下,如果有插件信息段,同样删除它

最后将文件清单表和安装卸载脚本全部删除
14.jpg

这里面有一个 md5sums 的文件,他是安装时生成的一个校验文件,也一起删除,就是说只要是包含这个包信息的文件全部删除!

然后插件就完美卸载干净了!!!

15.jpg


综上所述,为什么建议你们不要直接将程序包丢进去,这也是一个原因:不好管理!



OK 了!睡觉去!!!

完成于 2018.07.14  早七点!早安!


祝各位搞机顺利,认认真真做个高玩!

记住一点,越狱了不代表就可以乱来了!!!!

评分25

评分次数25

we券+66 经验+71 人气+217

收起
鋒燁 + 5 2018-10-16 22:06威锋有你更精彩:)
麋鹿Elk + 10 2018-10-16 20:53卧槽 好复杂
孤_1984 + 3 2018-9-18 17:56精品文章^_^
lidatou + 8 2018-8-1 15:42感谢分享^_^
omgpop + 3 2018-8-1 11:49威锋有你更精彩:)
我依然迷茫 + 2 2018-7-27 09:27winscp连接不上网络,悲剧
好多鱼好多鱼 + 3 2018-7-16 19:38精品文章^_^
过客~匆匆 + 66 + 66 + 66 2018-7-16 18:16精品文章^_^
茎肛互撸娃 + 10 2018-7-15 08:56不愧是技术组!
leskady + 5 2018-7-15 07:31威锋有你更精彩
_Simon_ + 10 2018-7-14 17:01c大出手 哈哈哈 精品
gqy2014 + 1 2018-7-14 14:50助人为乐^_^
drakex + 10 2018-7-14 14:03威锋有你更精彩
李大侠丶11 + 1 2018-7-14 13:13马克
沙壁退散 + 10 2018-7-14 13:03大佬好
尒宁 + 5 2018-7-14 12:17威锋有你更精彩
七度鱼 + 5 2018-7-14 11:58还是当年的C大!
七魄 + 5 2018-7-14 11:49威锋有你更精彩:)
Funky8 + 7 2018-7-14 11:28威锋有你更精彩
落雪飞花 + 10 2018-7-14 11:26威锋有你更精彩:)
原来我不帅丶 + 5 2018-7-14 08:41辛苦了
ljhspeed + 1 2018-7-14 08:35威锋有你更精彩
祗昰銪點壞 + 5 2018-7-14 07:38C大威武,卸载了在info里面没找到badiosbad的那几个文件,是不是表示已经卸载干净了.
weixiangnan + 12 2018-7-14 07:20感谢分享。
糖醋丶炒排骨 + 5 + 15 2018-7-14 06:56威锋有你更精彩

Signature

威锋深度中毒者<br />本人精华:1:https://www.feng.com/thread-244099-1-1.html<br />2:http://www.feng.com/thread-259821-1-2.html<br />3:http://www.feng.com/thread-227586-1-1.html
149主题4172帖子9358人气

级别: 实习版主

声望   -23333

帖子
4172
经验
9600
精华
4
人气
9358
发表于 2018-7-14 06:56:14 |威锋客户端 | 显示全部楼层
感谢分享
42主题2249帖子224人气

级别: 金苹果

麻仓优秀

帖子
2249
经验
2334
精华
人气
224
发表于 2018-7-14 06:58:00 |威锋客户端 | 显示全部楼层
老大好
29主题92帖子116人气

级别: 白苹果

再也不手贱研究什么断

帖子
92
经验
906
精华
人气
116
发表于 2018-7-14 07:04:14 |威锋客户端 | 显示全部楼层
非常感谢楼主分享,学习了
70主题890帖子79人气

级别: 白苹果

帖子
890
经验
978
精华
人气
79
发表于 2018-7-14 07:07:14 |威锋客户端 | 显示全部楼层
31主题355帖子63人气

级别: 红苹果

帖子
355
经验
398
精华
人气
63
发表于 2018-7-14 07:10:07 |威锋客户端 | 显示全部楼层
感谢楼主分享啊!!!!!!
50主题1153帖子133人气

级别: 白苹果

帖子
1153
经验
1199
精华
人气
133
发表于 2018-7-14 07:13:29 |威锋客户端 | 显示全部楼层
牛bi
41主题1364帖子83人气

级别: 白苹果

帖子
1364
经验
1407
精华
人气
83
发表于 2018-7-14 07:13:52 |威锋客户端 | 显示全部楼层
这个插件怎么了
12主题804帖子21人气

级别: 白苹果

帖子
804
经验
769
精华
人气
21
发表于 2018-7-14 07:16:24 |威锋客户端 | 显示全部楼层
火钳留名
21主题124帖子31人气

级别: 青苹果

帖子
124
经验
144
精华
人气
31
发表于 2018-7-14 07:17:47 |威锋客户端 | 显示全部楼层
佩服,写那么多
您需要登录后才可以回帖 登录 | 注册

本版积分规则