无忧启动论坛

标题: XPEinit 重编译版 1.9.1.1 正式版 & Xpelogon 重编译版(庆元旦版) [打印本页]

作者: qinjg8008    时间: 2006-11-18 18:40
标题: XPEinit 重编译版 1.9.1.1 正式版 & Xpelogon 重编译版(庆元旦版)
我做这个纯属爱好,不希望被期望太多,不让大家失望就可以了。

这些天没人提BUG了,就发布一个正式版吧


做到今天,新添加的功能基本能正常工作了,我也没有在添加新东西的打算了。因此我把最后提到的BUG包括###后面的问题,墙纸的问题都解决了,也许还有新的问题,我会继续解决,直到大家认为没什么BUG了。
也顺便把这个帖子整理一下。
首先说明下第一个附件,这是前几天的作品,包含的功能简单,包含下面列出的 1  2 和 3 。适合与老九的XPEHELP合作的。老九也发了经过他精简,压缩的,是相同版本的。

与XPEHELP的合作方法
毛桃1111,外置9哥XPESET的方法,替换我编译的XPEINIT,去除系统路径里的PECONFIG.INI,根目录下的XPEMENU.INI保持不变。把XPESET(或XPEHELP)放到“外置程序”(或你定义的目录)下,然后修改注册表runonceex里的
||xpeinit.exe -m "加载个人设置..." XPESET.EXE /REG 为
||xpeinit.exe -7 -m "加载个人设置..." 外置程序\XPEHELP.EXE /REG

第二个附件是我自己写的XPEinit可以调用的初始化PE的批处理脚本,功能和老九的XPEHELP相差不多。但无法设置JPG桌面。大家看一下里面的命令就知道了,我也不多解释。
现在来说第三个附件,是我重写的新的功能,包含下面的 1 2 3 4 和 5 。功能基本上和老九的XPESET基本上一样了。写这个是很累的,为了给程序减肥,为了减少60K的程序大小,我不得不自己用API写了读取整行文本的子函数。
现在基本上可以用了,就添加个版本号吧,由原来的1.9.0.0 变成1.9.1.0 ,并作为RC1发布。希望大家,多发些BUG反馈。这样程序才能更加完善。

发布RC2版本。
改进了解析字段信息的方式,字母大写小写都可以了,混着写也可以。
例 [Desktop]或[desktop]或[DESKtop]都起作用


发布正式版本。
很小的修正。


xpeinit重新在VC6下编译了一下,程序更小了。压缩后只有22K。

增加了xpelogon的重编译版,没有功能上的改变。只是改变了登录界面。压缩后44K。

修正xpelogon不同分辨率下的显示问题


1230版 XPEinit 支持读两个INI文件,先读系统盘下的,后读外置盘下的。同时修正设置桌面的一个BUG。

加快了XPElogon到达桌面的速度,大家试一下


1 -7 命令
作用:执行PE镜像外部程序(CMD;EXE 都可以,可以带参数)
例:在注册表RunOnceEx里添加 ||xpeinit.exe -7 "MYCMD.CMD"  程序将列出可用的磁盘、光盘,找到根目录下第一个可用的"MYCMD.CMD"文件,并执行它,等到目标程序结束后返回。支持相对路径,
例 注册表RunOnceEx里添加 ||xpeinit.exe -7 "MYDIR\MYCMD.CMD"

2 -8 命令
作用:直接调用加载的程序,不等待目标程序执行,直接返回。只支持绝对路径或system32目录下程序运行。
举例请看 3

3 -9  命令  此为增强的原 -9 命令
-9 后加数值,单位为秒
作用:Kill两个进程,释放资源
例 XPEinit -9 10           延时10秒释放资源
例 现在Kill那两个进程注册表中就可以这样写
注册表RunOnceEx里添加 ||xpeinit.exe -8 "xpeinit.exe -9 10"

4 修正的 -l 命令
原程序的 -l 命令在B盘重新格式化后或删除所有文件文件夹后。无法利用注册表里的相应值创建快速启动栏的快捷方式。

5 -i 命令

作用:调用PE外面的ini文件,完成PE的初始化工作,支持环境变量设置,支持桌面背景。搜索方式:先是系统所在驱动器然后 C 到 Z 盘
注册表RunOnceEx里添加 ||xpeinit.exe -i "MYINI.INI"  程序将列出可用的磁盘、光盘,找到根目录下第一个可用的"myini.ini"文件,读里面的内容完成注册表写入等
支持相对路径,
注册表RunOnceEx里添加 ||xpeinit.exe -i "MYDIR\MYINI.INI"


附录1:
原版参数说明 英文:
no switches -> command to execute without showing window (proxy mode), holding control key skips the execution

-b sends a broadcast message to all apps to re-read the environment variables
-l creates shortcuts
-y disables unsigned driver warning dialog box
-p setup ie proxy from xpeinit registry keys
-z setup refresh
-h max refresh rate for -z
-d runoncedel, deletes RunOnceEx keys between 400 and 600
-s doesn't complain if the launched command fails
-r processes RunOnceEx keys
-f force, when running in proxy mode, executes the program, even if the control key is pressed
-m message to display in the title of window when launching an application in proxy mode
-w check for WBEM repository in %SystemRoot%\system32\wbem\Repository or build it in %temp%\Repository
-9 disables 24 hour time limit by killing smss.exe and winlogon.exe (thx TheTruth)
-6 reboot system (tells XPELogon to reboot the system)
-0 shutdown system (tells XPELogon to shutdown the system)


附录2:
ini文件格式和说明如下:

###!!!!注意:命令行里如要使用相对路径,请使用%PATHEX%加相对路径
###!!!!区段名称不区分大小写
#####例如:设置程序文档关联=%SystemRoot%\SYSTEM32\XPEINIT.EXE %PATHEX%外置程序\REGDOC.CMD
##快捷方式
####桌面
[Desktop]
WinRAR=%RamDrv%\WINRAR\WINRAR.EXE
####程序组
[Programs]
系统设置\设置虚拟内存=外置程序\PE_TOOLS\SETPAGEFILE.EXE
文件工具\文件解压 WinRAR V3.61=%RamDrv%\WINRAR\WINRAR.EXE
####开始菜单
[StartMenu]
帮助和说明=外置程序\PE_TOOLS\XPEHELP.EXE
####启动
[StartUp]
更新变量=%SystemRoot%\SYSTEM32\XPEINIT.EXE|-b

####快速启动
[QuickLaunch]
清理虚拟磁盘临时文件=外置程序\PE_TOOLS\Clean.BAT||外置程序\PE_TOOLS\Clean.ICO

####发送到
[SendTo]

##自启动程序
####Windows Run项
[Run]
安装极点中文=外置程序\FreeWB\FREEWB.EXE

####Windows RunOnce项
[RunOnce]
设置程序文档关联=%SystemRoot%\SYSTEM32\XPEINIT.EXE %PATHEX%外置程序\REGDOC.CMD

####XPEinit加载ini时运行的程序,解压到B盘的程序应该放这里,否则建程序快捷方式会有问题
[XPEinitRun]
安装WinRAR=外置程序\WinRAR\WinRAR.EXE

##用户信息
[UserInfo]
RegisteredOwner=WinPE
RegisteredOrganization=Microsoft
##环境变量 注意:如要设置时一定要在在上面Run里加入 更新变量=%SystemRoot%\SYSTEM32\XPEINIT.EXE -b
[Environment]
myprograms=外置程序

##桌面壁纸
[WallPaper]
WallPaper=外置程序\背景.jpg

[ 本帖最后由 qinjg8008 于 2006-12-30 12:55 PM 编辑 ]

XPEinit.rar

77.95 KB, 下载次数: 549, 下载积分: 无忧币 -2

适合和老九初始化工具配合

REG.rar

1.97 KB, 下载次数: 530, 下载积分: 无忧币 -2

XPEinit 正式版.rar

92.5 KB, 下载次数: 1761, 下载积分: 无忧币 -2

正式版

XPEinit&XPELogon.rar

70.35 KB, 下载次数: 586, 下载积分: 无忧币 -2

1230 版VC6编译 无壳


作者: 大秦武士    时间: 2006-11-18 18:51
有没有没经压缩或加密的?
作者: uepon    时间: 2006-11-18 18:56
这个不错~~您测试了吗~可以用吗?

可以用那就太好了```
作者: 追风    时间: 2006-11-18 19:04
不错,下载了再试试。
作者: sangmei    时间: 2006-11-18 19:12
标题: 是替换了用?
它还杀了其它东东

lmt.jpg (35.16 KB, 下载次数: 275)

lmt.jpg

作者: 大秦武士    时间: 2006-11-18 19:14
唉,没必要杀掉那两个进程,如果非得用PE24个小时以上的话,可以建一个bat文件,弄个快捷方式在快速启动栏。bat的内容是:xpeiinit -9
这样就可以安全的手工去除24小时的时限!我就是这样办的。
作者: 老毛桃    时间: 2006-11-18 19:16
楼主的确高手,还想请教一下关于 NsPacK V3.7 的脱壳
作者: lxl1638    时间: 2006-11-18 19:21
楼主的确高手,有空本人再去读书(看下XPEInit的源码),打算废掉XPESET.EXE
作者: uepon    时间: 2006-11-18 19:24
试了~~和4楼的一样~,不能用
我估计~,是替换之前和之后的版本不一样~
老九的是1.8.0.0,这个是1.9.0.0
不知道里面的运行参数是否一样~
请楼住提供下
作者: qinjg8008    时间: 2006-11-18 19:38
我测试了是正常的啊,可能是加了壳的原因?
我附件加上了无壳的,大家试试看
作者: lxl1638    时间: 2006-11-18 19:39
似乎楼主增加功能使用到的Windows API在老毛桃修改的WinPE中不存在?
作者: sangmei    时间: 2006-11-18 19:45
还是不行哦
作者: 大秦武士    时间: 2006-11-18 19:49
这个提示我以前遇到过,你把提示中的文件iernonce.dll从windows xp sp2中复制过来,加进 winpe.is_中的system32文件夹就可以了。

[ 本帖最后由 大秦武士 于 2006-11-18 07:52 PM 编辑 ]
作者: qinjg8008    时间: 2006-11-18 19:54
原帖由 sangmei 于 2006-11-18 07:45 PM 发表
还是不行哦

我替换了老毛的1111的ISO里面的相同文件,没有问题啊
你怎么用的?
作者: uepon    时间: 2006-11-18 19:59
楼住~~查下你那里面的iernonce.dll 的MD5
作者: sangmei    时间: 2006-11-18 19:59
1111版bootcd

[ 本帖最后由 sangmei 于 2006-11-18 08:59 PM 编辑 ]

lmt2.jpg (20.72 KB, 下载次数: 186)

lmt2.jpg

作者: qinjg8008    时间: 2006-11-18 20:03
原帖由 老毛桃 于 2006-11-18 07:16 PM 发表
楼主的确高手,还想请教一下关于 NsPacK V3.7 的脱壳


http://bbs.pediy.com/showthread. ... &threadid=20366

看看这篇文章,NSPACK是压缩壳

根据堆栈平衡原理找OEP,应该可以找到

再有就是脱壳机

http://ap0x.jezgra.net

好多脱壳机哦
作者: 老毛桃    时间: 2006-11-18 20:17
原帖由 qinjg8008 于 2006-11-18 20:03 发表


http://bbs.pediy.com/showthread. ... &threadid=20366

看看这篇文章,NSPACK是压缩壳

根据堆栈平衡原理找OEP,应该可以找到

再有就是脱壳机

http://ap0x ...

谢谢楼主,不过对这些我可算是纯粹的文盲,只对脱壳的工具比较感兴趣,因为自己也常用 NSPack,所以想要个脱壳工具,找到了,谢谢!
作者: uepon    时间: 2006-11-18 20:23
我试了~~第一次成功~
我又试了第二次~~非常遗憾~失败`~郁闷死了
这是不是因为只设置10秒的延迟~
是不是设置xpeinit.exe -9 30 就延迟30秒呢?

我也不知道
加了 -8 命令行参数
的作用:直接调用加载的程序,不等待直接返回
是什么意思~~
望LZ解释下~
作者: zhfzl2006    时间: 2006-11-18 20:26
好东西,顶一下
作者: qinjg8008    时间: 2006-11-18 20:36
原帖由 uepon 于 2006-11-18 08:23 PM 发表
我试了~~第一次成功~
我又试了第二次~~非常遗憾~失败`~郁闷死了
这是不是因为只设置10秒的延迟~
是不是设置xpeinit.exe -9 30 就延迟30秒呢?

我也不知道
加了 -8 命令行参数
的作用:直接调用加载的程序, ...



xpeinit.exe -9 30 就是设置延时30秒,但如果要用在runonce里,就必须和 -8一起使用,否则就没有任何作用了。

-8 就相当于 启动一个任务,不管他结束没有就进行下一个。不加这个参数就会 等待当前启动的进程结束了,再进行下一个任务
作者: uepon    时间: 2006-11-18 20:36
又尝试几次~~进去后老是重起~~不知道为什么
作者: xdg3669    时间: 2006-11-18 21:02
原帖由 老毛桃 于 2006-11-18 08:17 PM 发表

谢谢楼主,不过对这些我可算是纯粹的文盲,只对脱壳的工具比较感兴趣,因为自己也常用 NSPack,所以想要个脱壳工具,找到了,谢谢!


用NSPack脱壳工具RL!deNsPack 3.x脱壳得到文件比没压缩之前大一倍多!不知哪个更接近原来的文件?效果更好?

[ 本帖最后由 xdg3669 于 2006-11-18 09:04 PM 编辑 ]
作者: xdg3669    时间: 2006-11-18 21:09
原帖由 uepon 于 2006-11-18 08:36 PM 发表
又尝试几次~~进去后老是重起~~不知道为什么

可能是你的延时不够。提前KILL!
作者: 老毛桃    时间: 2006-11-18 21:10
原帖由 xdg3669 于 2006-11-18 21:02 发表


用NSPack脱壳工具RL!deNsPack 3.x脱壳得到文件比没压缩之前大一倍多!不知哪个更接近原来的文件?效果更好?

我也有点奇怪,脱壳后的文件比楼主提供的未压缩版(96KB)大多了(157KB),即使用 Resource Binder 处理过,仍然有 115KB,还是大不少啊
作者: xdg3669    时间: 2006-11-18 21:16
原帖由 老毛桃 于 2006-11-18 09:10 PM 发表

我也有点奇怪,脱壳后的文件比楼主提供的未压缩版(96KB)大多了(157KB),即使用 Resource Binder 处理过,仍然有 115KB,还是大不少啊


YES!确实是这样!我度过大约大了一倍,可能是解压时写入相当多的代码!特别在根据堆栈平衡原理找OEP时候。

[ 本帖最后由 xdg3669 于 2006-11-18 09:18 PM 编辑 ]
作者: xsjlai88    时间: 2006-11-18 21:27
不错,谢谢分享!!!
作者: fage520    时间: 2006-11-18 21:51
真是个好东西,我回去试一下。
作者: sangmei    时间: 2006-11-18 22:07
不起作用。

[ 本帖最后由 sangmei 于 2006-11-18 10:09 PM 编辑 ]
作者: uepon    时间: 2006-11-18 22:17
原帖由 xdg3669 于 2006-11-18 09:09 PM 发表

可能是你的延时不够。提前KILL!


不会啊~~我设置了30秒~~
如果直接用xpeinit.exe -9 不用延时~
一点问题也没有~~设了延时反而有问题
作者: qinjg8008    时间: 2006-11-18 23:27
原帖由 uepon 于 2006-11-18 10:17 PM 发表


不会啊~~我设置了30秒~~
如果直接用xpeinit.exe -9 不用延时~
一点问题也没有~~设了延时反而有问题


说说你是怎么用的?直接在注册表里还是批处理里?

给出你的用法来

另外,要是用了老九的xpeset或xpehelp,就不需要再用这个语句 kill 进程了

还有,就是不要用加壳的,或换个压缩壳试试看

[ 本帖最后由 qinjg8008 于 2006-11-18 11:59 PM 编辑 ]
作者: uepon    时间: 2006-11-19 10:08
原帖由 qinjg8008 于 2006-11-18 11:27 PM 发表


说说你是怎么用的?直接在注册表里还是批处理里?

给出你的用法来

另外,要是用了老九的xpeset或xpehelp,就不需要再用这个语句 kill 进程了

还有,就是不要用加壳的,或换个压缩壳试试看


我是直接用在注册表中的~RunOnceEx 子目录中的A00
把100项(xpeinit.exe -9 )改为||xpeinit.exe -8 "xpeinit.exe -9 20"

然后进去就重起~~我不知道是不是我用北斗加壳的问题~
xpeinit.exe 我没加  只加了XPELOGON.EXE
作者: qinjg8008    时间: 2006-11-19 10:54
原帖由 uepon 于 2006-11-19 10:08 AM 发表


我是直接用在注册表中的~RunOnceEx 子目录中的A00
把100项(xpeinit.exe -9 )改为||xpeinit.exe -8 "xpeinit.exe -9 20"

然后进去就重起~~我不知道是不是我用北斗加壳的问题~
xpeinit.exe 我没 ...

这样是对的,你用的哪个版本的PE?
作者: uepon    时间: 2006-11-19 10:57
老九120 IMG
我自己转的ISO
作者: chowyu    时间: 2006-11-19 10:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: qinjg8008    时间: 2006-11-19 11:24
原帖由 uepon 于 2006-11-19 10:57 AM 发表
老九120 IMG
我自己转的ISO


是不是和别的程序冲突,我用毛桃的,没有问题。另外,先不要改注册表。进入系统后,在命令行下用xpeinit.exe -8 "xpeinit.exe -9 20"测试一下。
作者: uepon    时间: 2006-11-19 13:10
看一下~~是不是注册表的问题~,看看

RunOnceEx.PNG (22.34 KB, 下载次数: 193)

RunOnceEx.PNG

作者: uepon    时间: 2006-11-19 14:23
高兴死了~~哈哈
成功啦~~
我知道我老重起的原因了``
一点一点讲
我从中午就开始找为什么
下午我看到qinjg8008大虾的启发
(和别的程序的冲突)
我仔细找了下~
是PECONFIG.INI的问题,里面有一个启动项
KillProcess.exe SHELLEXECUTE.EXE    结束SHELLEXECUTE进程
我估计它也是过早的KILL而导致PE重起,我认为它也要被加延迟
我不知道SHELLEXECUTE进程 是干什么的`~
有谁知道吗?告诉我
作者: lxl1638    时间: 2006-11-19 14:49
SHELLEXECUTE是用来执行AutoRun.CMD的,在这个CMD留有一个更有优先权的接口。
作者: qinjg8008    时间: 2006-11-19 15:06
原帖由 uepon 于 2006-11-19 02:23 PM 发表
高兴死了~~哈哈
成功啦~~
我知道我老重起的原因了``
一点一点讲
我从中午就开始找为什么
下午我看到qinjg8008大虾的启发
(和别的程序的冲突)
我仔细找了下~
是PECONFIG.INI的问题,里面有一个启动项
Kill ...

解决问题就好,另外,程序小小更新了一下,自由度更大了。
作者: uepon    时间: 2006-11-19 15:07
老大帮忙再编译一个 加入SHELLEXECUTE.EXE 的
让程序在延时后KILL那3个进程,这很方便
一句代码的事~谢谢了
发到帖子上也可以,发到我的邮箱也可以(uepon@163.com)
十分感谢!
作者: lxl1638    时间: 2006-11-19 15:18
原帖由 qinjg8008 于 2006-11-18 06:40 PM 发表
新加了 -7 命令
作用:执行PE镜像外部程序(CMD;EXE 都可以,可以带参数)
说不定可以把老九的XPESET.EXE外置咯,大家去琢磨吧 ...


原理上可行,我先看看XPESET.EXE是在那个目录(系统目录或XPESET.EXE所在的目录)下找配置文件的再试。

完全可以,XPESET.EXE找PECONFIG.INI的代码如下:
FileName := SystemRoot + '\SYSTEM32\PECONFIG.INI';
If FileExists(FileName) Then GetAllPrograms(FileName, SystemDrive);

[ 本帖最后由 lxl1638 于 2006-11-19 03:22 PM 编辑 ]
作者: uepon    时间: 2006-11-19 15:18
或者再加一个命令
可以自定义几秒后启动某个程序~
自由度将更大,如:
||xpeinit.exe -X "XXX.EXE"  10
意味十秒后程序启动XXX.EXE
也要支持附加参数
作者: qinjg8008    时间: 2006-11-19 15:24
原帖由 uepon 于 2006-11-19 03:18 PM 发表
或者再加一个命令
可以自定义几秒后启动某个程序~
自由度将更大,如:
||xpeinit.exe -X "XXX.EXE"  10
意味十秒后程序启动XXX.EXE
也要支持附加参数

xpeinit主要初始化的,几秒后启动程序好像意义不大
作者: uepon    时间: 2006-11-19 15:32
原帖由 qinjg8008 于 2006-11-19 03:24 PM 发表

xpeinit主要初始化的,几秒后启动程序好像意义不大


有些情况下确实没用但最好可以加进去~只是几行代码的事情
加进去也无妨.
这种情况就可以直接放弃-9的延时.而只是KILL
然后在注册表中加进||xpeinit.exe -X "xpeinit.exe -9"  10
这样也可以延时KILL
一举两得~!
作者: qinjg8008    时间: 2006-11-19 15:44
原帖由 uepon 于 2006-11-19 03:32 PM 发表


有些情况下确实没用但最好可以加进去~只是几行代码的事情
加进去也无妨.
这种情况就可以直接放弃-9的延时.而只是KILL
然后在注册表中加进||xpeinit.exe -X "xpeinit.exe -9"  10
这样也可以延 ...

其实你还不是很明白延时的概念,延时分等待延时和非等待延时。
等待延时,在PE初始化里无任何意义。
非等待延时,是要另外开一个进程的,也就是说要占用很多系统内存的。所以这样的延时最好少用或不用。
所以为什么原作者不考虑延时的问题,估计也有这方面的原因。
现在的那个kill功能,你自己看一下没kill之前的任务里面多一个XPEinit的进程,占用大概1兆多内存,它就是在等着杀进程的,
这时候,内存占用是最大的,等它杀完了,才会退出,释放内存
作者: Climbing    时间: 2006-11-19 15:50
XPEINIT是不是用VS2005编译的?

建议楼主在发布可执行程序的同时发布修改后的源代码,按照GPL的协议,应该公布源代码的,嘿嘿。
作者: qinjg8008    时间: 2006-11-19 15:59
原帖由 Climbing 于 2006-11-19 03:50 PM 发表
XPEINIT是不是用VS2005编译的?

建议楼主在发布可执行程序的同时发布修改后的源代码,按照GPL的协议,应该公布源代码的,嘿嘿。


是VS2005编译。源代码我会给有需要的人,但不会直接贴在这里。
作者: wangleiok    时间: 2006-11-19 16:03
支持!!!
作者: wangleiok    时间: 2006-11-19 16:06
支持!!!
作者: Climbing    时间: 2006-11-19 17:57
原帖由 qinjg8008 于 2006-11-19 15:59 发表


是VS2005编译。源代码我会给有需要的人,但不会直接贴在这里。


为什么不直接贴在这里呢?给自己省了很多麻烦。

如果可能,请给我发一份儿修改后的源代码:xclimbing@gmail.com,谢谢。
作者: xdg3669    时间: 2006-11-19 20:33
原帖由 lxl1638 于 2006-11-19 03:18 PM 发表


原理上可行,我先看看XPESET.EXE是在那个目录(系统目录或XPESET.EXE所在的目录)下找配置文件的再试。

完全可以,XPESET.EXE找PECONFIG.INI的代码如下:



如果这样的话PECONFIG.INI可以考虑放到外面来方便定制。或者与外置配置文件合并^_^?


原帖由 qinjg8008 于 2006-11-18 06:40 PM 发表
新加了 -7 命令
作用:执行PE镜像外部程序(CMD;EXE 都可以,可以带参数)
例:||xpeinit.exe -7 "MYCMD.CMD"  程序将列出可用的磁盘、光盘,找到根目录下第一个可用的"MYCMD.CMD"文件,并执 ...


xpeinit执行PE镜像外部程序支持路径就更完美了,不用放太多文件在根目录。

[ 本帖最后由 xdg3669 于 2006-11-19 08:38 PM 编辑 ]
作者: qinjg8008    时间: 2006-11-19 20:55
原帖由 xdg3669 于 2006-11-19 08:33 PM 发表



如果这样的话PECONFIG.INI可以考虑放到外面来方便定制。或者与外置配置文件合并^_^?




xpeinit执行PE镜像外部程序支持路径就更完美了,不用放太多文件在根目录。


支持的 比如 ||xpeinit.exe -7  "mytools\test.cmd"
作者: 老毛桃    时间: 2006-11-19 21:06
原帖由 qinjg8008 于 2006-11-19 20:55 发表


支持的 比如 ||xpeinit.exe -7  "mytools\test.cmd"

呵呵,这样的话,可能老九的 XPESET.EXE 还有 PECONFIG.INI 可以不用了哈,因为 XPEHELP.EXE 本身就能完成系统初始化工作
作者: xdg3669    时间: 2006-11-19 22:22
原帖由 老毛桃 于 2006-11-19 09:06 PM 发表

呵呵,这样的话,可能老九的 XPESET.EXE 还有 PECONFIG.INI 可以不用了哈,因为 XPEHELP.EXE 本身就能完成系统初始化工作


无忧真是人才济济呀。用旧版的XPEHELP.EXE 就可以,新版的XPEHELP.EXE 如果不在 PECONFIG.INI指定外置配置文件不知是否默认寻找各分区根目录下的XPEMENU.INI?好像不寻找的!

[ 本帖最后由 xdg3669 于 2006-11-20 06:50 AM 编辑 ]
作者: strongchen    时间: 2006-11-20 00:14
老毛桃把标题改改颜色吧,方便寻找。。。
作者: 老毛桃    时间: 2006-11-20 13:23
原帖由 strongchen 于 2006-11-20 00:14 发表
老毛桃把标题改改颜色吧,方便寻找。。。

亮了
作者: QJCM    时间: 2006-11-20 21:07
应该加"精"啊 !!!

虽然只不过是个小程序,经测试:

原文件无压缩;无加壳;无检验;无任何副加信息.

我认为应该大力鼓励这些开放型软件的加入,以激励更多的人的参与,

从而使大家投入到完善功能,提高效率,增强兼容性与易用性的研究中去.

对"论坛"和"制做人"有百利而..........有"二害"................
作者: 老毛桃    时间: 2006-11-20 21:10
原帖由 QJCM 于 2006-11-20 21:07 发表
应该加"精"啊 !!!

虽然只不过是个小程序,经测试:

原文件无压缩;无加壳;无检验;无任何副加信息.

我认为应该大力鼓励这些开放型软件的加入,以激励更多的人的参与,

从而使大家投入到完善功能, ...

支持加精
作者: xdg3669    时间: 2006-11-20 21:10
原帖由 lxl1638 于 2006-11-18 07:21 PM 发表
楼主的确高手,有空本人再去读书(看下XPEInit的源码),打算废掉XPESET.EXE


支持!这样更好更精简。
作者: uepon    时间: 2006-11-21 13:25
XPEInit 用C 写的吧 XPESET.EXE 好象用的DELPHI
C好难啊
xl1638加油啊!
作者: lxl1638    时间: 2006-11-21 13:43
原帖由 xdg3669 于 2006-11-19 10:22 PM 发表


无忧真是人才济济呀。用旧版的XPEHELP.EXE 就可以,新版的XPEHELP.EXE 如果不在 PECONFIG.INI指定外置配置文件不知是否默认寻找各分区根目录下的XPEMENU.INI?好像不寻找的!


如果不存在PECONFIG.INI或PECONFIG.INI中不指定外部配置文件,新版的XPEHELP.EXE先查找默认的XPEMENU.INI。若PECONFIG.INI中指定了外部配置文件,则查找指定的外部配置文件。现在通过楼主重编译的XPEInit应可以这样挂接XPEHELP.EXE了,大家在使用过程中有要求改进的可以提出来。

另,好象原版XPEInit是VC6.0++编译的,但本人基本不会VC++,拿VS2005对原版编译一下,晕,出来的文件580K之大!这个应怎样处理?哪里有VC++的基础教程,最好是电子书教程?

[ 本帖最后由 lxl1638 于 2006-11-21 01:47 PM 编辑 ]
作者: 大秦武士    时间: 2006-11-21 13:47
xpehelp与xpeset目前还不能废掉,我发现它们有一个自动分配虚拟内存的功能,如果内存少于128M的话,废了它们会出问题的。
作者: qinjg8008    时间: 2006-11-21 14:53
原帖由 lxl1638 于 2006-11-21 01:43 PM 发表


如果不存在PECONFIG.INI或PECONFIG.INI中不指定外部配置文件,新版的XPEHELP.EXE先查找默认的XPEMENU.INI。若PECONFIG.INI中指定了外部配置文件,则查找指定的外部配置文件。现在通过楼主重编译的XPEInit应可 ...

应该是DEBUG版本的才会那么大的,RELEASE版的不会那么大的,注意各种优化选项都加上
作者: qinjg8008    时间: 2006-11-21 15:34
原帖由 lsjtywkj 于 2006-11-21 03:23 PM 发表
关于:  例:||xpeinit.exe -7 "MYCMD.CMD"  程序将列出可用的磁盘、光盘,找到根目录下第一个可用的"MYCMD.CMD"文件,并执行它,等到程序返回

若 磁盘的多个分区,每个分区都有MYCMD.CMD ...

只执行找到的第一个,默认按字母顺序ABCD查找驱动器
作者: lxl1638    时间: 2006-11-21 16:15
原帖由 qinjg8008 于 2006-11-21 02:53 PM 发表

应该是DEBUG版本的才会那么大的,RELEASE版的不会那么大的,注意各种优化选项都加上


老师的老师来了,哈哈,有救了,能不能说下如何各种优化选项都加上 ?最好是图解教程。
作者: lxl1638    时间: 2006-11-21 16:18
原帖由 qinjg8008 于 2006-11-21 03:34 PM 发表

只执行找到的第一个,默认按字母顺序ABCD查找驱动器


XPEinit -7 "MYCMD.CMD"
这个 "MYCMD.CMD" 是否可以灵活一些,比如第2个参数作为文件名?
作者: qinjg8008    时间: 2006-11-21 22:07
原帖由 lxl1638 于 2006-11-21 04:18 PM 发表


XPEinit -7 "MYCMD.CMD"
这个 "MYCMD.CMD" 是否可以灵活一些,比如第2个参数作为文件名?


我不知道你这个第二个参数为文件名是指什么?
执行的命令是可以带参数的 xpeinit -7 "MYCMD.CMD MYPE.INI"

还有,有关优化的,代码作者已经加了优化进去了,你切换到RELEASE模式,看一下xpeinit的项目属性就可以看到优化选项了,包括代码编译优化和库链接的优化
作者: lxl1638    时间: 2006-11-21 23:07
原帖由 qinjg8008 于 2006-11-21 10:07 PM 发表
我不知道你这个第二个参数为文件名是指什么?
执行的命令是可以带参数的 xpeinit -7 "MYCMD.CMD MYPE.INI"


本人的意思是,第2个参数作文件名,如:
xpeinit -7  FileName.Ext
这个FileName.Ext即可是CMD命令,也可以是BAT或EXE命令,或者更灵活一点,支持这样的格式:
xpeinit -7  FilePath\FileName.Ext
那么楼主重编译的xpeinit在查找各分区时将分区的盘符(如 R:\ )补到第2个参数前面就参形成一个完整的文件名( R:\FilePath\FileName.Ext )了,找到这个文件就执行它,这样会更灵活,方便挂接任何的外挂命令了,至于R:\FilePath\FileName.Ext 要做什么就由它自己定。

就是说第2个参数不限定是一个固定名称的MYCMD.CMD

[ 本帖最后由 lxl1638 于 2006-11-21 11:09 PM 编辑 ]
作者: qinjg8008    时间: 2006-11-21 23:51
原帖由 lxl1638 于 2006-11-21 11:07 PM 发表


本人的意思是,第2个参数作文件名,如:
xpeinit -7  FileName.Ext
这个FileName.Ext即可是CMD命令,也可以是BAT或EXE命令,或者更灵活一点,支持这样的格式:
xpeinit -7  FilePath\FileName.Ext
那么楼 ...

现在就支持这种相对路径的呀,
看顶楼的说明,不限于磁盘根目录的,
xpeinit -7  FilePath\FileName.Ext
完全支持的,系统会在找到文件后加上驱动器名,形成完整路径 X:\FilePath\FileName.Ext 而且支持附加参数 xpeinit -7  FilePath\FileName.Ext PAR
CMD支持,当然exe、bat也支持呀,这个顶楼也说明了
作者: lxl1638    时间: 2006-11-22 00:47
原帖由 qinjg8008 于 2006-11-21 11:51 PM 发表

现在就支持这种相对路径的呀,
看顶楼的说明,不限于磁盘根目录的,
xpeinit -7  FilePath\FileName.Ext
完全支持的,系统会在找到文件后加上驱动器名,形成完整路径 X:\FilePath\FileName.Ext 而且支持附加 ...


好,最灵活,最完善的方法了。
作者: 沙漠之子    时间: 2006-11-22 12:15
当b盘格式了,用xpeinit -l不能重建快速启动栏的快捷方式

应该是xpeinit的问题吧,大大能不能修正一下呢?
作者: qinjg8008    时间: 2006-11-22 22:24
去除了老九发现的BUG,大家继续帮测试
作者: QJCM    时间: 2006-11-22 22:29
不能被 UPX 压缩的问题,好象坛里有位大大发过个:

资源重建

的小程序,我找不到了,谁帮忙传个上来.

谢谢!
作者: xdg3669    时间: 2006-11-22 23:48
XPEHELP.exe外置加载成功!

[ 本帖最后由 xdg3669 于 2006-11-23 04:09 PM 编辑 ]
作者: qinjg8008    时间: 2006-11-23 00:45
原帖由 沙漠之子 于 2006-11-22 12:15 PM 发表
当b盘格式了,用xpeinit -l不能重建快速启动栏的快捷方式

应该是xpeinit的问题吧,大大能不能修正一下呢?


已经修正
作者: lxl1638    时间: 2006-11-23 00:53
是的,可以正常使用了,与XPEHELP.EXE配合,简直就是天生的一对。
下面的附件是本人修改后的XPEINIT与XPEHELP,这个 XPEINIT只有48K,在注册表中配合XPEHELP的使用方法是:
1、将注册表 SOFTWARE 加载进来
2、将这项 Microsoft\Windows\CurrentVersion\RunOnceEx\600  的字符串 "111" 的值由原来的
      ||xpeinit.exe -m "加载个人设置..." XPEHELP.EXE /REG
      改为
      ||xpeinit.exe -7 "外置程序\PETOOLS\XPEHELP.EXE /REG MICROPE.INI"
3、把新的 XPEINIT.EXE 放到WinPE系统内的 SYSTEM32 目录,把 XPEHELP.EXE 放到 外置程序\PETOOLS 目录

其中 MICROPE.INI 为外部配置文件,当省略它时会查找默认的外部配置文件 XPEMENU.INI。XPEHELP.EXE 查找外部配置文件的顺序为:XPEHELP.EXE所在的目录 ==> (C: -->Z:)各分区的根目录。

[ 本帖最后由 lxl1638 于 2006-11-23 01:01 AM 编辑 ]

未命名.PNG (286.5 KB, 下载次数: 172)

未命名.PNG

XPEINIT&XPEHELP.RAR

373.03 KB, 下载次数: 106, 下载积分: 无忧币 -2


作者: 老毛桃    时间: 2006-11-23 09:49
原帖由 lxl1638 于 2006-11-23 00:53 发表
是的,可以正常使用了,与XPEHELP.EXE配合,简直就是天生的一对。
下面的附件是本人修改后的XPEINIT与XPEHELP,这个 XPEINIT只有48K,在注册表中配合XPEHELP的使用方法是:

其中 MICROPE.INI 为外部配置文件, ...

嘿嘿,人多力量大,强人多了,研究问题的路子也多了,也更完善路了。以前老九单枪匹马,太累了。。。
作者: chouliu    时间: 2006-11-23 10:39
原帖由 QJCM 于 2006-11-22 10:29 PM 发表
不能被 UPX 压缩的问题,好象坛里有位大大发过个:

资源重建

的小程序,我找不到了,谁帮忙传个上来.

谢谢!


你要的应该是这个吧。呵呵...

Resource Binder.rar

61.45 KB, 下载次数: 104, 下载积分: 无忧币 -2


作者: QJCM    时间: 2006-11-23 12:27
你要的应该是这个吧。呵呵...
:lol

谢谢!

就是它!!!:victory:
作者: 沙漠之子    时间: 2006-11-23 13:12
原帖由 lxl1638 于 2006-11-23 12:53 AM 发表
是的,可以正常使用了,与XPEHELP.EXE配合,简直就是天生的一对。
下面的附件是本人修改后的XPEINIT与XPEHELP,这个 XPEINIT只有48K,在注册表中配合XPEHELP的使用方法是:

其中 MICROPE.INI 为外部配置文件, ...

似乎以不再支持内置的配文件了

不过全统一到外置配文件也好
作者: l1982012800    时间: 2006-11-23 13:17
原帖由 沙漠之子 于 2006-11-23 01:12 PM 发表

似乎以不再支持内置的配文件了

不过全统一到外置配文件也好

内置的直接写进注册表就行了
作者: QJCM    时间: 2006-11-23 22:11
XPEinit 重编译 [测试] 版

外置成功,运行稳定,功能齐全.

赞一个!   :D


但为何这样加入注册表键值就不行了呐?

"111"=||xpeinit.exe -7 "外置程序\MYCMD.CMD"



"111"=||xpeinit.exe -7 -m "外置程序\MYCMD.CMD"


有解决的办法吗?

加油啊!  :victory:


对支持外置配置文件有个想法:

把"MYCMD.CMD"中的内容转为"MYCMD.REG"

修改注册表 runonceex 为:

"111"=||xpeinit.exe -7 -m  "REGEDIT/S  外置程序\ MYCMD.REG"

这样可行吗???

[ 本帖最后由 QJCM 于 2006-11-23 11:10 PM 编辑 ]
作者: lxl1638    时间: 2006-11-23 22:45
原帖由 沙漠之子 于 2006-11-23 01:12 PM 发表

似乎以不再支持内置的配文件了

不过全统一到外置配文件也好


XPEHELP.EXE一样支持内部配置文件的,把配置文件放置到WinPE系统盘(X:)的根目录即可,因为XPEHELP.EXE会读解C: ==> Z:所有分区根目录的配置文件。唯一的区别是以前要求这个配置文件(PEConfig.INI)放置在SYSTEM32目录,而现在要求放置在根目录,文件名由XPEHELP.EXE的第2个参数来说明,参照这里的78楼:
http://bbs.wuyou.net/forum.php?m ... page%3D1&page=8
作者: qinjg8008    时间: 2006-11-23 23:46
"111"=||xpeinit.exe -7 "外置程序\MYCMD.CMD"
是可行的,没有问题。另外那句有问题 -m 后面的一句xpeinit会认为是描述信息,而不是可执行程序。
有关添加注册表的方法有很多。我自己写的一个脚本,我把它放在一楼,完成老九PE的初始化功能,适合于毛桃的1111但有两点不完美:
一是无法隐藏运行,xpeinit的静默运行方式对.CMD文件无效
二是无法设置.jpg格式的桌面
作者: Sia    时间: 2006-11-25 01:38
我也有点奇怪,脱壳后的文件比楼主提供的未压缩版(96KB)大多了(157KB),即使用 Resource Binder 处理过,仍然有 115KB,还是大不少啊

是因为脱壳机及手工脱壳,得新建一个输入表(Import Table)区段(Section),还有PE文件对齐粒度,要想脱壳完美,需要手工建立每一个区段。
作者: chowyu    时间: 2006-11-25 12:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: QJCM    时间: 2006-11-25 12:40
XPEinit.rar 新测试版

有功能上的更新吗?


REG.rar

我认为系统初始化是重点

外置程序的快捷方式用  RAR静默自解压   "Path=.\%ramdrv%\"

||xpeinit.exe -7  RAR静默自解压.EXE

应该可以解决, 也便于增减.

我的笨办法哦!

[ 本帖最后由 QJCM 于 2006-11-25 01:17 PM 编辑 ]
作者: hoho1234    时间: 2006-11-25 15:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: qinjg8008    时间: 2006-11-26 18:01
更新了,添加了PE初始化的功能,大家帮助测试!
作者: l1982012800    时间: 2006-11-26 19:12
真是高手啊,老九的XPEHELP真的可以扔了
作者: QJCM    时间: 2006-11-26 21:29
:D:victory:

佩服,佩服!

全力支持您,楼主.


请问一下:

                   新添加的 -i 命令.

                  在那里或怎么定义:系统设置\设置虚拟内存=外置程序\PE_TOOLS\SETPAGEFILE.EXE

                  中的 " 外置程序 " 和  'PE_TOOLS''  目录名?

是不是  'PE_TOOLS''  目录名可任意更改;而 " 外置程序 " 不可以!!!:P
作者: qinjg8008    时间: 2006-11-26 22:07
原帖由 QJCM 于 2006-11-26 09:29 PM 发表
:D:victory:

佩服,佩服!

全力支持您,楼主.


请问一下:

                   新添加的 -i 命令.

                  在那里或怎么定义:系统设置\设置虚拟内存=外置程序\PE_TOOLS\SETPAGEFILE.EXE

...

都可以改,但注意是相对于ini文件所在目录的相对目录,也就是说,如果ini就放在‘外置程序’里,那只要
系统设置\设置虚拟内存=PE_TOOLS\SETPAGEFILE.EXE 就可以了
作者: QJCM    时间: 2006-11-26 22:21
就是连 " myini.ini " 都是可以改的吧!!!


楼主: 你太"伟大"了;

          不是因为你会编程,  是你的 "无私" !
作者: QJCM    时间: 2006-11-27 06:57
测试结果:

1. 无法设置.jpg格式的桌面

2. 设置程序文档关联=%SystemRoot%\SYSTEM32\XPEINIT.EXE 外置程序\REGDOC.CMD;

     提示找不到文件.不支持 %SystemRoot% 变量,其它语段同样不支持.

3. 设置程序文档关联=%SystemRoot%\SYSTEM32\XPEINIT.EXE 外置程序\REGDOC.CMD;

     改为:设置程序文档关联=X:\WXPE\SYSTEM32\XPEINIT.EXE 外置程序\REGDOC.CMD;

    无错误提示,程序文档并未成功关联.


加油啊!   


问个个人问题:如何去掉桌面上 "我的文档" 的快捷方式?

谢谢!
作者: bob97989    时间: 2006-11-27 08:53
ding
作者: qinjg8008    时间: 2006-11-27 16:33
修正有关环境变量的BUG、支持jpg格式桌面背景
作者: zts59    时间: 2006-11-27 20:31
试试,感觉如果INI文件那些段关键字全中文更好一些.
作者: 欠你滴泪    时间: 2006-11-27 21:29
完全支持 好东西哦
作者: qinjg8008    时间: 2006-11-27 21:35
原帖由 zts59 于 2006-11-27 08:31 PM 发表
试试,感觉如果INI文件那些段关键字全中文更好一些.

为了保持所有人都看的懂,我还是延续了原程序的风格。
这几个字也不难理解吧,呵呵
我也加了批注了呀




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