无忧启动论坛

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

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

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

多谢老大,完美!
回复

使用道具 举报

15182#
发表于 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
回复

使用道具 举报

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

改好了。非常感谢!
回复

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

15186#
发表于 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
回复

使用道具 举报

15187#
 楼主| 发表于 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
回复

使用道具 举报

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

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

使用道具 举报

15189#
发表于 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
回复

使用道具 举报

15190#
 楼主| 发表于 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
回复

使用道具 举报

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

好了
回复

使用道具 举报

15192#
发表于 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。
回复

使用道具 举报

15193#
发表于 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
回复

使用道具 举报

15194#
发表于 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
回复

使用道具 举报

15195#
 楼主| 发表于 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次


回复

使用道具 举报

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

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

点评

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

使用道具 举报

15197#
发表于 2020-4-5 17:17:50 | 只看该作者
mdyblog 发表于 2020-4-5 16:14
只有长度是可以的。
上面程序返回:

我实际使用,什么都没返回。要两个一起才可以。你试试

点评

直接用 SET-addr ENVI^ ENVIMODE=1 SET#% &a=*4 0 SET-addr ;&&Len=&a MESS. [attachimg]415399[/attachimg]  详情 回复 发表于 2020-4-5 19:40
回复

使用道具 举报

15198#
 楼主| 发表于 2020-4-5 19:40:10 | 只看该作者
本帖最后由 mdyblog 于 2020-4-5 19:47 编辑
红毛樱木 发表于 2020-4-5 17:17
我实际使用,什么都没返回。要两个一起才可以。你试试

直接用 SET-addr

ENVI^ ENVIMODE=1
SET#% &a=*4 0
SET-addr ;&&Len=&a
MESS. <%&&Len%>



如果用  ENVI-addr ;&&Len=&&a
前面要用  ENVI^ ForceLocal=1 切换到PE变量模式。


ENVI^ ForceLocal=1
ENVI^ ENVIMODE=1
SET#% &a=*4 0
ENVI-addr ;&&Len=&&a
MESS. <%&&Len%>

---------
同上

点评

[attachimg]415402[/attachimg] [attachimg]415403[/attachimg] 我是这个意思。  详情 回复 发表于 2020-4-5 20:23
回复

使用道具 举报

15199#
发表于 2020-4-5 20:23:19 | 只看该作者
mdyblog 发表于 2020-4-5 19:40
直接用 SET-addr

ENVI^ ENVIMODE=1
  1. ENVI^ ENVIMODE=1
  2. ENVI#% &a=*4 0
  3. ENVI-addr ;&&Len=&a
  4. MESS. <%&&Len%>
复制代码




  1. ENVI^ ENVIMODE=1
  2. ENVI#% &a=*4 0
  3. ENVI-addr &&add;&&Len=&a
  4. MESS. <%&&add%><%&&Len%>
复制代码




我是这个意思。

点评

PE变量 的内存操作, 直接用SET, 不要用 ENVI ENVI^ ENVIMODE=1 SET#% &a=*4 0 SET-addr ;&&Len=&a MESS.  详情 回复 发表于 2020-4-6 08:10
回复

使用道具 举报

15200#
 楼主| 发表于 2020-4-6 08:10:28 | 只看该作者

PE变量 的内存操作, 直接用SET, 不要用 ENVI

ENVI^ ENVIMODE=1
SET#% &a=*4 0
SET-addr ;&&Len=&a
MESS. <%&&Len%>

点评

老大,报告BUG: FIND --menu 变量名,窗口ID //查询窗口的MENU标识 FIND --menu#0 变量名,MENU标识 //查询MENU的子MENU标识 FIND --menu#序号  详情 回复 发表于 2020-4-8 13:02
这中间用-opt:无效,反而会造成挂载失败。 主要是碰到磁盘是4096扇区的时候要指定一下-S 4096,遇到这种情况测试无效了。  详情 回复 发表于 2020-4-6 14:47
HELP里,基本上都是ENVI来演示的。这样的话,好绕好晕。  详情 回复 发表于 2020-4-6 11:06
回复

使用道具 举报

15201#
发表于 2020-4-6 11:06:00 | 只看该作者
mdyblog 发表于 2020-4-6 08:10
PE变量 的内存操作, 直接用SET, 不要用 ENVI

ENVI^ ENVIMODE=1

HELP里,基本上都是ENVI来演示的。这样的话,好绕好晕。
回复

使用道具 举报

15202#
发表于 2020-4-6 14:47:21 | 只看该作者
本帖最后由 红毛樱木 于 2020-4-6 15:25 编辑
mdyblog 发表于 2020-4-6 08:10
PE变量 的内存操作, 直接用SET, 不要用 ENVI

ENVI^ ENVIMODE=1
  1. MOUN-udm -udmid:pt#2 -ret:&MounRet -opt: -S 512 \\.\PhysicalDrive6 Z:
复制代码


这中间用-opt:无效,反而会造成挂载失败。
主要是碰到磁盘是4096扇区的时候要指定一下-S 4096,遇到这种情况测试无效了。(现在的MOUN-udm -udmid:无法自动判断4096扇区磁盘,而用MOUN-udm -udm- -u+ -mall -mhide1 -mhide \\.\PhysicalDrive6 Z:可以)

点评

MOUN-udm -udmid:pt#2 -ret:&MounRet -opt: -S -opt: 512 \\.\PhysicalDrive6 Z: or MOUN-udm -udmid:pt#2 -ret:&MounRet -opts: "-S 512" \\.\PhysicalDrive6 Z:  详情 回复 发表于 2020-4-6 16:12
回复

使用道具 举报

15203#
 楼主| 发表于 2020-4-6 16:12:03 | 只看该作者
红毛樱木 发表于 2020-4-6 14:47
这中间用-opt:无效,反而会造成挂载失败。
主要是碰到磁盘是4096扇区的时候要指定一下-S 4096,遇到 ...

MOUN-udm -udmid:pt#2 -ret:&MounRet -opt: -S -opt: 512 \\.\PhysicalDrive6 Z:

or
MOUN-udm -udmid:pt#2 -ret:&MounRet -opts: "-S 512" \\.\PhysicalDrive6 Z:

点评

part -hextp -phy -fill list part 6#2,&&fixfenqu2 MSTR &&c,&&d=%&&fixfenqu2% RAMD ImDisk*&MounRet*%&&c%*%&&d%*0*\\.\PhysicalDrive6 -a -S 4096 -o hd -m Z: MESS. %&MounRet% 非要这种直接调用IMDISK  详情 回复 发表于 2020-4-6 16:49
MOUN-udm -udmid:pt#2 -ret:&MounRet -opt: -S -opt: 4096 \\.\PhysicalDrive6 Z: or MOUN-udm -udmid:pt#2 -ret:&MounRet -opts: "-S 4096" \\.\PhysicalDrive6 Z: 实测,还是没有按4096挂载,造成Z:不可读  详情 回复 发表于 2020-4-6 16:42
回复

使用道具 举报

15204#
发表于 2020-4-6 16:42:53 | 只看该作者
mdyblog 发表于 2020-4-6 16:12
MOUN-udm -udmid:pt#2 -ret:&MounRet -opt: -S -opt: 512 \\.\PhysicalDrive6 Z:

or

MOUN-udm -udmid:pt#2 -ret:&MounRet -opt: -S -opt: 4096 \\.\PhysicalDrive6 Z:

or
MOUN-udm -udmid:pt#2 -ret:&MounRet -opts: "-S 4096" \\.\PhysicalDrive6 Z:

实测,还是没有按4096挂载,造成Z:不可读。
你用那个4K优盘测试下看看。
回复

使用道具 举报

15205#
发表于 2020-4-6 16:49:03 | 只看该作者
本帖最后由 红毛樱木 于 2020-4-6 20:41 编辑
mdyblog 发表于 2020-4-6 16:12
MOUN-udm -udmid:pt#2 -ret:&MounRet -opt: -S -opt: 512 \\.\PhysicalDrive6 Z:

or

part -hextp -phy -fill list part 6#2,&&fixfenqu2
MSTR &&c,&&d=<4><5>%&&fixfenqu2%
RAMD ImDisk*&MounRet*%&&c%*%&&d%*0*\\.\PhysicalDrive6 -a -S 4096 -o hd -m Z:
MESS. %&MounRet%


非要这种直接调用IMDISK的方式才可以。但是这样就不能用MOUN中的别的-CheckFile等参数,不方便,老大看下。


-------------------------------------------------------------------------------------
总结一下:
磁盘号为6的磁盘是4K扇区磁盘,R模式的,两个分区。Win7下测试。
方法一:(-S 4096参数实际无效,还是按照512来处理的,具体现象是Z:无法访问)
MOUN-udm -udmid:pt#2 -ret:&MounRet -opt: -S -opt: 4096 \\.\PhysicalDrive6 Z:
or
MOUN-udm -udmid:pt#2 -ret:&MounRet -opts: "-S 4096" \\.\PhysicalDrive6 Z:


方法二:(可以正常访问Z:)
MOUN-udm -udm- -u+ -mall -mhide1 -mhide \\.\PhysicalDrive6 Z:



方法三:(可以正常访问Z:)
part -hextp -phy -fill list part 6#2,&&fixfenqu2
MSTR &&c,&&d=<4><5>%&&fixfenqu2%
RAMD ImDisk*&MounRet*%&&c%*%&&d%*0*\\.\PhysicalDrive6 -a -S 4096 -o hd -m Z:

--------------------------------------------------------------------------------------
总之应该就是-udmid中使用的-opt(s)传递参数无效。

点评

PECMD-PT4K.ZIP: https://www.lanzous.com/ib2jjef -S 4096 可以不用指定。 可自动识别 4K磁盘。  详情 回复 发表于 2020-4-7 07:08
回复

使用道具 举报

15206#
 楼主| 发表于 2020-4-7 07:08:41 | 只看该作者
红毛樱木 发表于 2020-4-6 16:49
part -hextp -phy -fill list part 6#2,&&fixfenqu2
MSTR &&c,&&d=%&&fixfenqu2%
RAMD ImDisk*&MounRet ...

PECMD-PT4K.ZIP:  https://www.lanzous.com/ib2jjef

-S 4096 可以不用指定。 可自动识别 4K磁盘。

点评

请教老大, ENVI ?&a=WinVer //0x600011DB1 能不能通过 ENVI? 或 ENVI-mkfixdummy 等命令将&a拆分成三段? 0x6 0x0001 0x1DB1  详情 回复 发表于 2020-4-7 17:18
测试通过。  详情 回复 发表于 2020-4-7 12:10
回复

使用道具 举报

15207#
发表于 2020-4-7 12:10:19 | 只看该作者
mdyblog 发表于 2020-4-7 07:08
PECMD-PT4K.ZIP:  https://www.lanzous.com/ib2jjef

-S 4096 可以不用指定。 可自动识别 4K磁盘。

测试通过。
回复

使用道具 举报

15208#
发表于 2020-4-7 17:18:08 | 只看该作者
mdyblog 发表于 2020-4-7 07:08
PECMD-PT4K.ZIP:  https://www.lanzous.com/ib2jjef

-S 4096 可以不用指定。 可自动识别 4K磁盘。


请教老大,
ENVI ?&a=WinVer   //0x600011DB1

能不能通过 ENVI? 或 ENVI-mkfixdummy 等命令将&a拆分成三段?
0x6    0x0001    0x1DB1


点评

实际好像没啥意义  详情 回复 发表于 2020-4-7 23:53
回复

使用道具 举报

15209#
发表于 2020-4-7 17:24:32 | 只看该作者
感谢分享
回复

使用道具 举报

15210#
发表于 2020-4-7 18:32:01 | 只看该作者
本帖最后由 红毛樱木 于 2020-4-7 18:45 编辑

搞错了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-1-21 06:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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