无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 172611|回复: 696
打印 上一主题 下一主题

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

    [复制链接]
跳转到指定楼层
#
发表于 2011-3-9 16:58:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 2011足迹 于 2014-1-8 17:19 编辑

最近在精简小马的2003pe,精简到19M(未精简srs驱动)的时候卡壳了...系统文件只剩下必须的win内核,win32子系统,cmd.exe运行环境,wim驱动和dll还有个额外的wimx.exe即使精简掉srs驱动也有10M左右...再精简我们还是有余地的...微软为windows提供了一个可以在win32子系统加载前执行程序的途径...就是注册表bootexecute项...默认是autocheck程序....这个程序有些特别...他是一个native程序...可以用C/C++编写...但是标准C的大多数函数不能使用.开发难度大..但是我们需要的功能也不多...能解压cap包...能挂在wim包...能拷贝文件就可以...如果此想法能够实现把pe内核压缩到5M将会成为可能...不知道有没有懂相关技术的可以加入...



谢谢大家的关注.
发布一个测试版下载地址http://bbs.wuyou.net/attachment.php?aid=116420
再发布一个测试版 native.zip (30.35 KB, 下载次数: 265)
现在expand可以自动创建文件夹了
再发一个测试 native.zip (30.37 KB, 下载次数: 189)
修正一个读取光盘的错误的bug
发布一个win7(pe3)专用版.. native.zip (30.58 KB, 下载次数: 268) (上个版本用错nt.lib,现在更新,抱歉)
发布新版本 native.zip (31.11 KB, 下载次数: 723) 现在可以支持mount wim了
现在支持的命令主要有:
        cd,md,copy,poweroff,dir,del,reboot,devtree,shutdown,exit,sysinfo,lm,vid,lp,move,if,load,expand, mount
其中
if支持if [not] exist [file|dir] command .command还可以是if
load加载一个文本文件作为批处理
expand x y 解压一个cab包
expand -d x显示cab包中的文件

mount 命令用法 mount wim [index] path
index 可以省略,默认是1
目前相对路径中出现.或..或\可能会无法识别..
每条命令最长1024字节(包含null)

加载方式
该程序是native应用程序.不是win32应用程序所以不能在已登录的windows操作系统中运行.(执行后会有错误提示,不会破坏系统)
加载方式有两种(还有其他的方式,可以自己研究)
可以在注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager下面的BootExecute项中添加命令行(xp原来的内容是autocheck autochk *,pe的是空)该项可以是多行文本..每行一个命令,类似批处理
另外一个办法就是替换smss.exe(虽然能启动但是不能接收自定义参数)

现在正在研究wimgapi.dll.逆向出来的代码逻辑混乱...一时还看不大明白..但是找到了思路...
挂载wim时wimgapi.dll只是向驱动发送了一个消息.这个消息是使用fltmgr.dll中的函数发送的..消息的格式是驱动定义的...现在正在研究这个消息的格式..
希望大家多多帮助
谢谢

补充:此程序是pecmd的一个补充,开发的目的是为了使pe可以更模块化.降低一级内核的大小.解决在pecmd前需要额外处理时pecmd检查父进程是不是winlogon.exe的问题.至于其他方面或许也有用武之地.
由于运行环境不受文件锁限制所以请谨慎使用文件操作..

演示pe下载http://u.115.com/file/f34c5d489f
使用"小马PE2011超级精简版"为模板,保留所有驱动,内核压缩至13M
谢谢大家关注和支持

mount 挂载演示pe http://www.wiiki.cn/pe.iso.rar 下载后改名pe.iso即可
冗余文件可能有不少..


公开fltmgr驱动的的部分操作代码,代码来自于wimgapi.dll的逆向,数据结构结合wimgapi.h猜测,api只提供了部分,win7版api处理的相当复杂。。没有实现。
fltmgr.zip (153.01 KB, 下载次数: 118)

[ 本帖最后由 2011足迹 于 2011-4-4 21:30 编辑 ]

native.zip

30.36 KB, 下载次数: 559, 下载积分: 无忧币 -2

评分

参与人数 1无忧币 +8 收起 理由
yueming9712 + 8 精品文章

查看全部评分

推荐
发表于 2011-3-9 20:22:49 | 只看该作者
楼主一看仿佛就是高人,应该也就是高人。我等虾米只能默默回帖支持。坐等楼主好消息。
回复

使用道具 举报

692#
发表于 2021-10-25 16:11:41 | 只看该作者
如何使用了了?
回复

使用道具 举报

691#
发表于 2021-4-28 10:19:13 | 只看该作者
谢谢分享!!!
回复

使用道具 举报

690#
发表于 2021-4-27 10:20:53 | 只看该作者
uefi + x64 的时代了,这个要是出一个 x64 版的,就更有用了。
回复

使用道具 举报

689#
发表于 2021-4-26 10:26:38 | 只看该作者
2021年鼎鼎鼎鼎
回复

使用道具 举报

688#
发表于 2020-5-29 15:16:50 | 只看该作者
支持
回复

使用道具 举报

687#
发表于 2020-5-29 08:38:20 | 只看该作者
试试
回复

使用道具 举报

686#
发表于 2016-3-8 18:34:01 | 只看该作者

楼主是个神一样的人物存在,
黄鹤一去不复返啊~~
回复

使用道具 举报

685#
发表于 2015-11-14 12:44:09 | 只看该作者
红毛樱木 发表于 2015-11-14 02:21
用wimmount.sys挂载WIM,已经失去了native的意义。。。

有意义的!

点评

楼主是个神一样的人物存在, 黄鹤一去不复返啊~~  详情 回复 发表于 2016-3-8 18:34
你搞个1G的WIM挂载上去,耗内存耗死你啊。  发表于 2015-11-14 17:16
回复

使用道具 举报

684#
发表于 2015-11-14 02:21:54 | 只看该作者
huaqingyuan 发表于 2015-11-13 21:39
不知道老大还在不在,搞个X64位的出来,还有现在用wimmount.sys驱动的话,mount命令不能挂WIM文件,能解决 ...

用wimmount.sys挂载WIM,已经失去了native的意义。。。

点评

有意义的!  详情 回复 发表于 2015-11-14 12:44
回复

使用道具 举报

683#
发表于 2015-11-13 21:39:01 | 只看该作者
不知道老大还在不在,搞个X64位的出来,还有现在用wimmount.sys驱动的话,mount命令不能挂WIM文件,能解决就好了!

点评

用wimmount.sys挂载WIM,已经失去了native的意义。。。  详情 回复 发表于 2015-11-14 02:21
回复

使用道具 举报

682#
发表于 2014-10-20 11:36:28 来自手机 | 只看该作者
有更新啦。支持老大!^_^
回复

使用道具 举报

681#
发表于 2014-5-9 15:56:33 | 只看该作者
先留个名,回头再来详细的研究,真是高人啊
回复

使用道具 举报

680#
发表于 2014-1-8 18:32:41 | 只看该作者
楼主终于出现了! 期待给我们带来更多更好的作品。
回复

使用道具 举报

679#
发表于 2013-3-18 19:38:18 | 只看该作者
Hi for all!
Is it possible to find author of laotoulib?
May be somebody know which IOCTL need NtDeviceIoControlFile for WimFltr Driver?
回复

使用道具 举报

678#
发表于 2012-3-30 14:48:44 | 只看该作者
Hi. Is it possible to get sources of expanded Native Shell for his author amdf?
He sends you regards and says he happy that somebodies interested in Native Mode


I have already http://code.google.com/p/nativeshell/. Please help me find NMount module code

[ 本帖最后由 2012bomz 于 2012-4-1 13:56 编辑 ]
回复

使用道具 举报

677#
发表于 2012-2-26 19:12:29 | 只看该作者
不懂,只有顶的份。。。。。
回复

使用道具 举报

676#
发表于 2011-10-21 12:17:13 | 只看该作者

回复 #722 hhh333 的帖子

就算是支持mount,也不可能不做二级内核的。
里有很简单。在ZIP和USB1.1的机器上,特别是ZIP,读取一级内核,哪怕是只有3.5M,也是龟速。。。要1分钟。
回复

使用道具 举报

675#
发表于 2011-9-29 21:32:59 | 只看该作者

回复 #721 pseudo 的帖子

P大,0PE.iso就在UD的根目录中,UD里除了ISO文件就是引导文件了。没有其文件
回复

使用道具 举报

674#
发表于 2011-9-29 12:10:58 | 只看该作者

回复 #717 2011足迹 的帖子

我同意用nativecmd 来搞,有开发效率高的东西当然用高的,比Native shell 大2~300kb还是可以接受的。mount是最重要的功能,不知弄得怎么样了?

新版老的mount不能用,旧版可以用,但还有一些问题,譬如我将wim挂到X盘的根下,也成功了但就是刚要进桌面时就重启的,如果能够解决这个问题,这个native的二级内核也不用做了,随便挂一个完整的wim内核PE就OK了,这样要方便许多。

[ 本帖最后由 hhh333 于 2011-9-29 12:18 编辑 ]
回复

使用道具 举报

673#
发表于 2011-9-29 12:00:20 | 只看该作者

回复 #720 hnwcw1986 的帖子

用burg引导的话,要这样处理:

1. 0PE.ISO须在根目录,用burg引导之
其它地方不要有0pe组件以免干扰混乱。

2. iso里grldr内置菜单中,
#set burgcd=
行开始的3行,前面的注释符#要去掉。
回复

使用道具 举报

672#
发表于 2011-9-29 10:38:26 | 只看该作者

回复 #1 2011足迹 的帖子

我用BURG引导0PE1.3.1最新版。进入桌面的时候提示:
Native shell [version 0.12 x86] (may 23 2011 09:21:02)
File does not exit.
ok
x:\wxpe\system32\
就这样进不去
回复

使用道具 举报

671#
发表于 2011-9-27 09:43:45 | 只看该作者
OK,已经解决了。是我的一级内核太小了。
回复

使用道具 举报

670#
发表于 2011-9-26 21:51:04 | 只看该作者
原帖由 2011足迹 于 2011-9-26 21:36 发表

换了新工作.比较忙.没时间去弄这个了.直接使用native api 太难控制
最近会把nativecmd的mount实现..再修修bug应该会比nativeshell强大

nativecmd 虽然强大,但是体积太大,载入一级内核时间会变长的。。。
现在好像确实是@echo off命令导致挂载失败了。
回复

使用道具 举报

669#
 楼主| 发表于 2011-9-26 21:36:38 | 只看该作者
原帖由 hotdll 于 2011-9-22 12:46 发表
9月份了,好像没人研究native PE了

换了新工作.比较忙.没时间去弄这个了.直接使用native api 太难控制
最近会把nativecmd的mount实现..再修修bug应该会比nativeshell强大
回复

使用道具 举报

668#
发表于 2011-9-25 21:37:38 | 只看该作者
支持 继续 总会有阳光出现
回复

使用道具 举报

667#
发表于 2011-9-25 21:08:00 | 只看该作者
mount  命令不支持WIMTOOL创建的WIM文件吗?也不支持IMAGEX创建的WIM文件?
回复

使用道具 举报

666#
发表于 2011-9-24 23:43:12 | 只看该作者

回复 #713 hotdll 的帖子

呵呵,也有使用简单的时候。
例如,把两个文件放入ud,就成可启动u盘了。
楼上“参数”、“外置”、“内核”、“小”、“速度”等字样,在这里都不用提不用管了。
回复

使用道具 举报

665#
发表于 2011-9-24 22:20:30 | 只看该作者
原帖由 <i>pseudo</i> 于 2011-9-22 17:06 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2307191&ptid=188616" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />

<br />
native PE,这个可以有。<br />
0PE1.3.X算一个。
<br />


呵呵P大,你的Ope说实话,我看了几次,都是看的一头雾水。。。。。。

感觉论坛的老大们技术高超,写使用说明呵呵,真是不敢恭维啊。。。

你的0PE的复杂度影响了OPE的推广,我觉得PE应该是简单的,哪怕是技术很高深,也应该是使用简单的。
回复

使用道具 举报

664#
发表于 2011-9-24 22:18:14 | 只看该作者
原帖由 <i>chiannet</i> 于 2011-5-17 13:05 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2232218&ptid=188616" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
我觉得把WIM提取到内存盘再moun丧失了native的本意。我一直在默默留意此贴,在下认为没有支持native版的fbinst.exe时,native PE @UD方式没有任何优势。<br />
<br />
现有的这项技术可能只能用在满足以下条件的场合才显神 ...
<br />

还是很有意义的,使用fbinst的时候,直接使用map不要使用mem参数,并且把驱动也外置,内核还可以继续缩小,加载的速度就非常快了。我正在修改逆天使的TANGOPE NATIVE 5.19修正版,让它支持直接map和驱动外置。就连驱动也是采用直接map的方式。
回复

使用道具 举报

663#
发表于 2011-9-22 17:06:44 | 只看该作者
原帖由 hotdll 于 2011-9-22 12:46 发表
9月份了,好像没人研究native PE了

native PE,这个可以有。
0PE1.3.X算一个。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 14:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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