|
PE经典DIY案例3:小样的U+V2-zip深度隐藏,
我就不信搞不定你——对付各种PE隐藏区的最后绝招
PE的最迷人之处,就是DIY。通过DIY,新人才能慢慢提高水平。
上一次,通过DIY,在PE内核中加入了fbinst plus并打包,可以让你的PE,也能玩UD和U+V2-hdd深度隐藏。但你会发现,这种全外置的统一PE,因目前官方的bootpart所限,并不支持U+V2-zip深度隐藏下加载外置。这一次我们再来一次DIY,给你一个绝招,让你的PE,搞定U+V2-zip深度隐藏,甚至以后更牛的隐藏。
这时,大家也许会想到全内置的极速PE,一二级内核分离来map,外置和二级内核一起打包,就可以实现U+V2-zip深度隐藏区外置的加载。我们可以借这个原理,普通PE中外置也打包成ISO来map,就能搞定各种隐藏。
一、基本原理
全打包统一PE,也叫真正统一PE,借鉴了一二级内核分离的全内置极速PE方案,PE内核和外置都分别打包成ISO来用grub4dos进行map。首先要求PE内核中内置wvblock驱动 (运行外置式的饭大的srs驱动也行),PE内核启动后,部署在U盘可读写介质中(如U+ B+可见区和隐藏区)中就可以看到外置ISO的直接map的wvblock虚拟盘,从而实现外置加载。内核中不需要专门针对隐藏的工具,如fbinst plus,udload和bootpart。
因为在光盘量产版(只读介质中)并不支持外置程序的直接map,所以特设计了智能脚本,用wblock、vdm或imgburn虚拟光驱只读挂载只读介质可见区中的外置ISO文件,再实现外置的挂载。
这种全打包统一方案,是相当创新的一种统一部署方案,是 相当的另类的。最大的优势,就是专门对付各种隐藏PE区的全外置加载,只要grub能识别引导隐藏区,它就能加载隐藏区的外置,而不用改变原来的PE内核。比如,U+刚开始才有低度隐藏,因grub能识别低度隐藏,它就支持低度隐藏;U+高端隐藏后,因grub能识别高端隐藏,它就支持高端隐藏; U+V2深度隐藏出来后,改进grub使它支持深度隐藏,它就支持深度隐藏,也是目前唯一支持U+V2-zip深度隐藏后外置加载PE方案。再后来我测试B+隐藏,发现它可以不用激活分区就完全支持B+隐藏。未来有什么更牛的隐藏PE,只要grub能识别这种隐藏区,这个PE就不用改变内核的支持这种隐藏区的外置加载。无愧为真正统一PE的称号。
当然,它的缺点也是很多,一二级内核分离的极速PE有什么缺点,它就有什么缺点。一是对U口读写质量要求高,U盘质量不好,U盘插口不好或没有插好,就可能加载不了外置,特别是win7PE。二是内核和外置打包,兼容性下降,有些问题不可预知:在一些主板中,死活加不了外置,特别是win7PE,要map –mem外置才行。三是对win7win8PE制作技术要求特别高。WIN7PE,目前解决的比较好的是饭大极速win7PE中还原的普通win7PE,在U盘可读写介部署,实现了外置的ISO直接map,在PE启动后可以看到外置直接map的虚拟盘。一直梦想能找到一种通用的方法,在其它win7PE和win8PE中集成wvblock驱动,按饭大或smine的方案调整好USB、wvblock、cdrom驱动顺序,打开其它win7Pe或win8的任督二脉,实现外置或极速版二级内核的直接map。但试了其它几个PE,都是在U盘版中能看到直接map外置ISO的虚拟盘驱,就是打不开。看来还有一些注册项和文件要攻关,请大家多多努力。
二、grub脚本和菜单改进
前提还是要改进grub的内置菜单grldr(方法如前),使它识别U+V2深度隐藏区。甚至更牛的隐藏区,也可增加代码,让grub能识别能引导。然后,PE和外置都要打包成ISO来map,外置ISO是直接map,所以,部署在隐藏U盘可读写区中,外置包再大,加载速度也可以很快。
三、内核改进
全打包统一方案,内核中不需要专门针对隐藏的工具,如fbinst plus,udload和bootpart。首先要在PE内核中内置wvblock驱动,PE内核启动后,部署在U盘可读写介质中(如U+ B+可见区和隐藏区)中就可以看到外置ISO的直接map的wvblock虚拟盘,从而实现外置加载。
因为在光盘量产版(只读介质中)并不支持外置程序ISO的直接map,所以特设计了智能脚本,用wblock、vdm或imgburn虚拟光驱只读挂载光盘量产可见区中的外置ISO文件,来实现外置的挂载。
pecmd.ini中关键语句如下:
//建立外置程序的扩展菜单,包括桌面和开始菜单
//以下语句直接调用UD或U+或B+隐藏区的外置
LOAD \外置程序\WinPE.INI
//新增加几行用于调入光盘版和量产版的PEtools.iso
LINK %StartMenu%\加载外部配置,%WS%\peiso.cmd
TEAM TEXT|exec =%WS%\peiso.cmd
peiso.cmd脚本如下:
1.vdm加载ISO
@echo off
set ff=winpefiles
for %%x in (A B C D E F G H I J K L M N O P Q R S T U V W) DO if exist %%x:\外置程序\winpe.ini goto end
for %%x in (A B C D E F G H I J K L M N O P Q R S T U V) DO (if exist %%x:\iso\petools.iso set fn=%%x:\iso\petools.iso
if exist %%x:\iso\petools.iso GOTO iso
)
goto end
:iso
REG ADD "HKCU\Software\Towodo Software\Virtual Drive Manager\Settings" /f /v MountPrevious /t REG_DWORD /d 1 >nul
REG ADD "HKCU\Software\Towodo Software\Virtual Drive Manager\Settings" /f /v XbtnQuit /t REG_DWORD /d 0 >nul
REG ADD "HKCU\Software\Towodo Software\Virtual Drive Manager\Settings" /f /v LastMounts /t REG_MULTI_SZ /s ! /d W:!自动侦测!%fn%!1 >nul
REG ADD "HKCU\Software\Towodo Software\虚拟驱动器\Settings" /f /v MountPrevious /t REG_DWORD /d 1 >nul
REG ADD "HKCU\Software\Towodo Software\虚拟驱动器\Settings" /f /v XbtnQuit /t REG_DWORD /d 0 >nul
REG ADD "HKCU\Software\Towodo Software\虚拟驱动器\Settings" /f /v LastMounts /t REG_MULTI_SZ /s ! /d W:!自动侦测!%fn%!1 >nul
goto vdm
:vdm
start vdm1.exe /i
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo 稍等片刻......
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:Wait
pecmd wait 1000
IF NOT EXIST W: GOTO Wait
if exist W:\外置程序\winpe.ini pecmd load W:\外置程序\winpe.ini
:end
2.imburn加载ISO
@echo off
for %%x in (A B C D E F G H I J K L M N O P Q R S T U V W) DO if exist %%x:\外置程序\winpe.ini goto end
for %%x in (A B C D E F G H I J K L M N O P Q R S T U V) DO (if exist %%x:\iso\petools.iso set fn=%%x:\iso\petools.iso
if exist %%x:\iso\petools.iso GOTO iso
)
goto end
:iso
imdisk
-a -f %fn% -m Y:
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo 稍等片刻......
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:Wait
pecmd wait 1000
IF NOT EXIST Y: GOTO Wait
if exist Y:\外置程序\winpe.ini pecmd load Y:\外置程序\winpe.ini
:end
三、配角fbinst和bootpart的作用
这种方案中,fbinst plus 和bootpart已经起不到作用了,我们主要还是利用了wvblock驱动。但把它们外置,可以搜索可见区、UD区和U+B+隐藏区自定义\Petools下的软件;把它们内置,当wvblock驱动加载外置失败,我们可以用它们再一次来尝试加载外置,从而起到双保险作用。
大家可以参加我制作的全打包统一成品PE:(也叫真正统一PE大合盘)
我的博客上的帖子:
http://zds1210.blog.163.com/blog/static/244812482012101023635183/
无忧论坛上的帖子:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=270202&extra=page%3D1
PE经典DIY三案例
帖子更新地址:
http://zds1210.blog.163.com/blog/static/24481248201311781538866/
[ 本帖最后由 zds1210 于 2013-2-23 15:07 编辑 ] |
|