30.53 KB, 下载次数: 482, 下载积分: 无忧币 -2
BootHide Build20081021
下面引用由xiaoyuan0417在 2005/08/29 09:52am 发表的内容:
与 IBM 的隐藏分区跳转功能有啥区别?
下面引用由turboy在 2005/08/29 10:08am 发表的内容:
原理上是一样的,可是比IBM的要安全一些。因为IBM的还要安装到MBR里面,用户的很多操作都可能会破坏掉它(一个FDISK /MBR就完了)。而我的这个是放到系统启动光盘或软盘里面,是不会被无意破坏的。而且,程序在 ...
@ECHO OFF
rem FILENAME: AUTOHIDE.BAT
rem PROGRAM: Yisir
rem 用来全自动分区,公式 C:8GB + 3GB(隐藏分区) + D:40%% + E:30%% + F:30%%
:L_CCDOS
XZL
CLS
REM 检查硬盘参数
CALL HDSTATUS.BAT
ECHO *------------------------------------------------*
ECHO * 易老师自动分区工具 1.1 2005-5-20 *
ECHO * (此版程序自动创建一个3GB的备份分区) *
ECHO *------------------------------------------------*
ECHO 此计算机中所安装硬盘信息如下:
ECHO 硬盘编号: %HD%
ECHO 总容量: %HDSIZE%
ECHO 现有分区数: %PARTS%
ECHO 警告:
ECHO 分区是一个危险的操作, 下面的程序将导致硬盘中的
ECHO 所有数据丢失。故此程序只供专业技术人员装机时使用,
ECHO 其他人员错误操作造成的损失与作者无关!
ECHO http://yisir.9126.com
ECHO *------------------------------------------------*
ECHO 全自动分区公式 C:8GB + 3GB + D:40%% + E:30%% + F:30%%
ECHO 注:那个3GB的主分区是供备份用的隐藏分区
REM 计算各分区大小
STRINGS EXTSIZE= SUB %HDSIZE%,11000
STRINGS EXTSIZE= DIV %EXTSIZE%,10
STRINGS HDPARTD= MUL %EXTSIZE%,4
STRINGS HDPARTE= MUL %EXTSIZE%,3
STRINGS HDPARTF= SUB %HDSIZE%,8000,%HDPARTD%,%HDPARTE%
ECHO 当前方案 %HDSIZE%= C:8GB + 3GB + D:%HDPARTD%M + E:%HDPARTE%M + F:%HDPARTF%M
ECHO *------------------------------------------------*
ECHO 输入“auto”开始全自动分区
ECHO 输入“hand”开始手动分区
ECHO 输入其他值退出
ECHO *------------------------------------------------*
STRINGS CHOICE= ASK ------------请慎重考虑后再输入你的选择:
STRINGS CHOICE= UPPER %CHOICE%
IF %CHOICE%#==AUTO# GOTO AUTO
IF %CHOICE%#==HAND# GOTO HAND
GOTO END
:AUTO
GDISK %HD% /DEL /ALL
GDISK %HD% /CRE /PRI /SZ:8000 /FOR /Q /V:SYSTEM
GDISK %HD% /CRE /PRI /SZ:3000 /FOR /Q /V:SYS_BACKUP
GDISK %HD% /CRE /EXT /FOR /Q /V:SYS_BACKUP
GDISK %HD% /CRE /LOG /SZ:%HDPARTD% /FOR /Q /V:DATA
GDISK %HD% /CRE /LOG /SZ:%HDPARTE% /FOR /Q /V:OTHER
GDISK %HD% /CRE /LOG /FOR /Q /V:BACKUP
GDISK %HD% /HIDE /P:2
SET HDPARTD=
SET HDPARTE=
SET HDPARTF=
GOTO OK
:HAND
REM C盘
STRINGS HDPARTC= ASK 请输入%PCHAR%盘容量(最大%hdsize%MB):
GDISK %HD% /DEL /ALL
GDISK %HD% /CRE /PRI /SZ:%HDPARTC% /FOR /Q /V:SYSTEM
GDISK %HD% /CRE /EXT
REM D盘、E……
SET PNO=68
STRINGS MAXSIZE= SUB %HDSIZE%,%HDPARTC%
:P2_LOOP
STRINGS PCHAR= CHAR %PNO%
STRINGS ASKSIZE= ASK 请输入%PCHAR%盘容量(单位MB,直接回车建最大%MAXSIZE%):
IF %ASKSIZE%#==# GOTO P2_OK
GDISK %HD% /CRE /LOG /SZ:%ASKSIZE% /FOR /Q /V:LOG_%PCHAR%
STRINGS MAXSIZE= SUB %MAXSIZE%,%ASKSIZE%
STRINGS PNO= ADD %PNO%,1
GOTO P2_LOOP
:P2_OK
GDISK %HD% /CRE /LOG /FOR /Q /V:LOG_%PCHAR%
SET ASKSIZE=
SET MAXSIZE=
SET PNO=
SET PCHAR=
SET HDPARTC=
GOTO OK
:OK
GDISK %HD% /ACT /P:1
GDISK %HD% /MBR
ECHO 分区完成!请启动计算机,安装操作系统。
SET HDSIZE=
SET HDPART=
PAUSE>NUL
XZL /Q
GOTO END
:END
ECHO 已退出
@ECHO OFF
rem FILENAME: HDSTATUS.BAT
rem PROGRAM: Yisir
rem 用来得到硬盘号(HD)、已有分区数(PARTS)、容量(HDSIZE)
IF %1#==SETVAR# GOTO SETVAR
REM 临时文件存在虚拟盘中
STRINGS TMPS= RIGHT %RAMDRIVE%,1
SET TMPFILE=\HDSTATUS.TXT
IF %TMPS%#==\# SET TMPFILE=HDSTATUS.TXT
SET TMPS=%RAMDRIVE%%TMPFILE%
SET TMPFILE=
SET LL=1
GDISK /STATUS>%TMPS%
:LOOP
STRINGS HDS= READ %TMPS%,%LL%
STRINGS TMPSTR= MID %HDS%,1,4
STRINGS LL= ADD %LL%,1
IF ';%TMPSTR%';==';Disk'; GOTO FOUND
GOTO LOOP
:FOUND
STRINGS HDS= READ %TMPS%,%LL%
SET TMPSTR=
SET TMPS=
SET LL=
CALL %0 SETVAR %HDS%
GOTO END
:SETVAR
SET HDS=
SET HD=%2
SET PARTS=%3
SET HDSIZE=%7
:END
下面引用由turboy在 2005/08/30 02:04am 发表的内容:
我在不同的机器环境测试了一下,现在自报一下BUG:如果隐藏分区位于硬盘前8G以内,在启动时按F7就可以从隐藏分区启动。但如果是在前8G以后,就不行了。
我想这应该是标准MBR引导程序的局限,就算是用GDISK把隐藏 ...
下面引用由jcc在 2005/08/30 11:53pm 发表的内容:
能否放入U盘使用
下面引用由turboy在 2005/08/30 02:04am 发表的内容:
我在不同的机器环境测试了一下,现在自报一下BUG:如果隐藏分区位于硬盘前8G以内,在启动时按F7就可以从隐藏分区启动。但如果是在前8G以后,就不行了。
我想这应该是标准MBR引导程序的局限,就算是用GDISK把隐藏 ...
下面引用由crshen在 2005/08/31 08:34am 发表的内容:
0174 mov ah, 01
0176 int 16 //判断字符是否存在
0178 je 0183 //没有则跳转
017A mov ah, 00
...
021B cmp ah, 02 //老的读扇区功能
021E jne 0231
0220 cmp dx, 0080
0224 jne 0231
0226 cmp cx, 0001
022A je 024F //读硬盘BOOT扇区
022C cmp ah, 42 //扩展读功能,×××这里似乎不可能到达×××
022F je 0234
从026F起检查分区表类型,个人认为只要检测最后一个分区即可,很少有人将中间的分区隐藏的。
从分区表类型看,隐藏与非隐藏差别为bit4,所有类型可合并为一种,即:
if (al and 0xF0)=0x10 then 分区类型=(al and 0x0F)
建议版主以后直接发带注释的源程序,以便大家完善,看汇编代码本来就很费神,我都没这么好的耐心,相信别人也不轻松。
下面引用由crshen在 2005/09/02 08:55pm 发表的内容:
恭喜恭喜,改了很多代码,等我下次上夜班时再研究研究。
7CEA处的判断跳转好像可以移到7CDD处,读起来更流畅。
启动时其实共有5种选择:
//----无按键:DH=FF,DL=80 硬盘启动,不截获INT 13
//-----按ESC:DH=00,DL=80
//------按F5:DH=FF,DL=00
//------按F7:DH=00,DL=80 隐藏分区启动 (MOV BYTE PTR [7D94],80)
//--按其它键:DH=00,DL=00 软盘启动
0AFC:7D92 B90400 MOV CX,0004 //主分区有4个分区表项,CH改为80时为扩展int 13使用
运行机制:安装时将第1个扇区的内容写到最后一个扇区,再将boot.bin内容写到第一扇区;卸载时,将末扇区内容写到首扇区,并将末扇区清零。因此,请注意:只有已经安装后的映像才能使用卸载,否则就……,幸好默认是保留备份的,哈哈。
; ==========================================================================
; 这是一个用来引导我的系统备份/恢复光盘的启动软盘的程序,将会放在软盘的第一
; 个扇区内。此程序引导系统时,出现一个提示,用户可选择按任意键启动工具软盘,
; 也可以在等待8秒后引导硬盘上的操作系统。在选择由工具软盘启动DOS后,在MBR中
; 隐藏的FAT32主分区(0B/0C)将会分配盘符变得可见,这就可以用常规工具来做备
; 份了——备份在隐藏分区里,看谁能删得掉!
; 最后版本:2005/9/5
; ==========================================================================
; 编程记录:
; 6月29日的版本只处理了传统INT13的2号功能,所以在虚拟机中的小硬盘(1B-FAT32)
; 中调试正常,一到了用LBA方式读取的分区(1C-FAT32LBA,1E-FAT16LBA)就完了。可是
; 现在的硬盘已经没有8GB以下的了,读取也几乎全是用LBA方式了。
;
; 7月23日:
; 加入对扩展INT3读取(42号)功能的接管,实现对隐藏LBA分区的读取,由于现
; 在硬盘分区几乎没有用FAT16的了,所以只处理了FAT32的。
; 由于新代码的加入,我原来的提示信息也不得已剪了一部分。
;
; 8月22日:
; 加入一个可识别分区标志码列表(FlagTable),逐一判断处理。
; 在FlagTable DW xxyy中,每一个字中的xx代表原始分区标志码,yy代表隐藏时的分区标志码
; 如0414h代表原始分区为04h(FAT12),隐藏时的分区标志码为14h
; 现在,可以无限扩充了。
;
; 8月28日:
; 试验加入从隐藏分区启动的功能。
; 1、在启动后利用自己的INT13将原分区激活标志改为00,将能改为正常分区的原隐
;藏分区的激活标志改为80。
; 2、在安装前判断按键,用DX寄存器作为标志,无按键DX=0XFFFF,按F7时DX=1,
; INT13中CH=1,按其他键时DX=0,INT13中CH=0。
; 3、在INT13中,使用CH作为是否激活隐藏分区的判断标志,为1时从隐藏分区启动。
; 3、由于BOCHS虚拟机使用了F11和F12两个键,故设定按F7键由隐藏分区启动。
;
; 8月31日:
; crshen发现了几个BUG,现在一一解决。从隐藏分区启动的功能。
; 1、读不出F11是因为INT10H的0号功能不支持扩展键盘,现在改为10H号功能。可是
; 在QEMU中10号功能也不能读F11,而VPC却可以,可能是两者的BIOS不同或QEMU拦截
; 了F11/F12吧。
; 2、在安装前判断按键,如果按ESC键,则直接进入硬盘启动。
; 3、有一个判断跳转有误,致使INT13H的42H功能处理无效,我大意了,在加入处理
; 42H功能代码时忘了改前面的代码。
; 4、不能从8G以后的隐藏分区启动是因为在我的INT13过程中有一个严重的错误,这
; 个错误是由于我参考的资料有误而引入的。 在INT13H扩展功能中是用DS:SI来指向
; DAP的, 而不是那篇资料中说的DS:DI。这可真是……
; 在MS-FDISK、FREE-FDISK、AEFDISK、PQMAGIC、Acronis Disk Editor等大多数
; 程序中隐藏分区都会以正常分区显示,但GDISK却可以看出此分区为隐藏分区,
; GDISK一定有超越BIOS中断的独特存取硬盘方法。
; 9月1日:
; 目前9-2 0:47我已经将可能想到的BUG全部排除了, 而程序的长度也接近512字节的
; 极限了。
; 1、又发现原来的程序中有一处死码,是在调用原INT13中断后,AH已被作为返回值
; 了,却还在用AH判断扩展INT13,所以后面处理扩展INT13功能的代码就不会运行了。
; 修改成将AX压栈保存,但代码就更乱了,于是重写了前面的代码。
; 2、跟踪、思考了两天,才发现不能在机房的P4上启动隐藏分区上的OS的原因竟是原
; 来玩的一个技巧。真是聪明反被聪明误啊!
; 3、改变了开始时判断方式,DX中,DH=0安装INT13,DH=FFH不安装;DL=0载入软盘
; 引导记录启动,DL=80H载入硬盘MBR启动
; 4、新加入一个功能ESC键:可以不加载本程序,正常从硬盘盘启动,以用于一般情
; 况。
; 5、新加入一个功能F5键:可以不加载本程序,正常从软盘盘启动,以用于一般情况。
; ==========================================================================
;GoodFlag1 equ 0bh
;HideFlag1 equ 1bh
;GoodFlag2 equ 0ch
;HideFlag2 equ 1ch
;GoodFlag3 equ 0eh
;HideFlag3 equ 1eh
ORIGIN EQU 7C00H; Origin of bootstrap LOADER
BIO_MEMEQU 0413H; BIOS Memory size =640(KB)
BIO_CLKEQU 046CH; BIOS Clock (1/18.2 seconds)
DSK_PARMSEQU 1EH*4;POINTER TO DRIVE PARAMETERS
KEY_BOOTHIDDENEQU 41H;Scancode: F7=41H, F11=85H, F12=86H
KEY_BOOTFLOPPYEQU 3FH;Scancode: F5=3FH
KEY_ESCAPEEQU 01H;Scancode: ESC=01H
BOOTHIDDENFLAGEQU 80h
ORG0000h
START:
; WARNING -- Don change this to a short jmp
jmp short main; Jump to start of code
nop
; ==========================================================================
; Start of BPB area of the boot record
OemName DB "MSDOS"
OsVersion DB "5.0"; DOS version number
BPB:
BytesPerSector DW 512; Size of a physical sector
SecsPerClust DB 1; Sectors per allocation unit
ReservedSecs DW 1; Number of reserved sectors
NumFatsDB 2; Number of fats
NumDirEntries DW 00E0h; Number of direc entries
TotalSectors DW 0B40H; Number of sectors - number of hidden
; sectors (0 when 32 bit sector number)
MediaByte DB 0F0H; MediaByte byte
NumFatSecs DW 9; Number of fat sectors
SecPerTrack DW 18; Sectors per track
NumHeads DW 2; Number of drive heads
HiddenSecs DD 0; Number of hidden sectors
BigTotalSecs DD 0; 32 bit version of number of sectors
BootDrv DB 0h
CurrentHead DB 0h; Current Head
ExtBootSig DB 41
SerialNum DD 20050628h
VolumeLabel DB "YISIR_LOADER"
FatId DB "FAT12"
; =========================================================================
; First thing is to reset the stack to a better and more known
; place. The ROM may change, but wed like to get the stack
; in the correct place.
main:
cli;Stop interrupts till stack ok
xor AX,AX
mov ds,ax
mov es,ax
mov SS,AX;Work in stack just below this routine
mov ax,ORIGIN
mov sp,ax
sti
PUSH AX
;Show message
mov ax,1301h
mov bx,000ah
mov cx,MyMsgLen
mov dx,1500h
mov bp,MyMsg+ORIGIN
int 10h
;Hide the cursor
mov ah,1
mov cx,2000h
int 10h
;Wait 10 seconds
mov si, BIO_CLK
mov edx, dword [si]
mov ecx, edx
add edx, 159;18.2*10 seconds
ReadKB:
;Change 5 bytes with install option
;Case Option:/f Boot from floppy disk directly, do not waiting 8 seconds
;31H D2Hxor dx,dx
;E9H xxH 00Hjmp BiosMemory
;
;Case Option:/b Boot from HIDDEN parition derectly (activate it and load it)
;31H D2Hxor dx,dx
;E9H xxH 00Hjmp Key_F7
;
;Case Default: Show message and wait 8 second
mov ah, 11h;Get keyboard status
int 16h
jz NoKeyPress
mov ah,10h;Read a key (In old code, AH=0, can not read F11/F12...)
int 16h
xor dx,dx
cmp ah, KEY_ESCAPE
jz DX_HD;Press ESC to BOOT from Harddisk
cmp ah, KEY_BOOTFLOPPY
jnz RKB_1
mov dh, 0ffh;dh=0 Install INT13, else do not Install. Now DX=FF00H
jmp BiosMemory
RKB_1:
cmp ah, KEY_BOOTHIDDEN
jnz BiosMemory
Key_F7:
;If press Hot key, Boot From Hidden Partition. Now DX=0001H
;modify CH=80h in Int13 procedure
mov byte[ORIGIN+2+BootHiddenCode], BOOTHIDDENFLAG
jmp DX_HD
NoKeyPress:
cmp ecx, dword [si]
jae L_0
test cl,1
jz L_0
mov ax,0e3eh; write ">" to show progressing
mov bx,0004h
int 10h
L_0:
mov ecx, dword [si]
cmp edx,ecx
jae ReadKB
mov dh,0ffh;Do not install INT13. Now DX=FF00
DX_HD:
mov dl,080h;Boot from HD.
;DH=0 Install INT13, DH=FFH do not Install
;DL=0 Boot Floppy, DL=80H Boot HD
;Now:
; ESC DX=FF80, F5 DX=FF00H, F7 DX=0080H, ANYKEY DX=0000H, TIMEOUT DX=FF80H
BiosMemory:
;Show the cursor
mov ah,1
mov cx,0d0eh
int 10h
;BIOS MEMORY - 2KB
mov bx,BIO_MEM;bx=280H (KB)
mov ax,word [bx]
dec ax
cmp dh,0
jnz L_1
mov word [bx],ax;If DH=FF, Do not install
L_1:
;Move to High Memory. ex. 9fc0:0000
shl ax,6;ax=9fc0h SEG of top memory
mov es,ax;es=9fc0h
pop si;si=7c00h
push es;ready to RETF
xor di,di;di=0
cld
mov cx,100h
repnz movsw;move code to 9fc0:0000
cmp dh,0
jnz L_2;If DH=0ffh, Do not install
;modify Int13
mov si,4ch;Int13 13h*4
mov di,OLDINT13
;Save Old
mov eax,[si]
mov [es:di],eax
;cmp dh,0
;jnz L_2;If DH=0ffh, Do not install
push es
pop ax
shl eax,16
mov ax, MyInt13
mov [si],eax
L_2:;Jump to high address, 9fc0:00xx
push ds
pop es
mov bx,word Entre2
push bx;push 9fc0:Entre2
retf;跳到高端执行
Entre2:
cmp dl,0;If DX <> 0, Load HD-MBR
jnz L_3
ReadFD:;Read old boot sector from Floppy H1 T79 S18
mov cx,4f12h
mov dx,0100h
jmp RunInt13
L_3:;Read from Harddisk H0 T0 S1 MBR
mov cx,1
mov dx,80h
RunInt13:
mov ax,0201h
mov bx,ORIGIN
push ds
push bx
int 13h
retf
; 2005-9-1
; 这里是原来用的花哨技巧代码,就是它们导致使用F7启动不了隐藏分区。因为这里读到的是原始的MBR
; pushf ;int 13h
; push ds
; push bx
; ------------------------------------------
;Jump to Old INT 13H
JmpFarInt13:
DB 0eah ;JMP far OLDINT13
OLDINT13 DW 0,0
;End of Install-code
;Partition Flag Table normal and hidden
FlagTable:
dw 0111h, 0414h, 0616h, 0717h, 0b1bh, 0c1ch, 0e1eh
FlagTableEnd:
;My INT13h code
MyInt13:
cmp ah,2 ;Is Read?
jz Func2
cmp ah,42h ;Is ExtRead?
jz Func42
JmpOldInt13:
jmp JmpFarInt13
Func2:
CMP DX,0080H;Is Harddisk and Head 0?
jnz JmpOldInt13
cmp cx,0001H;Is Track 0 Sector 1?
jnz JmpOldInt13
pushf;Simulate INT operator
push cs
CALL JmpFarInt13;Call old INT13
jc exit;Flase then Exit
push bx
push es
jmp EditFlag
Func42:
cmp dl,80h;Is Harddisk
jnz JmpOldInt13
push eax
xor eax,eax
cmp dword [si+8],eax;Is Sector 0, Low 32bit
jnz ExitFunc42
cmp dword [si+12],eax;Is Sector 0, Hight 32bit
jnz ExitFunc42
pop eax
pushf;Simulate INT operator
push cs
CALL JmpFarInt13;Call old INT13
jc exit;If flase then Exit
push bx
push es
mov bx, [si+4]; Fix BX,ES like Int13h Func02
mov es, [si+6]
jmp EditFlag
ExitFunc42:
pop eax
jmp JmpOldInt13
EditFlag:
push ax
push cx
push si; DS:SI -> DAP
push ds
push cs
pop ds
add bx, 01c2h; ES:BX -> Partition Flag
BootHiddenCode:
mov cx, 4; CL=4, CH will can be change by Makeimg.c with 1 to Modify the ActiveFlag
cmp1:
mov si, FlagTable
cmp ch, BOOTHIDDENFLAG;If CH=BOOTHIDDENFLAG, Boot from hidden Partition
jnz nextFlag
mov byte [es:bx-4], 0;Clear Active Flag for boot from hidden partition
nextFlag:
cld
lodsw
cmp si, FlagTableEnd
jae nextPart
cmp byte [es:bx], al
jnz nextFlag
mov byte [es:bx], ah
cmp ch,BOOTHIDDENFLAG;If CH=BOOTHIDDENFLAG, Boot from hidden Partition
jnz JmpNextFlag
mov byte [es:bx-4], 80h
xor ch, ch;Set CH=0h, Don';t modify the next.
JmpNextFlag:
jmp nextFlag
nextPart:
add bx,10h
dec cl
ja cmp1
pop ds
pop si
pop cx
pop ax
pop es
pop bx
exit:
iret
; End of INT13H code
MyMsg db "PartUnhide Loader, yisir.9126.com, 2005-9-5",13,10
; db "Press any key to load RESTORE FLOPPY DISK...",13,10
MyMsgLen equ $-MyMsg
times 510 -($-$$) db 0
BOOTFLAG db 55h,0aah
下面引用由crshen在 2005/09/06 08:50pm 发表的内容:
已制作安装软件的图形界面,启动信息为程序内置,生成映像文件与turboy的最新版完全相同,欢迎下载试用。
下面引用由gmy在 2005/10/24 02:18pm 发表的内容:
支持!好软件!有几个疑问:
1,WINXP的磁盘管理器 是否能看到 隐含分区?
2,在非HFBOOT软盘环境下,GHOST可以备份GHO到隐含分区里吗?
3,一个硬盘5个分区,怎么手动把最后一个(第5个分区变成隐藏分区?不用P ...
下面引用由gmy在 2005/10/24 02:18pm 发表的内容:
3,一个硬盘5个分区,怎么手动把最后一个(第5个分区变成隐藏分区?不用P ...
下面引用由wang6610在 2005/10/23 11:42pm 发表的内容:
用制作显隐藏分区功能启动软盘镜像文件的工具制作的软盘不能在B:驱启动。现象是:
按F5后它不读B:而是读A:
下面引用由crshen在 2005/10/25 07:51pm 发表的内容:
源程序中有一段:
ReadFD:;Read old boot sector from Floppy H1 T79 S18
mov cx,4f12h
mov dx,0100h
jmp RunInt13
其中DL为磁盘号,本程序中为00,即A盘,改为01为B盘,INT 13读盘中断说明如下:
INT 13 - DISK - READ SECTOR(S) INTO MEMORY
AH = 02h
AL = number of sectors to read (must be nonzero)
CH = low eight bits of cylinder number
CL = sector number 1-63 (bits 0-5)
high two bits of cylinder (bits 6-7, hard disk only)
DH = head number
DL = drive number (bit 7 set for hard disk)
ES:BX -> data buffer
Return: CF set on error
if AH = 11h (corrected ECC error), AL = burst length
CF clear if successful
AH = status
AL = number of sectors transferred
由于程序已近512字节极限,且大多数人不会用到B盘,所以修改的意义不大。否则删除提示信息,到时又不知按什么键了,也不好。
下面引用由wang6610在 2005/10/26 07:52am 发表的内容:
2. 修改以前unhide制做好的IMG几个字节能否实现B:驱
下面引用由crshen在 2005/10/26 03:02pm 发表的内容:
急用的话,在以前制作好的IMG文件中最后512字节中,查找B9124FBA0001E90600,将BA0001中的00改为01试试,我没有B驱,未测试。
下面引用由turboy在 2005/10/31 11:31am 发表的内容:
不是“最后512字节中”,而是在最开始的512字节中。最后512字节中是原来的DOS引导程序!
我现在发现这个程序还有个问题,正在想办法。
下面引用由turboy在 2005/11/01 10:20am 发表的内容:
问题其实早就想到了,程序其实是对后来启动的系统虚报了一个MBR,这个MBR中的隐藏分区的ID被改成了正常的ID,程序中没有任何写MBR的代码,表面上不会对MBR造成改写。
可是也有意外,如果用户在用此程序启动电脑 ...
下面引用由turboy在 2005/11/01 10:20am 发表的内容:
问题其实早就想到了,程序其实是对后来启动的系统虚报了一个MBR,这个MBR中的隐藏分区的ID被改成了正常的ID,程序中没有任何写MBR的代码,表面上不会对MBR造成改写。
可是也有意外,如果用户在用此程序启动电脑 ...
下面引用由hnlyzhd在 2006/01/19 08:55pm 发表的内容:
测试完毕,报告 BUG
这个版本基本上已经很完美 了.可以完美的支持基于IBM的F11和PQ创建的隐藏分区.
但是不支持ACRONIS TRUE IMAGE创建的隐藏分区,也不支持WASAY科技的HIDE.COM隐藏的分区,下边是我的测试环境和创 ...
下面引用由hnlyzhd在 2006/01/20 09:57am 发表的内容:
我已经删除了测试环境,请大家直接下载制作好的IMG文件
http://www.exun8.com/wuyou/hnlyzhd/DOS%E5%B7%A5%E5%85%B7%E7%9B%98/
先详细看说明
下面引用由hnlyzhd在 2006/01/20 10:47am 发表的内容:
也发现这个问题,原因已经找到,是新技术虚拟写屏的BUG所造成的,已经取消虚拟写屏,请重新下载!
感谢楼上报告 BUG !
下面引用由14800在 2006/01/20 12:22pm 发表的内容:
再次谢谢!
实测联想隐藏分区无法看见和SYS,期待未来的版本...
下面引用由hnlyzhd在 2006/01/19 11:37pm 发表的内容:
再次报告所发现的问题:
按下F7时如果硬盘的MBR上有原来的F11功能,才能够引导隐藏分区进行启动,如果MBR上的F11功能已经被破坏,隐藏分区虽然仍是可以引导的,但并不能被引导,不知算不算BUG.
...为了让地址从7C00开始...
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) | Powered by Discuz! X3.3 |