|
原帖由 pseudo 于 2012-11-17 19:37 发表
...
★首个U+v2深度隐藏纯grub4dos启动PE
U+v2高端隐藏纯grub4dos启动比较简单,iso解不解开都行。
深度隐藏情形,分区表无隐藏分区信息。
经由UltraISO自家的EZBoot当能识别隐藏区,但对纯grub4dos,得处理一下才能让grub4dos识别。
方法之一是动态重建分区表,但要确保不能写U盘。
目前仅作简单粗糙的处理,暂时盘上只能放整个不解开的iso。等有时间再支持解开iso的。
0PE_NBv1.4.3(2012-11-12)只开个头,表明深度隐藏完全可以对付。
后面自会有高人给出更完善、通用的方案。我坐等现成的,呵呵。
...
---------------------------------------------------------------------------------------------
0PE_NBv1.4.4(2012-11-20)已支持任意U+选项,0PE.ISO解开、不解开、半解开随意。
深度隐藏已“破解”。预期稍后所有PE都轻松支持深度隐藏。到时启动深度隐藏PE就是小儿科,大家都不用提了。
首个U+v2深度隐藏纯grub4dos启动PE
U+v2高端隐藏纯grub4dos启动比较简单,iso解不解开都行。
深度隐藏情形,分区表无隐藏分区信息。
经由UltraISO自家的EZBoot当能识别隐藏区,但对纯grub4dos,得处理一下才能让grub4dos识别。
方法之一是动态重建分区表,但要确保不能写U盘。
目前仅作简单粗糙的处理,暂时盘上只能放整个不解开的iso。等有时间再支持解开iso的。
0PE_NBv1.4.3(2012-11-12)只开个头,表明深度隐藏完全可以对付。
后面自会有高人给出更完善、通用的方案。我坐等现成的,呵呵。
---------------------------------------------------------------------------------------------
0PE_NBv1.4.4(2012-11-20)已支持任意U+选项,0PE.ISO解开、不解开、半解开随意。
★破解U+v2深度隐藏,纯grub4dos启动PE原理
QUOTE:
原帖由 zds1210 于 2012-11-20 20:48 发表
测试了一下,真支持U+V2深度隐藏区啊。哈哈。不错。希望能把技术共享一下。
先打广告:
0PE支持任意U+选项。跟ud一样,隐不隐藏不用提了,内置外置更不用提。快是必须的。
0PE无论放在那里,都可以一个grldr加一个0PE.ISO(其中0PE.ISO可以整体不解开使用,也可全解开、半解开),非常清爽、统一。
非深度隐藏,例如高端隐藏很简单,这里不提。下面介绍实现纯grub4dos启动U+v2深度隐藏PE的原理。
深度隐藏情形,分区表无隐藏分区信息。
经由UltraISO自家的EZBoot当能识别隐藏区,但对纯grub4dos,得处理一下才能让grub4dos识别。方法之一是重建分区表。
将iso以U+v2深度隐藏写入U盘,用diskgenius、winhex查看U盘,可看到分区表中隐藏分区对应的分区表项16字节被清零。我想,EZBoot要能找回分区,其分区信息必然藏在盘上某处。结果,发现第97扇区末,有疑似分区表项的数据。把数据填入第一扇区分区表中被清零的分区表项处,完成分区表重建,隐藏分区就找回来了,其上文件、目录都能正常访问,是个普通fat16分区。
破解完成,没想到那么容易。如果这样不够准确,以后改进就行,原理是一样的。
剩下的问题是如何在不改动分区表前提下,启动隐藏区里的PE。
方法之一是动态重建分区表,大致思路是:
1、构造含物理盘元数据(分区表、文件分配表等)的虚拟盘
2、改虚拟盘分区表
3、g4d正常访问虚拟盘,获取盘上相关文件元数据
4、按元数据访问物理盘,获取相关文件内容
0PE_NBv1.4.3(2012-11-12)版实现了这种方式。但此方式复杂,或者说走了弯路。经不点大人点拨,改为以下不重构分区表的方式:
1、找到隐藏分区的分区表项信息(第97扇区末)
2、解析分区表项,得到分区起始扇区、总扇区数等信息
3、将隐藏区映射为一个虚拟软盘
4、直接访问虚拟软盘上的文件,启动PE
0PE_NBv1.4.4(2012-11-20)实现了此方式启动PE。
核心grub4dos代码:
[Copy to clipboard] [ - ]
CODE:
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。
预期稍后所有PE都轻松支持深度隐藏。到时启动深度隐藏PE就是小儿科,大家都不用提了。
顺便说一下错位问题。
隐藏区在U盘开头位置,可见区在隐藏区之后。隐藏区、可见区分别是U盘的第一、二分区。
但分区表中第一个分区表项却是可见区的信息,即以可见区为第一分区。
这本身就是错位的。
有人发现某些场合下隐藏区、可见区会被互换,可能与此有关。其实互换有理,换了才是顺的。
那为什么UltraISO要让它错位呢?我想是因为
第一,既然要抹掉本该在第一分区表项的信息,那么本该在第二分区表项的信息还是前移吧,免得前面空着。
况且windows对多硬盘分区的U盘一般也只显示一个分区,可见区放在第二项,没试过能否显示。
所以可见区的分区信息填在第一分区项是自然的。
第二,隐藏区得是真正的第一分区,即必须在U盘前部,否则可能启动不了。因为有的BIOS只能读取磁盘前部的数据。
有的网友向UltraISO作者提议将隐藏区后置,使U盘开头是可见区,后面才是隐藏区。那是不切实际的。
总之,UltraISO必须这么错位一下。
请大家测试一下:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=270705&extra=page%3D1
[ 本帖最后由 zds1210 于 2012-12-3 10:32 编辑 ] |
评分
-
查看全部评分
|