1 一种是比较传统的,使用X86 IO,对IDE硬盘进行读写,
目前没有可以防御住该类读写的还原或者影子系统。但是IDE硬盘比较久远,现在用的电脑不是很多,所以可能他们这些软件并不是很关注这个问题。
使用该方法的软件,CrDisk(硬盘保护卡克星),对 0x102-0x107端口进行IO,未文档化或者为扩展的X86 IO端口。
重新分析了下,修正了之前的看法。他使用了0x1F2-0x1F7端口对硬盘进行操作,是标准的X86 IO,可以在网上搜索到具体使用方法。
bochs上可以看到ATA通道0使用1F0端口,通道1使用170端口。SCSI/SATA的可同理,只是资料比较少,成功后更新POC。
另外一种通用性相对较高,对\GLOBAL??\PhysicalDrive%d设备进行读写,绝大多数还原或影子不能防御,像Shadow Defender的应对措施就是强制重启你的电脑。
使用该方法的软件,Sector Editor,如果结合文件系统结构,就可以很轻松的改写硬盘上的任何一个文件。转储完成会从内核设备\.\DpControl中读出文件(这不绝对,才不说ReadFile也能用做写文件),读写大小正好为文件大小
2 将还原的驱动程序替换掉,修改还原的驱动信息。或通过调整驱动优先级使还原驱动与自己的驱动冲突,使其失效
3 到系统dllcache文件夹下调用真实系统文件运行,安装了一个自己的磁盘过滤驱动去操作真实的磁盘I/O端口,向真实的磁盘中执行修改覆盖目标文件
4 先把被还原精灵备份的原来的主引导区用INT13H读出来,这里虽然是对0头0道1扇进行读操作,但实际上是在读被还原精灵把原来的主引导区备份进去的那个扇区,把读出的原来的主引导区通过输入输出操作写进真正的主引导区,换句话说就是把还原精灵给彻底删除了,此时重新启动你将发现还原精灵已经没有了。或使用下载网吧终结者出的一个清MBR的程序.
相关文章:一种可以穿透还原卡和还原软件的代码 驱动感染技术,可写穿透还原软件的病毒的技术
5 在纯 dos 下破环相关驱动文件,大家都懂,不再赘述