你可以调戏一下MBR(裸机的话)

    双休日,吹着空调干代码,nice.(画外音:再宅就等着买老婆吧)T___T,考试神马的一堆要背,但是就是没有动力去背.

    这两天都在搞MBR,群里兄弟说,鬼影和TDL牛不是牛在搞了MBR,而是穿透了部分磁盘还原软件的保护,穿透才是真正的亮点.我表示很赞同.三哥群里说,我逆了病毒,asm2c,然后重新编译,杀毒软件报毒.这是一种神马样的境界,内心一股敬佩之情油然而生.唉,泪流满面,泪流满面..

    郎咸平郎叔曾经说过:这世界上有三种人,一种很聪明,很多东西都是他搞出来的;第二种本一点,他能够看懂第一种人搞了什么;最后一种最笨,什么都不知道.我希望自己能够在巩固第二种人的身份上向第一种人努力.

    今天其实代码量不多的,搞了一个山寨吐槽MBR,搞了一个写入的exe,没了,不过查资料还是学到不少东西的.asm的代码我注释够多了,我一般写代码因为都是自己自娱自乐,注释写很少.

    这个exe主要的工作就是把原来的MBR复制到第二个扇区,然后把山寨吐槽MBR写到第一个扇区,顺便修复一下山寨吐槽MBR的分区活动表,下面附上代码:

 

    asm用来编译MBR,.h和.cpp编译成exe,MBR提取出来就是.h里面的unsigned char MBR[512].

    感染之后效果如图:

    回车之后是可以正常进入操作系统的.

    一点思考:

1.对于磁盘前端的空闲,我从WinHex里面看到自己虚拟机的空闲扇区大概有28KB,也就是有56个扇区,这部分空间大可以利用起来,因为MBR里面代码的长度最长是0x1BE,像我这里代码是很少,多的都是吐槽用的TitleMessage,利用好这56个扇区可以完成更强大的功能(代码里面已经演示了如何读取一个扇区的内容并加载到内存当中),在Stoned Bootkit当中作者是使用了前63个扇区.

2.对于可以使用的内存,Bochs调试从[0x413]当中得到的数据是大概有0x27fKB,很够用,而且复制进去之后是固定内存,进入操作系统之后可以搜索到这部分数据,如图(标志:LOLI,啊哈哈哈哈),现在关键的问题有两个,在实模式16位的汇编下如何转换或者说进入32位保护模式的地址空间?另外一个是进入操作系统后保护模式下虚拟地址和真实物理地址之间怎么去转换?还要继续研究研究,求达人指点,拜谢.

    末尾的吐槽:我爱银魂!!!怀念跟兄弟们一起sb的日子!!!

    最后附上一些有用的资料:

[1].Bochs调试命令

http://bochs.sourceforge.net/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=http://bochs.sourceforge.net/doc/docbook/user/index.html

[2].BIOS和DOS中断大全

http://linux.chinaunix.net/techdoc/install/2008/08/26/1028043.shtml

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值