MBR勒索之手动修复引导

MBR勒索是把一段shellcode写入到磁盘引导里面,使得开机时不能正常引导进入系统,平常遇见的MBR勒索病毒都是易语言大手子写的模块,供其他人使用,只要是勒索就肯定会有恢复的方式,所以今天就写一篇手动修复MBR的文章
首先运行一个MBR勒索病毒,直接写MBR重启电脑
在这里插入图片描述
重新进入系统时界面上就显示了一个QQ号,很简洁
在这里插入图片描述
键盘输入会显示,这是一个典型的MBR勒索
我们不知道密码不能进入系统,想要手动恢复的话我们需要一个能够进入PE系统的PE盘,具体如何做PE盘,这里不做讲解
进入PE系统,运行BOOTICE
在这里插入图片描述
下图可以看到首扇区已经不是正常的引导,而是变成了勒索信息,遇见这样的我们不要慌张,只要不是像彩虹猫那样专门破坏MBR的病毒,一般勒索都是可以还原的

在这里插入图片描述

一般易语言MBR勒索通常都是把引导信息放在第三个扇区,我们跳转到第三个扇区看看,果然引导信息在这里

在这里插入图片描述

这样的我们直接把第三个扇区的数据覆盖到第一个扇区上即可,不过为了避免意外,我们将前几个扇区先备份一下,备份完成后,我们把第三个扇区的数据覆盖到第一个扇区上,覆盖完成,点击保存

在这里插入图片描述

打开分区管理,分配盘符,分配到C盘

在这里插入图片描述

然后重启电脑,这时已经可以正常进入系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
读写MBR的,不要乱试所电脑的 .版本 2 .支持库 spec 连续赋值 (“”, 编辑框2.内容, 编辑框3.内容, 编辑框4.内容) .如果真 (读取MBR (buffer)) 调试输出 (buffer) 字节集到十六进制 (MBR文本, buffer, “ ”) .如果真结束 MBR分割处理 = 分割文本 (MBR文本, “ ”, ) .计次循环首 (取数组成员数 (MBR分割处理), i) .如果真 (i ≤ 446) 编辑框2.内容 = 编辑框2.内容 + 到十六进制 (buffer [i]) + “ ” .如果真结束 .如果真 (447 ≤ i 且 i ≤ 510) 编辑框3.内容 = 编辑框3.内容 + 到十六进制 (buffer [i]) + “ ” .如果真结束 .如果真 (511 ≤ i 且 i ≤ 512) 编辑框4.内容 = 编辑框4.内容 + 到十六进制 (buffer [i]) + “ ” .如果真结束 .计次循环尾 () .子程序 十六进制到字节集, 字节集, 公开, 若参数一不为空,将返回空字节集 .参数 字节集变量, 字节集, 参考 可空, 用来保存转换后的字节集数据.若空,以返回值返回结果 .参数 十六进制文本, 文本型, 参考 .参数 分隔符号, 文本型, 可空, 默认分隔符号为 “,” .局部变量 计次, 整数型 .局部变量 文本, 文本型, , "0" .如果真 (是否为空 (分隔符号)) 分隔符号 = “,” .如果真结束 文本 = 分割文本 (十六进制文本, 分隔符号, ) .如果真 (0 = 取数组成员数 (文本)) 返回 ({ }) .如果真结束 字节集变量 = 取空白字节集 (取数组成员数 (文本)) 计次 = 1 .判断循环首 (计次 ≤ 取数组成员数 (文本)) 字节集变量 [计次] = 到十进制 (文本 [计次]) 计次 = 计次 + 1 .判断循环尾 () .如果真 (是否为空 (字节集变量)) 返回 (字节集变量) .如果真结束 返回 ({ }) .子程序 到十六进制, 文本型, 公开, 返回转换后的十六进制文本 .参数 十进制数据, 整数型, , 传入十进制整型数据 .局部变量 结果, 文本型 结果 = 取十六进制文本 (十进制数据) .如果真 (取文本长度 (结果) % 2 = 1) 返回 (“0” + 结果) .如果真结束 返回 (结果) .子程序 字节集到十六进制, 文本型, 公开, 若参数一不为空,将返回空文本 .参数 文本变量, 文本型, 参考 可空, 保存转换后的十六进制.若空,以返回值返回结果 .参数 字节集数据, 字节集, 参考 .参数 分隔符号, 文本型, 可空, 默认分隔符号为 “,” .局部变量 计次, 整数型 .如果真 (是否为空 (分隔符号)) 分隔符号 = “,” .如果真结束 .如果真 (0 = 取字节集长度 (字节集数据)) 返回 (“”) .如果真结束 文本变量 = “” 计次 = 1 .判断循环首 (计次 ≠ 取字节集长度 (字节集数据)) 文本变量 = 文本变量 + 到十六进制 (字节集数据 [计次]) + 分隔符号 计次 = 计次 + 1 .判断循环尾 () 文本变量 = 文本变量 + 到十六进制 (字节集数据 [计次]) .如果真 (是否为空 (文本变量)) 返回 (文本变量) .如果真结束 返回 (“”) .子程序 读取MBR, 逻辑型 .参数 Mbrbase, 字节集 .局部变量 device, 整数型 .局部变量 pdevicename, 文本型 .局部变量 count, 整数型 .局部变量 statue, 逻辑型 .局部变量 安全结构, _OVERLAPPED Mbrbase = 取空白字节集 (#MBE结构长度) pdevicename = “\\.\physicaldrive0” device = CreateFile (pdevicename, 到十进制 (“80000000”), 到十进制 (“00000001”), 0, 3, 0, 0) ' .如果真 (device = -1) 返回 (假) .如果真结束 SetFilePointer (device, 0, 0, 0) statue = ReadFile (device, Mbrbase, #MBE结构长度, count, 安全结构) CloseHandle (device) 返

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值