|
原帖由 q67512 于 2009-9-1 16:10 发表
那为什么我进过隐藏分区好几次了也没显现出来?
以下是1JF9k的隐藏分区预处理,0D62红色的75是条件转移,若改为EB则为无条件转移了,就会出现按F9后启动隐藏PE而见不到隐藏分区的现象,外置程序也就打不开了。
隐藏分区启动预处理
0:06BA E86800 CALL 0725 ;调用启动分区表项活动标志处理
0:06BD 803E907D00 CMP BYTE PTR [7D90],00 ;比较密码长度字节是否为0
0:06C2 7409 JZ 06CD ;是则跳过密码验证
0:06C4 56 PUSH SI ;SI入栈保存
0:06C5 57 PUSH DI ;DI入栈保存
0:06C6 E89300 CALL 075C ;调用密码验证子过程
0:06C9 5F POP DI ;DI出栈
0:06CA 5E POP SI ;SI出栈
0:06CB 75A9 JNZ 0676 ;未通过密码验证转去重新选择按F9键
0:06CD 803EC27D12 CMP BYTE PTR [7DC2],12 ;比较隐藏分区属性是否是隐藏属性
0:06D2 7508 JNZ 06DC ;不是则转去直接启动隐藏分区
0:06D4 C606C27D07 MOV BYTE PTR [7DC2],07 ;恢复隐藏分区表项的真实属性ID值
0:06D9 E86F00 CALL 074B ;将修改过的隐藏分区EBR回写
0:06DC 89FE MOV SI,DI ;将隐藏分区DBR指针转换成启动指针
0:06DE EB26 JMP 0706 ;转去启动隐藏分区的系统
[ 本帖最后由 lvyanan 于 2009-9-1 16:36 编辑 ] |
|