找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 2011足迹

native版的mini pecmd测试,添加mount命令--2011-4-4

    [复制链接]
发表于 2011-5-17 16:29:37 | 显示全部楼层
ud会比较麻烦但也不是不可能。

隐藏分区,也是有办法支持的(简单一点可以使用比较另类的方案,配合专门的一级内核,很简单的就可以了)。

明天或者后天比较有空,我再放一个测试版PE出来,理论上支持MOUNT隐藏分区上的文件。


希望C大出的这个可以支持WIM可写挂载!!!!

[ 本帖最后由 thttht 于 2011-5-17 16:31 编辑 ]
回复

使用道具 举报

发表于 2011-5-17 17:13:36 | 显示全部楼层
将chenall上传的样板里的一级内核整理了一下
http://u.115.com/file/aq2mavq1#
nativepe.rar

目前大小3.39M,功能和启动方式和原来的没有区别,仅仅是将没用的文件删掉和整理了一下txtsetup.sif
另外,我觉得弄太多配置文件有点麻烦,所以把文件统一为一个 x:\native.ini
放到wxpe\system32里会在mount过程被屏蔽,所以放到x盘根目录,我想chenall在这里增加这个文件应该就是这个原因吧

3.39M离3M以下的目标很近了...
更多的改进就只能期待楼主和chenall的新版本了

[ 本帖最后由 NicTense 于 2011-5-17 17:14 编辑 ]
回复

使用道具 举报

发表于 2011-5-17 17:38:32 | 显示全部楼层
原帖由 NicTense 于 2011-5-17 17:13 发表
将chenall上传的样板里的一级内核整理了一下
http://u.115.com/file/aq2mavq1#
nativepe.rar

目前大小3.39M,功能和启动方式和原来的没有区别,仅仅是将没用的文件删掉和整理了一下txtsetup.sif
另外,我 ...



有进步了 这个nativepe 是谁编辑的   貌似支持 SCD 了      和足迹 编辑的 有什么区别。
回复

使用道具 举报

发表于 2011-5-17 17:44:17 | 显示全部楼层
原帖由 wyb391 于 2011-5-17 17:38 发表



有进步了 这个nativepe 是谁编辑的   貌似支持 SCD 了      和足迹 编辑的 有什么区别。


chenall
回复

使用道具 举报

发表于 2011-5-17 18:30:52 | 显示全部楼层
现在有好些nativeshell的版本,看起来有些糊涂啊!
如果将常用的功能都改成native程序的方式,就可以在nativeshell里直接调用了。这样似乎比较方便,而且可以自由的添加想要的功能,只要加上对应的程序就行了。
我先发几个抛砖引玉,期待高手增加更多更强大的功能。
附件中的EXE文件只能在nativeshell里运行,不能再正常系统下使用。

NativeApps.rar

47.26 KB, 下载次数: 107, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2011-5-17 18:51:00 | 显示全部楼层
原帖由 sp_star 于 2011-5-17 18:30 发表
现在有好些nativeshell的版本,看起来有些糊涂啊!
如果将常用的功能都改成native程序的方式,就可以在nativeshell里直接调用了。这样似乎比较方便,而且可以自由的添加想要的功能,只要加上对应的程序就行了。 ...


帅,这样也不错,nativeshell可以做得很小,需要什么功能加1、2个nativeapi

对了,这些api是你写的,还是从哪来的,如果有源代码的话,给楼主和chenall他们提供一下,应该可以更快弄出一个比较完善的版本

[ 本帖最后由 NicTense 于 2011-5-17 19:02 编辑 ]
回复

使用道具 举报

发表于 2011-5-17 19:57:27 | 显示全部楼层

回复 #506 NicTense 的帖子

呵呵,把这些功能都搞成EXE,就是为了避免重复的集成。
源代码太乱,就先不提供了。有人有兴趣再贴吧。不过,产生这些程序的方法很简单,基本不需要其他源代码。就是把nativeshell的主程序改改,去掉命令行功能,只保留mount功能,编译一下就是Nmount.exe,只保留expand功能,就是Ncab.exe。
回复

使用道具 举报

发表于 2011-5-17 19:59:40 | 显示全部楼层
原帖由 sp_star 于 2011-5-17 18:30 发表
现在有好些nativeshell的版本,看起来有些糊涂啊!
如果将常用的功能都改成native程序的方式,就可以在nativeshell里直接调用了。这样似乎比较方便,而且可以自由的添加想要的功能,只要加上对应的程序就行了。 ...

把用法贴出来,方便其他人试用

另外,想问一下,N7Z如果解压到target path时,target path已存在相同的文件的话会不会被卡住? 这个n7z具体支持些什么格式呢?

[ 本帖最后由 andos 于 2011-5-17 20:03 编辑 ]
N7Z.png
NCAB.png
NDRV.png
NLIST.png
NMOUNT.png
回复

使用道具 举报

发表于 2011-5-17 20:14:32 | 显示全部楼层
原帖由 andos 于 2011-5-17 19:59 发表

把用法贴出来,方便其他人试用

另外,想问一下,N7Z如果解压到target path时,target path已存在相同的文件的话会不会被卡住? 这个n7z具体支持些什么格式呢?


相同的文件我也不知道,没试过。 只支持7z格式,其他都不支持。
这个功能可能没多大用,主要是因为expand解压cab比较慢,没想到这个也是一样慢。呵呵。
回复

使用道具 举报

发表于 2011-5-17 20:19:42 | 显示全部楼层
原帖由 sp_star 于 2011-5-17 20:14 发表


相同的文件我也不知道,没试过。 只支持7z格式,其他都不支持。
这个功能可能没多大用,主要是因为expand解压cab比较慢,没想到这个也是一样慢。呵呵。

7Z,WIN版的话,有参数可以略过或者覆盖
可能是因为native的关系吧,只有一线程

另外,是不是mount完之后,native的程序就不能叫出来?
2011-05-17_201742.png
回复

使用道具 举报

发表于 2011-5-17 20:27:31 | 显示全部楼层
原帖由 andos 于 2011-5-17 20:19 发表

7Z,WIN版的话,有参数可以略过或者覆盖
可能是因为native的关系吧,只有一线程

另外,是不是mount完之后,native的程序就不能叫出来?


7z程序是根据一个简单版本改的,没仔细看是跳过还是覆盖。参数好像就那么几个。也不支持其他格式。功能强大的那个太复杂,不会改。
mount完之后,X:盘内容就被覆盖了,如果加到Wim里,应该也能用吧。
回复

使用道具 举报

发表于 2011-5-17 20:36:50 | 显示全部楼层
原帖由 sp_star 于 2011-5-17 20:27 发表


7z程序是根据一个简单版本改的,没仔细看是跳过还是覆盖。参数好像就那么几个。也不支持其他格式。功能强大的那个太复杂,不会改。
mount完之后,X:盘内容就被覆盖了,如果加到Wim里,应该也能用吧。

对,放在wim就可以叫出来了
可是load fbwf 失败
回复

使用道具 举报

发表于 2011-5-17 20:59:04 | 显示全部楼层
原帖由 andos 于 2011-5-17 20:19 发表

7Z,WIN版的话,有参数可以略过或者覆盖
可能是因为native的关系吧,只有一线程

另外,是不是mount完之后,native的程序就不能叫出来?


mount有个问题会屏蔽掉原来的东西,所以如果你mount之后的目录是pe本身的目录,原来内核里的文件就作废了
回复

使用道具 举报

发表于 2011-5-17 21:06:46 | 显示全部楼层
原帖由 andos 于 2011-5-17 20:36 发表

对,放在wim就可以叫出来了
可是load fbwf 失败


如果fbwf已经启动的话,再去load就会失败。unload没怎么试过,但unload fbwf是肯定不成功的,好像fbwf不能通过一般的方式unload。
回复

使用道具 举报

发表于 2011-5-18 10:03:50 | 显示全部楼层
原帖由 pseudo 于 2011-5-16 10:03 发表
@chenall
用你支持scd的native.exe,expand总蓝屏。足迹的expand正常但无scd。
可否解决?


具体原因我不清楚,可能和我的编译环境有关系,我是在WIN7下编译的,直接用原版也是一样的不行
试了一下发现是执行到以下代码时出错了,蓝屏的原因我前面已经有说过了(http://bbs.wuyou.net/forum.php?mod=viewthread&tid=188616&page=35#pid2228442
)。

    __asm
    {
        int 3;
    }

我把这个代码注释掉再编译,就不蓝屏了。稍后再上传新版的。

[ 本帖最后由 chenall 于 2011-5-18 10:05 编辑 ]
回复

使用道具 举报

发表于 2011-5-18 10:08:17 | 显示全部楼层
原帖由 NicTense 于 2011-5-17 17:13 发表
将chenall上传的样板里的一级内核整理了一下
http://u.115.com/file/aq2mavq1#
nativepe.rar

目前大小3.39M,功能和启动方式和原来的没有区别,仅仅是将没用的文件删掉和整理了一下txtsetup.sif
另外,我 ...



使用两个配置文件是为了尽量阻止蓝屏的发生。具体的我前面的贴子有介绍原理。
回复

使用道具 举报

发表于 2011-5-18 10:19:53 | 显示全部楼层
原帖由 NicTense 于 2011-5-17 02:54 发表
一个重大的发现
改造成nativepe,一级内核中需要用到的文件,都可以从二级内核中剔除,可以做到一个文件都不重复
我测试了一下,昨天改的tangope迷你版的native版可以再节省2M,功能一样

但是很奇怪,明明 ...

有你后悔的时候,我就出现启动后,再插U盘不能驱动问题,必须插着U盘启动才能识别,没办法,还是将二级内核中的驱动补全才行.
回复

使用道具 举报

发表于 2011-5-18 10:22:12 | 显示全部楼层
原帖由 chenall 于 2011-5-18 10:08 发表



使用两个配置文件是为了尽量阻止蓝屏的发生。具体的我前面的贴子有介绍原理。


大概哪1天的帖子阿,没留意到,我找找看

我最开始只用了system32下的配置文件,后来发现mount wxpe之后就被屏蔽了,觉得这样可能会出错,就统一弄到x:\下

你说的是这个原因还是其他的,一定要两个吗
回复

使用道具 举报

发表于 2011-5-18 10:25:49 | 显示全部楼层
原帖由 xhwfq 于 2011-5-18 10:19 发表

有你后悔的时候,我就出现启动后,再插U盘不能驱动问题,必须插着U盘启动才能识别,没办法,还是将二级内核中的驱动补全才行.


目前这个native的结构还属测试阶段,我的原则是尽可能精简

这个结构的问题在于Mount完之后会屏蔽一级内核的文件,所以重复会造成体积变大,最好还是得研究出具体需要保留的文件名单

你尝试保留usb开头的那几个驱动文件看行不行
回复

使用道具 举报

发表于 2011-5-18 11:21:03 | 显示全部楼层
@NicTense
#515的那个链接里面就有介绍。
回复

使用道具 举报

发表于 2011-5-18 11:39:24 | 显示全部楼层
新的测试,使用了新的NATIVE.EXE,自行改名为TANGOPE.IM_替换原来的文件就行了
http://u.115.com/file/dn6ccgmx#
WINPE.im_

麻烦有条件的朋友测试一下,理论上支持隐藏分区,
你可以把MINIPE目录放在隐藏分区中,看看是否可以成功启动(测试时其它分区不要放)

新的native.exe带补丁
http://u.115.com/file/dn6c6y69#
native.rar


edit: 忘了说一下新上传的native.exe支持可写挂载wim,直接在原来mount的基础上再加上一个路径就行了。
比如:
可写佳载:
mount wxpe.wim x:\wxpe x:\temp
只读挂载:
mount wxpe.wim x:\wxpe

[ 本帖最后由 chenall 于 2011-5-18 13:38 编辑 ]
回复

使用道具 举报

发表于 2011-5-18 14:18:01 | 显示全部楼层
原帖由 chenall 于 2011-5-18 11:39 发表
edit: 忘了说一下新上传的native.exe支持可写挂载wim,直接在原来mount的基础上再加上一个路径就行了。
比如:
可写佳载:
mount wxpe.wim x:\wxpe x:\temp
...

你的可写挂载能不能支持自动搜索temp文件夹?即用 mount wxpe.wim x:\wxpe \tmpx 格式实现下面的功能.
@echo off
scd \minipe\wxpe.wim
if exist wxpe.wim if exist c:\tmpx mount wxpe.wim x:\wxpe c:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist d:\tmpx mount wxpe.wim x:\wxpe d:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist e:\tmpx mount wxpe.wim x:\wxpe e:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist f:\tmpx mount wxpe.wim x:\wxpe f:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist g:\tmpx mount wxpe.wim x:\wxpe g:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist h:\tmpx mount wxpe.wim x:\wxpe h:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim mount wxpe.wim x:\wxpe
......
上面是我目前的使用方法,太烦!
回复

使用道具 举报

发表于 2011-5-18 14:35:53 | 显示全部楼层
OK,加上了这个功能,不过为了简化编程,用法如下:

mount wxpe.wim x:\wxpe ?:\temp

使用?:代表未知的盘符,这时将自动查找第一个存在temp目录的磁盘。并使用这个目录作为临时目录。

native_new.rar

28.46 KB, 下载次数: 56, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2011-5-18 14:53:36 | 显示全部楼层
请教C大:  现在native支持如下命令是吗?

cd,md,copy,poweroff,dir,del,reboot,devtree,shutdown,exit,sysinfo,lm,vid,lp,move,if,load,expand, mount
和你加入的:
新编译的版本,增加了三个命令
1.echo
   echo off 可以关掉回显(即不显示命令行)用echo on还原
当然了echo message可以显示一条信息。
2.type
  这个就不用说了,显示一个文件的内容。
3.scd
  快速定位并切换文件夹,见前面的介绍。
另外还有一个@可以不显示当前命令。一般配合echo使用即@echo off不显示执行的命令。

其中:
mount  现在可写佳载:
mount wxpe.wim x:\wxpe x:\temp
只读挂载:
mount wxpe.wim x:\wxpe


mount wxpe.wim x:\wxpe ?:\temp
使用?:代表未知的盘符,这时将自动查找第一个存在temp目录的磁盘。并使用这个目录作为临时目录。

是这些命令吗?要多潜水学习了!
回复

使用道具 举报

发表于 2011-5-18 14:53:40 | 显示全部楼层

回复 #523 chenall 的帖子

太好了,万分感谢!!!
回复

使用道具 举报

发表于 2011-5-18 15:02:00 | 显示全部楼层
原帖由 thttht 于 2011-5-18 14:53 发表
请教C大:  现在native支持如下命令是吗?

cd,md,copy,poweroff,dir,del,reboot,devtree,shutdown,exit,sysinfo,lm,vid,lp,move,if,load,expand, mount
和你加入的:
新编译的版本,增加了三个命令
1.ech ...


嗯,就是这些了,expand命令有条件的可以试一下看看是否正常,我编译的版本注释掉了原来代码里面的int 3语句。对这些不懂,只是如果不注释就会出错。
回复

使用道具 举报

发表于 2011-5-18 19:19:09 | 显示全部楼层

回复 #526 chenall 的帖子

int 3 就是 hard breakpoint,release build 應該要去除它們的。
回复

使用道具 举报

发表于 2011-5-18 19:23:42 | 显示全部楼层

回复 #526 chenall 的帖子

支持expand了。

但遇到不存在的目标子目录(多级目录)时该目录的文件解压失败,
如果事先创建目标子目录,再expand就好了。

ncab.exe则不必事先创建目标子目录。

[ 本帖最后由 pseudo 于 2011-5-18 22:02 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2011-5-18 23:14:18 | 显示全部楼层
原帖由 pseudo 于 2011-5-18 19:23 发表
支持expand了。

但遇到不存在的目标子目录(多级目录)时该目录的文件解压失败,
如果事先创建目标子目录,再expand就好了。

ncab.exe则不必事先创建目标子目录。

这个可能是expand的代码没有创建目录的部分....这部分以前一直没有解决蓝屏问题...有些版本中有反复...

chenall 可以参考有这个功能的代码打个补丁...


原帖由 2010roytam1 于 2011-5-18 19:19 发表
int 3 就是 hard breakpoint,release build 應該要去除它們的。

int 3确实是调试中断...为了调试而加的...可以替换为

  1. #ifndef NDEBUG
  2. __asm
  3. {
  4.     int 3;
  5. }
  6. #endif
复制代码

另外..DbgPrint在release build 中最好也去掉...他会影响性能...输出最好尽量少...因为输出为了hack退格符号做了不少逻辑...也会影响性能


最近工作上有些变动...暂时没时间打理nativeshell和nativecmd了....大家见谅...
尽量抽时间排除nativecmd的一些bug...
回复

使用道具 举报

发表于 2011-5-19 09:47:04 | 显示全部楼层

回复 #521 chenall 的帖子

太好了,MINIPE放置于隐藏分区加载很正常。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-4-10 17:48

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表