无忧启动论坛

标题: [讨论]用什么文件或注册表项为通用PE识别标记 [打印本页]

作者: 沙漠之子    时间: 2007-1-31 08:34
标题: [讨论]用什么文件或注册表项为通用PE识别标记
由于许多文件只希望在pe环境下使用

故在编写P处理文件时,需要什么文件或注册表项作为通用PE的识别标记
作者: zhaohj    时间: 2007-1-31 11:13
你的意思是为PE用的程序文件打上印章,能不能在ICO上动动
作者: 沙漠之子    时间: 2007-1-31 15:50
原帖由 zhaohj 于 2007-1-31 11:13 AM 发表
你的意思是为PE用的程序文件打上印章,能不能在ICO上动动

你似乎理解错了,我的思想是某些东东只能在pe中运行,不想让他在xp中运行

我的mmc(任意目录运行),若在相碰中运行的话,会改变系统的一些设置的

所以,在p处理文件中加一条用于识别系统的语句,只在PE系统中才能继续运行

如以前基于xpelogon.exe为识别文件
现在以xcmd为识别文件

但是,这都不通用,我想要通用的用于识别pe系统的东东
作者: strongchen    时间: 2007-1-31 19:27
运行cmd的话就简单了,判断%systemroot%下是否存在TXTSETUP.SIF,不存在就exit。。。。
作者: 沙漠之子    时间: 2007-1-31 21:39
原帖由 strongchen 于 2007-1-31 07:27 PM 发表
运行cmd的话就简单了,判断%systemroot%下是否存在TXTSETUP.SIF,不存在就exit。。。。

好注意,我怎么就没想到呢
作者: strongchen    时间: 2007-1-31 21:45
其实 %systemroot%\SYSTEM32\SETUPREG.HIV 这个更好。

因为启动pe后 TXTSETUP.SIF 就可以被删除了,而 SETUPREG.HIV 是不能删除的。。
作者: zhaohj    时间: 2007-1-31 22:47
PE中有XP(或其他NT系统)中没有或反之。判断文件有没有是一个不是办法的办法,最好能象VER一样抓住要害并一个简单判别就能做到!
作者: 沙漠之子    时间: 2007-2-1 12:18
原帖由 strongchen 于 2007-1-31 09:45 PM 发表
其实 %systemroot%\SYSTEM32\SETUPREG.HIV 这个更好。

因为启动pe后 TXTSETUP.SIF 就可以被删除了,而 SETUPREG.HIV 是不能删除的。。

不错,在非pe系统没该文件

就怎么办了
作者: 沙漠之子    时间: 2007-2-1 14:54
原帖由 lsjtywkj 于 2007-2-1 02:11 PM 发表
在启动了  FBWF 后 SETUPREG.HIV 是能删除的。

我觉得用BARTPE.EXE好更好!!

BARTPE.EXE到并不是pe系统必须的文件哦

用SETUPREG.log好了,这个文件一定删不掉
作者: 沙漠之子    时间: 2007-2-21 23:59
原帖由 沙漠之子 于 2007-2-1 02:54 PM 发表

BARTPE.EXE到并不是pe系统必须的文件哦

用SETUPREG.log好了,这个文件一定删不掉

郁闷,我今天又研究了老猫最新的版本及老九120m的PE发现运行的时候

并不生成SETUPREG.log文件,故选其为识别文件也不行了

现想反其道而行
  1. If Exist %systemroot%\SYSTEM32\CONFIG\SYSTEM.LOG exit
复制代码

则存在SYSTEM.LOG表示在windows下

但是,有点不确信在win2000,win2003也行(没有环境)

win98/me直接忽略

我想看看大家的看法

[ 本帖最后由 沙漠之子 于 2007-2-22 12:01 AM 编辑 ]
作者: adatsui    时间: 2007-2-22 02:33
可以查看環境變量%systemdrive%=x:嗎 ?
作者: 沙漠之子    时间: 2007-2-22 17:03
原帖由 adatsui 于 2007-2-22 02:33 AM 发表
可以查看環境變量%systemdrive%=x:嗎 ?

好注意
作者: 123    时间: 2007-2-22 17:59
看看config里有没有system文件,如果有而且删不掉就是xp
作者: strongchen    时间: 2007-2-22 18:30
其实只有内核sp2以上的pe才是x盘的,sp1,和2000内核的pe可以是任意盘。
作者: 老毛桃    时间: 2007-2-22 20:17
原帖由 沙漠之子 于 2007-2-21 23:59 发表

郁闷,我今天又研究了老猫最新的版本及老九120m的PE发现运行的时候

并不生成SETUPREG.log文件,故选其为识别文件也不行了

现想反其道而行
If Exist %systemroot%\SYSTEM32\CONFIG\SYSTEM.LOG exit

则存 ...

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=94087

这个启动到 PE 后,整个 Config 目录都能删除。
作者: 123    时间: 2007-2-22 20:44
用everest看了一下,区别还是挺大的

1.JPG (27.19 KB, 下载次数: 87)

XP的

XP的

2.JPG (21.98 KB, 下载次数: 69)

PE的

PE的

作者: neo4026    时间: 2007-7-10 18:54
原帖由 strongchen 于 2007-2-22 06:30 PM 发表
其实只有内核sp2以上的pe才是x盘的,sp1,和2000内核的pe可以是任意盘。

汗...俺现在才知道原来win2k也有pe...
作者: nn2nn    时间: 2007-7-11 23:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: netwinxp    时间: 2007-7-12 06:55
那就检测wowexec.exe这个文件吧,完整的系统一般为了兼容16位应用程序会有这个家伙。
作者: Gandalf    时间: 2007-7-13 13:00
from:
http://www.nu2.nu/pebuilder/faq/#21


When I'm writing a program how can I detect if I'm running BartPE or WinPE?

You must check if a registry key exists...

如果运行在任何版本的 PE 中,则一定有:HKLM\system\currentcontrolset\control\minint
如果运行于 BartPE, 则一定有                  : HKLM\system\currentcontrolset\control\PE Builder

作者: mackyliu    时间: 2007-7-13 14:09
还是Gandalf兄强。找到这两个注册表项
作者: 沙漠之子    时间: 2007-7-13 15:26
Gandalf大大果然是个高手呀

还给我了一重要提示
作者: 沙漠之子    时间: 2007-7-13 15:56
  1. echo Check if running bartPE...
  2. reg.exe query HKLM\system\currentcontrolset\control\minint >nul 2>&1
  3. if errorlevel 1 goto _nowinpe
复制代码

作者: 仙乃日    时间: 2010-7-2 21:01
读取HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control下的SystemStartOptions 看是否有/minint 参数




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3