该系列案例解析按级别类别排列,如:
- `5 z2 T8 M/ i7 v) A1 D0 v: y. x6 U" S5 i! i) N- [基础知识]: 类别为基础知识
- 1.2: 级别,第一个1表示属于最简单级别,后边的2仅为案例的序数(不代表难度增加(⊙o⊙)哦)8 {/ H, I ]2 v# }/ n; o3 P
知识普及:
6 A4 Z8 _2 c8 [2 W2 q& w7 x3 ~. l硬盘的引导扇区位于 0 磁道 0 磁头 1 扇区位置,该扇区存放着系统的引导程序和硬盘的分区表等重要信息。另外小甲鱼八卦一下,该扇区常常是病毒的重点攻击目标!
% M; I: ^& Y9 W& R$ x) 警告:MBR乃引导硬盘加载系统的核心,该操作危险,有可能使您的硬盘数据丢失,请先用栗子 备份硬盘MBR以作为恢复使用!; L2 B! u5 C' N; c* i$ g0 W" i, y W% R8 D1 s" K( Q7 W' e' t实现要求:用准备好的boot.ini文件改写、覆盖硬盘MBR。
+ ]! T9 K8 e: \! c- A( Z程序演示:
+ x9 C0 ]0 _) j- r, fSTEP1. 先用WINHEX等工具查看当前MBR的数据
<IGNORE_JS_OP>
& e k% v2 d5 Z# y6 Y5 [2 `3 E- Y8 B
STEP2. 准备好修改过的boot.ini文件放在编译后的程序同个文件夹
9 i/ D2 F3 m; ]; N$ g2 gSTEP3. 执行修改程序
<IGNORE_JS_OP>
) W0 j: `( e+ i
STEP4. 用WINHEX查看硬盘MBR引导区,这时候已经成功修改了。
<IGNORE_JS_OP>
0 c+ V Q0 r% G7 q. q' s
STEP5. 重启系统,硬盘引导区错乱,已经无法启动了
<IGNORE_JS_OP>
4 B( v4 s, f8 p: s3 N; b2 j2 I
9 }" o8 _ z: U8 S8 q5 B" u: P% W { 喜讯:在STEP4修改后的MBR数据中,选中部分数据被小甲鱼用凯撒密码加密过,第一个还原出原文的童鞋奖励100鱼币。
提示1. 还原后的原文是中文哦
提示2. 可以用小甲鱼在 给大家提供的破解工具。
9 c) N4 l P5 e- J/ g4 s
题外话:不知道为啥,众杀软居然无视我对MBR的修改,然后我成功毁了自己的虚拟机 。。。你没的杀软,坑爹的杀软,然后没有然后了 。。。。。。
9 q" I( m* V Q9 y* X实现原理:
上节课小甲鱼不是说会告诉大家如何在用户模式下直接访问硬盘么?嗯,而且承诺绝对简单通俗。好吧,事实上,硬盘内核驱动程序将硬盘作为一个文件,文件名为:"\\.\\physicaldrive0"
* Q7 P; ? K) N7 R+ ^我们可以利用这个鲜为人知的文件名,通过 CreateFile, ReadFile, WriteFile 和 DeviceIoControl API 来进行访问硬盘。; m$ L& E7 B$ K4 F A: ^; |: b, c+ D4 j P+ r3 S9 a2 J8 p& y$ w# K+ Z: {4 n' Q- j代码及详细注释: