无忧启动论坛

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

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
15181#
发表于 2020-3-28 21:16:52 来自手机 | 只看该作者
hhh333 发表于 2020-3-28 20:31
写这么多实在不好懂,这搞起比diskpart还要复杂,MOUN-vhd %&SystemROOT%\System32\Y.VHD,Y:,,&Mret这一 ...

万一人家的vhd想搞几个分区呢

点评

{ 表示 代码段 为一新建 PE变量栈, 退出时,新栈上新建的变量自动抛弃。 {* 则用原来 PE变量栈,退出本段, 不引起 PE变量抛弃。  详情 回复 发表于 2020-3-29 00:17
回复

使用道具 举报

15182#
 楼主| 发表于 2020-3-29 00:14:18 | 只看该作者
527104427 发表于 2020-3-28 20:42
又发现了几个问题:
1.
    LIST &L2,L29T27W290H100,||a||b|c|d,,,  

LIST &L2,L29T27W290H100,||a||b|c|d,,,  
    按道理说,|和|之间没有内容,应该是建立一个空行。实际是被忽略了。
---------------
兼容4.0

扩展方式,支持空行。

点评

请教老大,通过以下方式改变选中项之后,怎么通知父窗口刷新&L2的值? ENVI @&L2.ID=?&ID ENVI &::LB_SETCURSEL=0x0186 ENVI @@SENDMSG=%&ID%;%&LB_SETCURSEL%;1;0 查了一下,貌似是要用CBN_SEL  详情 回复 发表于 2020-3-29 01:17
回复

使用道具 举报

15183#
 楼主| 发表于 2020-3-29 00:17:43 | 只看该作者
红毛樱木 发表于 2020-3-28 21:16
万一人家的vhd想搞几个分区呢

{
表示 代码段 为一新建 PE变量栈, 退出时,新栈上新建的变量自动抛弃。
{*
则用原来 PE变量栈,退出本段, 不引起 PE变量抛弃。
回复

使用道具 举报

15184#
发表于 2020-3-29 01:17:41 | 只看该作者
本帖最后由 527104427 于 2020-3-29 01:27 编辑
mdyblog 发表于 2020-3-29 00:14
LIST &L2,L29T27W290H100,||a||b|c|d,,,  
    按道理说,|和|之间没有内容,应该是建立一个空行。实际 ...

请教老大,通过以下方式改变选中项之后,怎么通知父窗口刷新&L2的值?
    ENVI @&L2.ID=?&ID
    ENVI &::CB_SETCURSEL=0x014E
    ENVI @@SENDMSG=%&ID%;%&CB_SETCURSEL%;1;0


比如下面的示例:
ENVI &::CB_SETCURSEL=0x014E
CALL @MAIN

_SUB MAIN,W363H172,
        LIST &LIST1,L29T27W290H100,||a||b|c|d,,,
        ITEM ITEM1,L171T81W116H30,改变选中项,CALL change,
_END

_SUB change
        ENVI @&LIST1.ID=?&ID
        ENVI @@SENDMSG=%&ID%;%&CB_SETCURSEL%;2;0
        MESS. &LIST1值:[%&LIST1%]  //&LIST1仍为空,正确应该是c
_END






点评

ENVI &::CB_SETCURSEL=0x014E ENVI &::CBN_SELENDOK=0x0009 ENVI &::CBN_EDITCHANGE=0x0005 //消息编辑,也支持 ENVI &::WM_COMMAND=0x0111 CALL @MAINw _SUB MAINw,W363H172, LIST &LIST1,L29T27W2  详情 回复 发表于 2020-3-31 01:06
查了下资料,好像还需要CBN_SELCHANGE 消息。  详情 回复 发表于 2020-3-29 11:47
回复

使用道具 举报

15185#
发表于 2020-3-29 11:47:07 | 只看该作者
本帖最后由 红毛樱木 于 2020-3-29 11:49 编辑
527104427 发表于 2020-3-29 01:17
请教老大,通过以下方式改变选中项之后,怎么通知父窗口刷新&L2的值?
    ENVI @&L2.ID=?&ID
    ENVI ...

查了下资料,好像还需要CBN_SELCHANGE消息。-----------------------
CB_SETCURSEL和CBN_SELCHANGE都不支持XP

点评

这个我也查到了,就是不知道怎么用,试不出来。  详情 回复 发表于 2020-3-29 12:18
回复

使用道具 举报

15186#
发表于 2020-3-29 12:18:27 | 只看该作者
红毛樱木 发表于 2020-3-29 11:47
查了下资料,好像还需要CBN_SELCHANGE消息。-----------------------
CB_SETCURSEL和CBN_SELCHANGE都不 ...

这个我也查到了,就是不知道怎么用,试不出来。
回复

使用道具 举报

15187#
发表于 2020-3-29 20:18:10 | 只看该作者
报告一个情况,我一直用下述命令来装载外置,也比较正常
MOUN-udm -findboot -CurDrvR -mall -mhide -u+ -udfs -nbrd -udimg:H3PE/OP.IMG -udimg:udext.img -Checkfile:H3PE/WINPE.INI -Checkfile:BOOT/H3_3PEIN.WIM -ret:&&v \\.\PhysicalDrive* B-
但在新的Win10中,U+或者手工隐藏的U盘找不到外置,经过仔细查看说明,我加了个-mnorhide 参数似乎就可以了,不知道是个啥子情况。

我大致这样理解,Win10中U+或手工隐藏的区均被视为普通隐藏,而在其他较早期的系统中,U+就是U+,所以有不有这个参数都会被加载

点评

新版win10会自动显示那个分区的吧  详情 回复 发表于 2020-3-29 21:07
回复

使用道具 举报

15188#
发表于 2020-3-29 21:07:38 来自手机 | 只看该作者
hhh333 发表于 2020-3-29 20:18
报告一个情况,我一直用下述命令来装载外置,也比较正常
MOUN-udm -findboot -CurDrvR -mall -mhide -u+ - ...

新版win10会自动显示那个分区的吧
回复

使用道具 举报

15189#
发表于 2020-3-30 23:36:36 | 只看该作者
本帖最后由 红毛樱木 于 2020-3-31 01:36 编辑

TABL的
ENVI @名称.Color=?列号;[变量名][;变量名]来查;无则返空
可用"ENVI @名称.Color=?行号.列号;变量名;变量名; 来查询,无则返空。
两种方式的颜色查询都无效。
回复

使用道具 举报

15190#
发表于 2020-3-31 00:30:27 | 只看该作者
mdyblog 发表于 2020-3-28 06:33
我把新近下载的 "88.05.82Stable PECMD.EXE" 改用了无Imd版,然后自行换用了 2.0.10 版的 IMDISK 文件(如 ...

2.0.10 版的 IMDISK 文件齐全没有问题,路径正确也可以肯定。但是注册表就不知道要修改哪里,什盼告知。另外,私信看了吗?等了好几天都不见回复呢。

点评

完整的注册表如下: 1、AWEAlloc的注册 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\Services\AWEAlloc] "Description"="Driver for physical memory allocation through  详情 回复 发表于 2020-3-31 11:15
很老的PECMD包中有IMD注册表。 从正常系统导一个出来,就可以。 这个好像可以,试试:  详情 回复 发表于 2020-3-31 01:21
找一个同样版本的PE, 导出相关 注册表。  详情 回复 发表于 2020-3-31 01:07
用不带imdisk版本的pecmd就行了呗  详情 回复 发表于 2020-3-31 00:46
回复

使用道具 举报

15191#
发表于 2020-3-31 00:46:48 来自手机 | 只看该作者
WAIGO 发表于 2020-3-31 00:30
2.0.10 版的 IMDISK 文件齐全没有问题,路径正确也可以肯定。但是注册表就不知道要修改哪里,什盼告知。 ...

用不带imdisk版本的pecmd就行了呗

点评

多谢关注!改好了……  详情 回复 发表于 2020-3-31 22:09
回复

使用道具 举报

15192#
 楼主| 发表于 2020-3-31 01:06:31 | 只看该作者
527104427 发表于 2020-3-29 01:17
请教老大,通过以下方式改变选中项之后,怎么通知父窗口刷新&L2的值?
    ENVI @&L2.ID=?&ID
    ENVI ...

ENVI &::CB_SETCURSEL=0x014E
ENVI &::CBN_SELENDOK=0x0009
ENVI &::CBN_EDITCHANGE=0x0005 //消息编辑,也支持
ENVI &::WM_COMMAND=0x0111
CALL @MAINw

_SUB MAINw,W363H172,
        LIST &LIST1,L29T27W290H100,||a||b|c|d,,,
        ITEM ITEM1,L171T81W116H30,改变选中项,CALL change,
        ENVI @&LIST1.ID=?&&LIST1_WID;&&LIST1_ID
        CALC -base=16 #&&LIST1_SELENDOK=%&CBN_SELENDOK% * 0x10000  +   %&LIST1_ID%
_END

_SUB change
        ENVI @@SENDMSG=%&LIST1_WID%;%&CB_SETCURSEL%;2;0
        ENVI @this.SENDMSG=%&WM_COMMAND%;%&LIST1_SELENDOK%;%&LIST1_WID%
        //WAIT 0.99  //等待更新
        MESS. &LIST1值:[%&LIST1%]  //&LIST1,正确,是c
_END



点评

多谢老大,完美!  详情 回复 发表于 2020-3-31 09:29
回复

使用道具 举报

15193#
 楼主| 发表于 2020-3-31 01:07:58 | 只看该作者
WAIGO 发表于 2020-3-31 00:30
2.0.10 版的 IMDISK 文件齐全没有问题,路径正确也可以肯定。但是注册表就不知道要修改哪里,什盼告知。 ...

找一个同样版本的PE, 导出相关 注册表。
回复

使用道具 举报

15194#
 楼主| 发表于 2020-3-31 01:21:14 | 只看该作者
WAIGO 发表于 2020-3-31 00:30
2.0.10 版的 IMDISK 文件齐全没有问题,路径正确也可以肯定。但是注册表就不知道要修改哪里,什盼告知。 ...

很老的PECMD包中有IMD注册表。
从正常系统导一个出来,就可以。

这个好像可以,试试: imd.reg.zip (629 Bytes, 下载次数: 1)

点评

报告一个BUG: ※查询父进程号: ENVI ?返回名=PPID,进程号 此命令查不到SysWOW64或system32目录里面运行的进程,始终返回0  详情 回复 发表于 2020-4-1 19:25
改好了。六天前的私信恳请看一看是否可行。非常感谢!  详情 回复 发表于 2020-3-31 22:07
回复

使用道具 举报

15195#
发表于 2020-3-31 09:29:56 | 只看该作者
mdyblog 发表于 2020-3-31 01:06
ENVI &::CB_SETCURSEL=0x014E
ENVI &::CBN_SELENDOK=0x0009
ENVI &::CBN_EDITCHANGE=0x0005 //消息编辑 ...

多谢老大,完美!
回复

使用道具 举报

15196#
发表于 2020-3-31 11:15:07 | 只看该作者
WAIGO 发表于 2020-3-31 00:30
2.0.10 版的 IMDISK 文件齐全没有问题,路径正确也可以肯定。但是注册表就不知道要修改哪里,什盼告知。 ...

完整的注册表如下:
1、AWEAlloc的注册
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\Services\AWEAlloc]
"Description"="Driver for physical memory allocation through AWE"
"DisplayName"="AWE Memory Allocation Driver"
"ErrorControl"=dword:00000000
"ImagePath"=hex(2):5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,52,\
  00,49,00,56,00,45,00,52,00,53,00,5c,00,61,00,77,00,65,00,61,00,6c,00,6c,00,\
  6f,00,63,00,2e,00,73,00,79,00,73,00,00,00
"Start"=dword:00000003
"Type"=dword:00000001

2、NT6的IMDISK注册
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\Services\ImDisk]
"Description"="磁盘仿真驱动器"
"DisplayName"="ImDisk 虚拟磁盘驱动器"
"ErrorControl"=dword:00000000
"ImagePath"=hex(2):5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,52,\
  00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,6d,00,64,00,69,00,73,00,6b,00,\
  2e,00,73,00,79,00,73,00,00,00
"Start"=dword:00000002
"Type"=dword:00000001

[HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\Services\ImDskSvc]
"Description"="ImDisk 虚拟磁盘驱动器的帮助服务。"
"DisplayName"="ImDisk 虚拟磁盘驱动器帮助"
"ErrorControl"=dword:00000000
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,\
  00,6d,00,64,00,73,00,6b,00,73,00,76,00,63,00,2e,00,65,00,78,00,65,00,00,00
"ObjectName"="LocalSystem"
"Start"=dword:00000002
"Type"=dword:00000010

3、NT5的IMDISK注册
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\Enum\Root\LEGACY_IMDISK]
  3. "NextInstance"=dword:00000001

  4. [HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\Enum\Root\LEGACY_IMDISK\0000]
  5. "Service"="ImDisk"
  6. "Legacy"=dword:00000001
  7. "ConfigFlags"=dword:00000000
  8. "Class"="LegacyDriver"
  9. "ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
  10. "DeviceDesc"="ImDisk Virtual Disk Driver"

  11. [HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\Enum\Root\LEGACY_IMDISK\0000\Control]
  12. "*NewlyCreated*"=dword:00000000
  13. "ActiveService"="ImDisk"

  14. [HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\services\ImDisk]
  15. "Type"=dword:00000001
  16. "Start"=dword:00000000
  17. "ErrorControl"=dword:00000000
  18. "ImagePath"="system32\\DRIVERS\\imdisk.sys"
  19. "DisplayName"="ImDisk Virtual Disk Driver"
  20. "Description"="Disk emulation driver"

  21. [HKEY_LOCAL_MACHINE\PE-sys\ControlSet001\services\ImDisk\Enum]
  22. "0"="Root\\LEGACY_IMDISK\\0000"
  23. "Count"=dword:00000001
  24. "NextInstance"=dword:00000001
复制代码

有点小区别。


点评

改好了。非常感谢!  详情 回复 发表于 2020-3-31 22:05
回复

使用道具 举报

15197#
发表于 2020-3-31 22:05:06 | 只看该作者
hhh333 发表于 2020-3-31 11:15
完整的注册表如下:
1、AWEAlloc的注册
Windows Registry Editor Version 5.00

改好了。非常感谢!
回复

使用道具 举报

15198#
发表于 2020-3-31 22:07:32 | 只看该作者
mdyblog 发表于 2020-3-31 01:21
很老的PECMD包中有IMD注册表。
从正常系统导一个出来,就可以。

改好了。六天前的私信恳请看一看是否可行。非常感谢!
回复

使用道具 举报

15199#
发表于 2020-3-31 22:09:07 | 只看该作者
红毛樱木 发表于 2020-3-31 00:46
用不带imdisk版本的pecmd就行了呗

多谢关注!改好了……
回复

使用道具 举报

15200#
发表于 2020-4-1 19:25:10 | 只看该作者
mdyblog 发表于 2020-3-31 01:21
很老的PECMD包中有IMD注册表。
从正常系统导一个出来,就可以。

报告一个BUG:

※查询父进程号: ENVI ?返回名=PPID,进程号
此命令查不到SysWOW64或system32目录里面运行的进程,始终返回0




点评

SYSTEM32下测测试正常:[attachimg]415271[/attachimg]  详情 回复 发表于 2020-4-4 09:40
回复

使用道具 举报

15201#
 楼主| 发表于 2020-4-4 09:40:55 | 只看该作者
527104427 发表于 2020-4-1 19:25
报告一个BUG:

※查询父进程号: ENVI ?返回名=PPID,进程号

SYSTEM32下测测试正常:

点评

再三确认过,确实是system的进程。用find --pid能找到父进程。 老大,sed的问题有空修一下不? 以前的代码: set &a=\"abcd"\ sed &b=0,\\,\\\\,%&a% 现在要加好多反斜杠: sed &b=0,\\,\\\\\\\,%&a%  详情 回复 发表于 2020-4-4 10:35
他的应该是进程是SYSTEM用户权限运行的,所以无法查看。不是BUG  详情 回复 发表于 2020-4-4 10:11
回复

使用道具 举报

15202#
发表于 2020-4-4 10:11:26 | 只看该作者
mdyblog 发表于 2020-4-4 09:40
SYSTEM32下测测试正常:

他的应该是进程是SYSTEM用户权限运行的,所以无法查看。不是BUG
回复

使用道具 举报

15203#
发表于 2020-4-4 10:35:33 | 只看该作者
mdyblog 发表于 2020-4-4 09:40
SYSTEM32下测测试正常:

再三确认过,确实是system的进程。用find --pid能找到父进程。

老大,sed的问题有空修一下不?
以前的代码:
set  &a=\"abcd"\
sed  &b=0,\\,\\\\,%&a%

现在要加好多反斜杠:
sed  &b=0,\\,\\\\\\\,%&a%




点评

https://www.lanzous.com/iazidpg: PECMD_SED.zip  详情 回复 发表于 2020-4-4 15:30
回复

使用道具 举报

15204#
 楼主| 发表于 2020-4-4 15:30:37 | 只看该作者
527104427 发表于 2020-4-4 10:35
再三确认过,确实是system的进程。用find --pid能找到父进程。

老大,sed的问题有空修一下不?

https://www.lanzous.com/iazidpg:  PECMD_SED.zip

点评

好了  详情 回复 发表于 2020-4-4 15:48
回复

使用道具 举报

15205#
发表于 2020-4-4 15:48:38 | 只看该作者
mdyblog 发表于 2020-4-4 15:30
https://www.lanzous.com/iazidpg:  PECMD_SED.zip

好了
回复

使用道具 举报

15206#
发表于 2020-4-4 22:14:09 | 只看该作者
M大,
请教下挂载VHD的MOUN-vhd是调用AttachVirtualDisk这个API吗?
如果是的话,加一个挂载ISO的功能吧。
https://msdn.microsoft.com/en-us/library/windows/desktop/dd323692(v=vs.85).aspx

win8及以上系统可以用来直接挂ISO。
回复

使用道具 举报

15207#
发表于 2020-4-5 00:05:03 | 只看该作者
SET#%  &si=(4*7) 0 0 0  *(4*6) 0  //SCROLLINFO  4*7 个字节

示例代码中看到这样一段。
请教,这种创建结构体的具体用法和格式及各部分含义。

点评

SET#% #为子杰模式 %为10进制 $为16进制 (4*7) 就是28 (4*7) 就是24 SET#% &si=28 0 0 0 *24 0 //SCROLLINFO 4*7 个字节 开始4个字节依次为 28 0 0 0 *24 0: 接着 24 个 0  详情 回复 发表于 2020-4-5 16:07
回复

使用道具 举报

15208#
发表于 2020-4-5 11:23:47 | 只看该作者
  1. ENVI^ ENVIMODE=1
  2. SET#% &a=*4 0
  3. ENVI-addr ;&&Len=&&a
  4. MESS. <%&&Len%>
复制代码

单独查询长度查不了,非要和地址一起才可以。
  1. ENVI^ ENVIMODE=1
  2. SET#% &a=*4 0
  3. ENVI-addr &&addr;&&Len=&&a
  4. MESS. <%&&addr%><%&&Len%>
复制代码


点评

只有长度是可以的。 上面程序返回:  详情 回复 发表于 2020-4-5 16:14
回复

使用道具 举报

15209#
 楼主| 发表于 2020-4-5 16:07:47 | 只看该作者
本帖最后由 mdyblog 于 2020-4-5 16:16 编辑
红毛樱木 发表于 2020-4-5 00:05
SET#%  &si=(4*7) 0 0 0  *(4*6) 0  

示例代码中看到这样一段。

SET#%  
#为字节模式
%为10进制
$为16进制
(4*7) 就是28
(4*7) 就是24

SET#%  &si=28  0 0 0  *24   0
开始4个字节依次为 28  0 0 0
*24 0:
接着 24 个 0

*N 表示 后面数值 重复N次


回复

使用道具 举报

15210#
 楼主| 发表于 2020-4-5 16:14:44 | 只看该作者
红毛樱木 发表于 2020-4-5 11:23
单独查询长度查不了,非要和地址一起才可以。

只有长度是可以的。
上面程序返回:
<4>

点评

我实际使用,什么都没返回。要两个一起才可以。你试试  详情 回复 发表于 2020-4-5 17:17
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-8-3 08:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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