|
U+V2深度隐藏PE制作技术初探 广告:
还在玩UD启动PE吧?烦不烦啊?怎么不试试U+深度隐藏PE呢?
空谈误事,实干兴坛!U+V2深度隐藏PE hot起来!
所谓U+,习惯上是指用UltraISO软件把ISO文件写入U盘来制作启动盘的一种技术。目前,兼容性比较好的是第二代U+启动技术(USB-HDD+ V2/USB-ZIP+ v2),通常简称为U+V2,最新版 U+ 2.0可以创建启动分区并支持“低度隐藏”、“高端隐藏”和“深度隐藏”启动分区。U+V2高端隐藏和深度隐藏启动分区解决了PE中低端隐藏时运行一键还原工具时启动分区与可见区互换的问题,让U+技术达到了稳定实用的阶段。
特别是U+V2深度隐藏,U盘分区表无隐藏分区信息,在windows/winPE下找不到深度隐藏分区,可以防病毒防误删除防识格式,和UD一样,具有相当高的安全性。但是,这也给大家制作支持U+V2深度隐藏的ISO PE带好了相当的难度。最近,本人制作了三个统一PE方案,并从杏大B版中提取了手工U+专用版,对U+隐藏PE作了广泛的实机测试,终于取得了深度隐藏方方面面的技术,掀开了U+隐藏PE的神秘面纱。为了让大家顺利制作出支持U+V2隐藏特别是深度隐藏PE,特把技术要点总结一下。
一、引导技术
1.ultriso自家的最新版easyboot原生态支持U+深度,能直接识别并引导U+深度隐藏区;syslinux也可以识别引导U+深度隐藏区。所以,用最新版的easyboot制作纯easyboot多引导启动盘,可以轻松制作出支持U+V2深度隐藏的多引导启动U盘。
2.纯grub4dos可识别引导U+高端隐藏区,但不能识别引导深度隐藏区。在主引导文件grldr中加入P大的代码后,也实现了深度隐藏区。
P大的 不重构分区表的方式: 1、找到隐藏分区的分区表项信息(第97扇区末),2、解析分区表项,得到分区起始扇区、总扇区数等信息,3、将隐藏区映射为一个虚拟软盘,4、直接访问虚拟软盘上的文件,启动PE。核心代码如下:
dd if=(hd0)96+1 of=(md)768+1 bs=1 count=8 skip=502
set /a pe=*393216 && set /a ps=*393220
map (128)%pe%+%ps% (17)
map –hook
rootnoverify (17)
#now you can load PE from (fd17)
在一般PE中,大家可以使用以下代码使grub主引导支持U+V2深度隐藏区,由论坛P大和2011czmxbb52大提供。实测两个grub版本,均成功通过。
errorcheck off
debug off
configfile ()/menu/menu.lst || find --set-root /menu/menu.lst && configfile /menu/menu.lst
set eb=0
dd if=(hd0)96+1 of=(md)768+1 bs=1 count=8 skip=502
set /a pe=*393216 && set /a ps=*393220
write 393216 0
write 393220 0
map (hd0)%pe%+%ps% (17)
map –hook
set pe= && set ps=
set eb=17
rootnoverify (17)
ls (17)/ > nul
configfile (17)/menu/menu.lst || find --set-root /menu/menu.lst && configfile /menu/menu.lst
pause Error: menu.lst not found! && commandline
现在的的PE特别是UDPE,主流都是用grub4dos引导。所以,以下探讨的U+V2深度隐藏的PE,都是在grub作多引导的前提下,其它引导不在此讨论范围。特别推荐大家采用本人原创的easyboot+grub多模多栖统一引导模块,兼容性和稳定性好,特别是能良好的兼容U+V2高端隐藏和深度隐藏。
二、PE技术
支持U+的PE,整体一般为ISO格式。从技术角度,又可以分为内核和外置结合型,此种PE很容易实现深度隐藏;另一为内核和外置分离型,这种分离型PE,可以集合xp PE\03PE\win7PE\win8PE及native PE,内核分开,外置尽可能共享,这样可以节省磁盘空间,但在深度隐藏中外置加载又比较麻烦。本文探讨的PE,主要是指后者。本人为了研究支持刻盘、量产为USB-cdrom、UD和U+深度隐藏的统一多引导PE,特设计了三个方案,并制作出相应PE,进行实现测试。现就这三种方案技术要点作一说明。
1.全解开方案只能支持U+V2-hdd高端隐藏,不支持U+V2深度隐藏,也不支持usb-zip隐藏。
全解开方案,是指外置和内核全不打包成ISO来map,而是解开直接调用,其实现原理与当年经典的老毛桃扬州PE完全一样,只是现在用grub实现多PE和dos引导。典型 PE可见杏大的B版,本人提取的杏大B版之手工专用U+专用ISO、杏大BC统合版,以后飞碟兄弟的B版。
此种方案最大的优点是因内核和外置都不打包而直接调用,对新型电脑特别是新型笔记本电脑有特别强的兼容性。因PE内核引导文件不能识别深度隐藏区,故只支持U+V2-hdd高端隐藏,不支持U+V2深度隐藏。实测中,还发现,这种全解开PE,也不支持各种隐藏型的usb-zip格式(U+到usb-zip格式可见区可顺利引导),一U+ usb-zip隐藏区中启动PE,就卡在NTDETECT.COM错误上。
外置加载方面,PE内核启动后,一般不能识别高端隐藏区。杏大利用omnifts.exe编程了hdload,可将U+V2隐藏区文件导出,建立按需调用的快捷方式;功能类似于UD版的udload或百大的fbinst plus。实测发现hdload并不支持深度隐藏,对深度隐藏的外置就无能为力了。同时,如果PE内核启动中加入showdrives,PE启动到桌面后高端隐藏区可读写,但容易破坏高端隐藏区数据。
还可以用bootpart来只读挂载U+V2高端隐藏区,实测发现easyboot带的 bootpart 可支持挂载U+V2-hdd和 U+V2-zip低度或高端隐藏区,只读挂载不会破坏高端隐藏区数据。
2.全打包方案可实现U+V2-hdd深度隐藏和U+V2-zip深度隐藏
全打包方案,是指外置和内核都打包成ISO来map,其原理特别类似于native PE。首先,普通的xpPE、03PE、win7PE和win8PE,一定要先植入内置或外置式(如饭大的srs模块就含外置式,适合于xpPE或03PE)wvblock虚拟驱动支持。然后内核和外置程序都打包成ISO分别用grub中map,,PE启动后,就能看到grub map的外置虚拟盘了,然后可以像可见区一样很方便的调用外置。目前最麻烦的是win7pe和win8PE。Win7PE中特别,目前解决的比较好的是饭大极速win7PE中还原的普通win7PE,在U盘版中实现内核和外置的ISO直接map,可以看到外置直接map的虚拟光驱。一直梦想能找到一种通用的方法,在其它win7PE或win8PE中集成wvblock驱动,按饭大或smine的方案调整好USB、wvblock、cdrom驱动顺序,打开其它win7Pe的任督二脉,实现直接map。但试了其它几个PE,都是能看到直接map外置的的虚拟光驱,就是打不开。看来有一些服务和注册项要攻关。win8PE的实现U盘版中外置的直接map,也难度不小。
此方案中最大的优点,一是U盘版(UD和U+)中不用专门的UD读取文件如udload或fbinst或fbinst plus,也不用专用的U+隐藏区读取工具如hdload或bootpart,就可以方便的实现对UD区或U+隐藏区的外置加载。二是,实测支持U+V2-zip和U+V2-hdd深度隐藏,也是目前唯一支持U+V2-zip深度隐藏 PE 外置加载的方案,能让只支持usb-zip启动的老机子中也成功实现了深度隐藏。当然光盘最产版(介质为只读)中,因不支持外置的直接map,外置加载就只能启动内核后,用cmd脚本找到外置ISO,然后用虚拟光驱如vmd、imgburn或wvblock来挂载外置。
此方案最大的可能问题,外置也打包成ISO来map,未知的问题比较多,部分主板机子上可能加载不了外置。实测中,NT5 PE先加载成外置串口硬盘驱动,制作U+V2-zip格式隐藏区,在一部分主板可能加载不了nt5 PE;U+V2-hdd格式隐藏区却很正常。
3.半解开方案可实现U+V2-hdd深度隐藏,但暂不支持U+V2-zip深度隐藏
半解开方案是指,外置解开,内核打包成ISO来map。PE内核启动后,智能判断用cmd脚本PE环境,如果能找到配置文件就为光盘版、量产为usb-zip或U+到可见区版,直接用pecmd挂载外置配置文件;找不到试着用fbinst plus导出UD区文件,如果能导出则为UD版,用fbinst plus建立外置按需调用的快捷方式。如果fbinst不能导出UD区文件,则为U+隐藏版,用bootpart只读挂载U+隐藏盘再加载外置配置文件。
这个方案,PE最容易统合光盘量产版、UD和U+版。个人感觉兼容性最强,对U+高端和深度隐藏兼容也好,可能也是统一版最后采用的成熟方案。在U+方面,可支持U+V2-hdd高端隐藏、U+V2-zip高端隐藏和U+V2-hdd深度隐藏。
主要缺点:因打内核打包成ISO来map,对于新型电脑特别是新本本的兼容性不可预知,对于nt5PE的兼容性没有全解开方案强。我是采用类似UD版的兼容模式来解决的。因目前版本的bootpart并不支持挂载U+V2-zip深度隐藏区,暂不支持U+V2-zip。同时,因bootpart对U多盘分区情况时,只挂载第一分区,故U盘量产为两个以上可读写分区时,请把此方案的PE U+到第一个可读区盘,以减少外置加载失败的情况。
三、外置串口硬盘驱动技术
目前,nt5 PE都采用了外置串口硬盘驱动来解决新电脑的硬盘识别问题,主流的技术有饭大的srs(f6)模块和C大的dmps模式,两者都是采用grub外部命令编写。外置式硬盘驱动,维护更新方便,但在U+深度隐藏兼容性上大大不如内置式硬盘驱动,特别是在usb-zip格式U+时。
1.U+深度隐藏后,无法加载饭大的SRS(f6img)外置串口硬盘驱动,提示找不到外置硬盘驱动。但在高端隐藏中却完全正常
2.U+深度隐藏后,可以加载dmps格式的外置串口硬盘驱动。但在极速版PE中,如果先加载了外置串口硬盘模块,再直接map 二级内核,则可能无法加载二级内核,卡在native PE命令行上;最后增加了map –mem二级内核,来解决深度隐藏后加载极速版的问题。测试了两个极速版PE,好像我自制的xp极速PE深度隐藏没出问题,杏大03极速PE却出问题,高端隐藏就都很正常。让我感觉很奇怪。
同时外置硬盘模式不管是对UD版还是U+版,部署成usb-zip在一些机子上都会出现兼容性,表现为启动不了nt5 PE,取消加载外置硬盘驱动或采用全内置硬盘驱动的nt5 PE,却又正常加载PE。
四、其它技术
1.U+部署技术要点
关于U+V2各手工部署方法,我已经出了专门的教程。可详见帖子:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=270716&extra=page%3D3
推荐部署为U+V2 USB-HDD高端或 深度隐藏,这种方案兼容性比较好,在各种电脑中启动成功率比较好。只支持usb-zip启动的老机子,才部署为U+V2 USB-zip隐藏。同时,U+的ubs-zip 隐藏区不能用于4G以上的U盘分区,否则可能无法引导,4G以上的U+隐藏盘分区一定要U+成ubs-hdd格式,U+到U盘可见区却都可以引导。
同时要说明一下的,同为usb-zip格式,UD版中其实还是usb-hdd格式,只是诱导bios把磁盘当成usb-zip格式,所以,UDPE中,usb-zip格式新老机子通吃,启动也不受U盘4G限制。但在U+版中,usb-zip就是usb-zip格式,主板就默认为仿软盘启动U盘,结果兼容性问题多多,特别是加了外置串口硬盘驱动后,同时有4G U盘大小限制。U+在这个方面应该学学UD。
2.U盘加速技术
在UD版中能正常使用P大的U盘加速的机子,在U+V2高端隐藏中也能正常启动。但U+V2深度隐藏后,U盘加速却失效了,表现为U盘加速后返回不了主菜单中。改天研究修正。
3.native pe技术问题
Native PE也可以采用半解开或全打包方案实现U+技术。改天制作一个支持U+V2深度隐藏Native PE统一大合盘,然后进行全面测试。目前发现的问题,还暂无定论。
帖子更新版地址:http://zds1210.blog.163.com/blog/static/2448124820131432936820/
这个帖子,思考了好几天了,把我认为的主要问题都写上去了。但水平有限,错误不少。请大家多多指教。特别是一些作品原作者,多多研究修正。
[ 本帖最后由 zds1210 于 2013-2-4 15:27 编辑 ] |
评分
-
查看全部评分
|