无忧启动论坛

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

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

    [复制链接]
17161#
 楼主| 发表于 2022-6-4 15:15:35 | 只看该作者
826773297 发表于 2022-6-4 14:44
最好是只显示文件名,不显示路径的那种格式

FORX *off  %&D%\*.sys,&FS,,*

//*off  返回变化部分

点评

FORX *off %&D%\*.sys,&FS,,* MESS。 %&FS% 这条命令 是用来 得到 文件列表  详情 回复 发表于 2022-6-8 05:24
这个用来处理变量,该怎么写呢?  发表于 2022-6-7 23:53
可以用来查找变量吗  详情 回复 发表于 2022-6-4 15:40
好的  详情 回复 发表于 2022-6-4 15:23
回复

使用道具 举报

17162#
发表于 2022-6-4 15:23:46 | 只看该作者
mdyblog 发表于 2022-6-4 15:15
FORX *off  %&D%\*.sys,&FS,,*

//*off  返回变化部分

好的
回复

使用道具 举报

17163#
发表于 2022-6-4 15:40:11 | 只看该作者
mdyblog 发表于 2022-6-4 15:15
FORX *off  %&D%\*.sys,&FS,,*

//*off  返回变化部分

可以用来查找变量吗
回复

使用道具 举报

17164#
发表于 2022-6-5 00:44:34 | 只看该作者

I

本帖最后由 SharkyEXE 于 2022-6-5 01:06 编辑

Hello

Give me, please, pecmd.exe version from 69 to 81 include, x64 architecture
I have use minimal size pecmd.exe x64 architecture WITHout UPX or mpress compress

Thank You!

点评

PECMD2012.1.88.05.88Stable-220527F测试.7z\精简PECMD\ 这相当于旧版。 比较小  详情 回复 发表于 2022-6-5 11:40
x64目录中的“PECMD原始.EXE”  详情 回复 发表于 2022-6-5 01:54
回复

使用道具 举报

17165#
发表于 2022-6-5 01:54:40 | 只看该作者
SharkyEXE 发表于 2022-6-5 00:44
Hello

Give me, please, pecmd.exe version from 69 to 81 include, x64 architecture

x64目录中的“PECMD原始.EXE”
回复

使用道具 举报

17166#
发表于 2022-6-5 01:59:31 | 只看该作者
Hello

Excusme, i have compiled x64 version pecmd.exe withOUT compress UPX or mpress

If possible, make it version

It now, minimal version pecmd.exe x64 architecture - PECMD79.EXE x64 size 420 KB withOUT compress UPX or mpress

I have very-very small pecmd.exe x64 architecture, smallest 420 KB withOUT compress UPX or mpress

点评

你是不是非英语国家用了蹩脚的英语和我们聊天啊,哈哈  详情 回复 发表于 2022-6-5 02:12
回复

使用道具 举报

17167#
发表于 2022-6-5 02:12:52 来自手机 | 只看该作者
SharkyEXE 发表于 2022-6-5 01:59
Hello

Excusme, i have compiled x64 version pecmd.exe withOUT compress UPX or mpress

你是不是非英语国家用了蹩脚的英语和我们聊天啊,哈哈

点评

他是说我要用64位的pecmd,谢谢你  详情 回复 发表于 2022-6-5 08:29
回复

使用道具 举报

17168#
发表于 2022-6-5 02:15:01 | 只看该作者
Hello

I have very-very small pecmd.exe x64 architecture, smallest 420 KB withOUT compress UPX or mpress
回复

使用道具 举报

17169#
发表于 2022-6-5 08:29:58 | 只看该作者
红毛樱木 发表于 2022-6-5 02:12
你是不是非英语国家用了蹩脚的英语和我们聊天啊,哈哈

他是说我要用64位的pecmd,谢谢你
回复

使用道具 举报

17170#
发表于 2022-6-5 11:13:13 | 只看该作者
你好

请给我提供pecmd.exe的版本,从69到81,包括x64架构。
我使用最小尺寸的pecmd.exe x64架构,没有使用UPX或mpress压缩。

谢谢您!

==========================================================================

尊敬的先生

对不起,我已经编译了x64版本的pecmd.exe,没有压缩UPX或mpress。

如果可能的话,让它的版本

现在,最小的pecmd.exe x64架构版本 - PECMD79.EXE x64大小为420 KB,没有压缩UPX或mpress。

我有非常小的pecmd.exe x64架构,最小的420 KB,没有压缩UPX或mpress。

==========================================================================

你好

我有非常小的pecmd.exe x64架构,最小的420 KB,没有压缩UPX或mpress。



点评

他哪来这么小的,400多kb  详情 回复 发表于 2022-6-5 11:15
回复

使用道具 举报

17171#
发表于 2022-6-5 11:14:42 | 只看该作者
看起来他是想要源码自己编译?
回复

使用道具 举报

17172#
发表于 2022-6-5 11:15:54 | 只看该作者
527104427 发表于 2022-6-5 11:13
你好

请给我提供pecmd.exe的版本,从69到81,包括x64架构。

他哪来这么小的,400多kb

点评

猜不到,或许他不是这个意思。也许英语跟我一样蹩脚吧  详情 回复 发表于 2022-6-5 11:17
回复

使用道具 举报

17173#
发表于 2022-6-5 11:17:19 | 只看该作者
826773297 发表于 2022-6-5 11:15
他哪来这么小的,400多kb

猜不到,或许他不是这个意思。也许英语跟我一样蹩脚吧
回复

使用道具 举报

17174#
 楼主| 发表于 2022-6-5 11:40:19 | 只看该作者
SharkyEXE 发表于 2022-6-5 00:44
Hello

Give me, please, pecmd.exe version from 69 to 81 include, x64 architecture

PECMD2012.1.88.05.88Stable-220527F测试.7z\精简PECMD\
这相当于旧版。 比较小

点评

swin貌似不能自适应DPI: #code=950T936 envi^ EnviMode=1 envi^ ForceLocal=1 call GetDpiPercent call @Page1 _sub Page1,w347 h297,,,,,, %ScaleCMD% swin swin1:Win1:-SwinMain1,l0 t0 w347 h205,,  详情 回复 发表于 2022-6-5 12:39
回复

使用道具 举报

17175#
发表于 2022-6-5 12:39:46 | 只看该作者
mdyblog 发表于 2022-6-5 11:40
PECMD2012.1.88.05.88Stable-220527F测试.7z\精简PECMD\
这相当于旧版。 比较小

swin貌似不能自适应DPI:

#code=950T936
envi^ EnviMode=1
envi^ ForceLocal=1

call GetDpiPercent
call @Page1

_sub Page1,w347 h297,,,,,, %ScaleCMD%
        swin swin1:Win1:-SwinMain1,l0 t0 w347 h205,,
_end

_sub Win1,w347 h205,,,,:0xFFFFFF,, %ScaleCMD%
_end

_sub GetDpiPercent *
        call $user32.dll,SetProcessDPIAware
        call $--ret:hdc user32.dll,GetDC,#0
        call $--ret:LogPixels Gdi32.dll,GetDeviceCaps,#%hdc%,#90
        set ScaleCMD=-scalef:%LogPixels% -scale:%LogPixels%
_end








点评

5大这个问题解决了吗,我也遇到了这个问题  详情 回复 发表于 2022-7-19 21:37
5大,麻烦看看这个 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=426828 能否更新下siso  详情 回复 发表于 2022-6-10 11:15
swin -:Win1:-SwinMain1 这样好像可以,不过层级不一样了。。。  详情 回复 发表于 2022-6-5 14:48
回复

使用道具 举报

17176#
发表于 2022-6-5 14:48:01 | 只看该作者
527104427 发表于 2022-6-5 12:39
swin貌似不能自适应DPI:

#code=950T936

swin -:Win1:-SwinMain1
这样好像可以,不过层级不一样了。。。
回复

使用道具 举报

17177#
发表于 2022-6-5 14:59:48 | 只看该作者
本帖最后由 SharkyEXE 于 2022-6-5 15:11 编辑

mdyblog

Hello

I found pecmd.exe 1201.88.5.66 x64 architecture, size 884 KB, without UPX or mpress compression






Your last version pecmd.exe x64 architecture without compression UPX or mpress PECMD2012.1.88.05.88 Stable-220527F test.7z - very, very fat



Снимок6.jpg (627.1 KB, 下载次数: 201)

Снимок6.jpg

Снимок3.jpg (625.42 KB, 下载次数: 190)

Снимок3.jpg

点评

讲内置的巨大HELP 删除。 RCDATA\301  详情 回复 发表于 2022-6-5 17:08
回复

使用道具 举报

17178#
发表于 2022-6-5 16:35:40 | 只看该作者
如何判断文件夹是否被占用
回复

使用道具 举报

17179#
 楼主| 发表于 2022-6-5 17:08:22 | 只看该作者
本帖最后由 mdyblog 于 2022-6-5 17:09 编辑

将内置的巨大HELP 删除。
RCDATA\301

然后, 删除INDATA\下不必须的资源。
回复

使用道具 举报

17180#
发表于 2022-6-5 18:01:25 | 只看该作者
本帖最后由 SharkyEXE 于 2022-6-5 18:02 编辑

mdyblog
Hello

I use restorator 2007, i maximum delete



Size 1,15 Megabyte

I write , pecmd.exe 1201.88.5.66 x64 architecture, size 884 KB, without UPX or mpress compression

I have pecmd.exe x64 architecture without UPX or mpress compression size < 884 KB

If you make pecmd.exe x64 architecture without UPX or mpress compression size < 884 KB - please, attach this

Thank You!
回复

使用道具 举报

17181#
发表于 2022-6-5 20:01:57 | 只看该作者
问一下m大,pecmd能否隐藏任务栏的控制中心图标,这个图标找了很久没找到注册表
回复

使用道具 举报

17182#
发表于 2022-6-5 21:18:34 | 只看该作者
pecmd能否获取smbios信息

点评

GetSystemFirmwareTablehttps://docs.microsoft.com/zh-cn/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemfirmwaretable  详情 回复 发表于 2022-6-6 01:24
回复

使用道具 举报

17183#
发表于 2022-6-6 01:24:31 | 只看该作者

点评

这是c吧,我是问pecmd能否实现  详情 回复 发表于 2022-6-6 08:39
回复

使用道具 举报

17184#
发表于 2022-6-6 08:39:59 | 只看该作者
红毛樱木 发表于 2022-6-6 01:24
GetSystemFirmwareTable
https://docs.microsoft.com/zh-cn/windows/win32/api/sysinfoapi/nf-sysinfoap ...

这是c吧,我是问pecmd能否实现

点评

&pFirmwareTableBuffer就是原始数据,自己拆数据吧。  详情 回复 发表于 2022-6-8 19:30
c的api,直接用pecmd的call $dll  详情 回复 发表于 2022-6-6 08:45
回复

使用道具 举报

17185#
发表于 2022-6-6 08:45:13 来自手机 | 只看该作者
826773297 发表于 2022-6-6 08:39
这是c吧,我是问pecmd能否实现

c的api,直接用pecmd的call $dll
回复

使用道具 举报

17186#
 楼主| 发表于 2022-6-8 05:24:11 | 只看该作者
mdyblog 发表于 2022-6-4 15:15
FORX *off  %&D%\*.sys,&FS,,*

//*off  返回变化部分

FORX *off  %&D%\*.sys,&FS,,*
MESS。 %&FS%
这条命令 是用来 得到 文件列表  

点评

发现bug,现在点击 item 会触发两次命令: [attachimg]503034[/attachimg]  详情 回复 发表于 2022-6-13 22:18
回复

使用道具 举报

17187#
发表于 2022-6-8 07:38:59 | 只看该作者
mdyblog 发表于 2022-6-8 05:24
FORX *off  %&D%\*.sys,&FS,,*
MESS。 %&FS%
这条命令 是用来 得到 文件列表

ok
回复

使用道具 举报

17188#
发表于 2022-6-8 19:30:22 | 只看该作者
本帖最后由 红毛樱木 于 2022-6-9 21:53 编辑
826773297 发表于 2022-6-6 08:39
这是c吧,我是问pecmd能否实现
  1. //转换RSMB为DWORD----开始
  2. CODE *,RSMB,*-ANSI,&FirmwareTableProviderSignatureHex
  3. SED -ex &FirmwareTableProviderSignature=0, 0x,,&FirmwareTableProviderSignatureHex
  4. //转换RSMB为DWORD----结束

  5. //第四个参数传入0,则返回获取RSMB结构长度
  6. CALL $--qd --ret:&GetSystemFirmwareTableRet Kernel32.dll,GetSystemFirmwareTable,#%&FirmwareTableProviderSignature%,#0,#0,#0

  7. //判断API是否成功
  8. IFEX #%&GetSystemFirmwareTableRet%=0,EXIT

  9. //设置RSMB长度
  10. ENVI &BufferSize=%&GetSystemFirmwareTableRet%

  11. //申请%&BufferSize%长度的&pFirmwareTableBuffer变量内存空间
  12. SET$# pFirmwareTableBuffer=*%&BufferSize% 0

  13. //获取&pFirmwareTableBuffer数据
  14. CALL $--qd --ret:&GetSystemFirmwareTableRet Kernel32.DLL,GetSystemFirmwareTable,#%&FirmwareTableProviderSignature%,#0,*&pFirmwareTableBuffer,#%&BufferSize%
复制代码


&pFirmwareTableBuffer就是原始数据,自己拆数据吧。(需要出演示代码怎么拆数据的,随时关注这一楼吧,说不定哪天比较闲的时候就拆一下更新了,其实这里的数据有很多C或者C++现成的开源代码示例,只是PECMD2012是脚本语言大家都玩的比较少罢了也没人愿意费劲折腾)

写入一个文件,用winhex查看:
  1. IFEX %&CurDir%\SMBIOSTableData.Bin,FILE %&CurDir%\SMBIOSTableData.Bin
  2. GETF -bin &pFirmwareTableBuffer,0#%&GetSystemFirmwareTableRet%,&SMBIOSTableDataTemp
  3. PUTF %&CurDir%\SMBIOSTableData.Bin,0#,%&SMBIOSTableDataTemp%
复制代码



附件里是3.3版的规范,最新的应该比这个版本高,对着看下先。

DSP0134_3.3.0.pdf (1.5 MB, 下载次数: 22)


---------------------------------------------------
下面这段是演示代码之拆了BIOS_vendor的数据,其他的自己对着慢慢研究吧,具体要参考上面的PDF资料。
注意:请使用网盘中最新的PECMD才可以,2022.06.09更新的PECMD。
  1. ENVI^ ENVIMODE=1
  2. ENVI$ &NL=0d 0a
  3. //转换RSMB为DWORD----开始
  4. CODE *,RSMB,*-ANSI,&FirmwareTableProviderSignatureHex
  5. SED -ex &FirmwareTableProviderSignature=0, 0x,,&FirmwareTableProviderSignatureHex
  6. //转换RSMB为DWORD----结束

  7. //第四个参数传入0,则返回获取RSMB结构长度
  8. CALL $--qd --ret:&GetSystemFirmwareTableRet Kernel32.dll,GetSystemFirmwareTable,#%&FirmwareTableProviderSignature%,#0,#0,#0

  9. //判断API是否成功
  10. IFEX #%&GetSystemFirmwareTableRet%=0,EXIT

  11. //设置RSMB长度
  12. ENVI &BufferSize=%&GetSystemFirmwareTableRet%

  13. //申请%&BufferSize%长度的&pFirmwareTableBuffer变量内存空间
  14. SET$# pFirmwareTableBuffer=*%&BufferSize% 0

  15. //获取&pFirmwareTableBuffer数据
  16. CALL $--qd --ret:&GetSystemFirmwareTableRet Kernel32.DLL,GetSystemFirmwareTable,#%&FirmwareTableProviderSignature%,#0,*&pFirmwareTableBuffer,#%&BufferSize%
  17. //MESS. %&GetSystemFirmwareTableRet%

  18. //SET?数据类型 源PE变量名或地址=变量名:偏移字节数      //取PE对象中指定类型2进制数据。
  19. SET?char pFirmwareTableBuffer=&&Used20CallingMethod:0
  20. CALC &Used20CallingMethod=%&Used20CallingMethod%  //16进制转10进制
  21. SET?char pFirmwareTableBuffer=&&SMBIOSMajorVersion:1
  22. CALC &SMBIOSMajorVersion=%&SMBIOSMajorVersion%
  23. SET?char pFirmwareTableBuffer=&&SMBIOSMinorVersion:2
  24. CALC &SMBIOSMinorVersion=%&SMBIOSMinorVersion%
  25. SET?char pFirmwareTableBuffer=&&DmiRevision:3
  26. CALC &DmiRevision=%&DmiRevision%
  27. SET?int pFirmwareTableBuffer=&&SMBIOSTableDataLength:4

  28. ENVI &&SMBIOS_Version=%&SMBIOSMajorVersion%.%&SMBIOSMinorVersion%
  29. //MESS. Used20CallingMethod:%&Used20CallingMethod%%&NL%SMBIOS版本号:%&SMBIOSMajorVersion%.%&SMBIOSMinorVersion%%&NL%DmiRevision:%&DmiRevision%%&NL%SMBIOS数据长度:%&SMBIOSTableDataLength%

  30. //把数据写入到一个文件中,方便用Winhex查看对比。
  31. IFEX %&CurDir%\SMBIOSTableData.Bin,FILE %&CurDir%\SMBIOSTableData.Bin
  32. GETF -bin &pFirmwareTableBuffer,(1 + 1 + 1 + 1 + 4)#%&SMBIOSTableDataLength%,&SMBIOSTableDataTemp
  33. PUTF %&CurDir%\SMBIOSTableData.Bin,0#,%&SMBIOSTableDataTemp%

  34. //SET-make  PE变量名=[地址|&PE变量名[@[$]偏移]][;[*][[$]字节数]]  //创建PE变量。*为char串
  35. SET-make &SMBIOSTableData=&pFirmwareTableBuffer@(1 + 1 + 1 + 1 + 4);*%&SMBIOSTableDataLength%  //获取实际的SMBIOSTableData数据

  36. SET$# &type=*1 0    //申请1个字节的内存空间,定义一个变量,作为类型变量
  37. SET$# &data_offset=*1 0    //申请1个字节的内存空间,定义一个变量,作为类型长度
  38. ENVI &&Type_Start=0      //定义一个变量,作为当前类型的起始位置值的标记
  39. CODE *ANSI,0x00 0x00,**ANSI,&&TypeKeyWords
  40. CODE *ANSI,0x00,**ANSI,&&CharKeyWords
  41. LOOP #%&Type_Start%>=0,
  42. {*
  43.     //SET-zero  PE变量名=[[$]数值][@[$]偏移]][;[$]数量]  //清除变量的内存,默认0  $:加宽,可多次
  44.     SET-zero type=
  45.     SET-zero data_offset=
  46.     SET?char SMBIOSTableData=&type:%&Type_Start%
  47.     ENVI &&Type_Start_Last=%&Type_Start%
  48.     SET?char SMBIOSTableData=&data_offset:(%&Type_Start% + 1)
  49.     GETF -find &SMBIOSTableData,(%&data_offset% + %&Type_Start%)###0#1#0,&&Type_End,*&&TypeKeyWords
  50.     IFEX $%&Type_End%=-1,EXIT LOOP
  51.     CALC &&Type_Start=%&Type_End% + 2   //尾部加上两个字节的0x00 0x00
  52.     IFEX [ #%&type%=0 & $%&SMBIOS_Version%>=2.0 ],
  53.     {*
  54.         //BIOS Information (Type 0) //这里演示只分析这一段数据
  55.         CALC &BIOS_INFO_Len=%&Type_Start% - %&data_offset% - %&Type_Start_Last%

  56.         //厂商字符串位置
  57.         GETF &SMBIOSTableData,(%&Type_Start_Last% + 1 + 1 + 2)#1,&&BIOS_vendor_CharNum
  58.         GETF -find &SMBIOSTableData,(%&Type_Start_Last% + %&data_offset%)#%&BIOS_INFO_Len%##0#1#0,*&&BIOS_INFO_CharKeyWords,*&&CharKeyWords
  59.         CALL Get_Split_Dmi_Info &BIOS_vendor_CharNum &BIOS_INFO_CharKeyWords &&BIOS_vendor
  60.         MESS. %&BIOS_vendor%
  61.         EXIT LOOP
  62.     }
  63. }

  64. _SUB Get_Split_Dmi_Info
  65.     LOGS
  66.     ^ENVI &&End_CharNum=%%%1%%
  67.     IFEX $%&End_CharNum%=0,
  68.     {*
  69.        EXIT
  70.     }
  71.     ^ENVI &&This_CharKeyWords=%%%2%%
  72.     CALC &&Start_CharNum=%&End_CharNum% - 1
  73.     MSTR * &&Start,&&End=<%&Start_CharNum%><%&CharNum%>&&This_CharKeyWords
  74.     IFEX $%&Start_CharNum%=0,CALC &&Start=%&Type_Start_Last%+%&data_offset%  - 1
  75.     GETF &SMBIOSTableData,(%&Start%+1)#(%&End% - %&Start% - 1),&&This_Info
  76.     CODE ***ANSI,&&This_Info,**UNI,&&This_Info
  77.     MSTR * -trim &This_Info=&This_Info
  78.     ENVI-ret %3=%&This_Info%
  79. _END

  80. EXIT FILE
  81. 结构体
  82. struct RawSMBIOSData
  83. {
  84.     BYTE    Used20CallingMethod;    //1b
  85.     BYTE    SMBIOSMajorVersion;     //1b
  86.     BYTE    SMBIOSMinorVersion;     //1b
  87.     BYTE    DmiRevision;            //1b
  88.     DWORD    Length;                //4b
  89.     BYTE    SMBIOSTableData[];      //Length b
  90. };
复制代码


点评

嗯,就是要用第三方打开,不知道m大有没有什么高招  详情 回复 发表于 2022-6-9 10:52

评分

参与人数 1无忧币 +5 收起 理由
Anson4 + 5 赞一个!

查看全部评分

回复

使用道具 举报

17189#
发表于 2022-6-9 10:52:05 | 只看该作者
红毛樱木 发表于 2022-6-8 19:30
&pFirmwareTableBuffer就是原始数据,自己拆数据吧。(需要出演示代码怎么拆数据的,随时关注这一楼 ...

嗯,就是要用第三方打开,不知道m大有没有什么高招
回复

使用道具 举报

17190#
发表于 2022-6-9 10:54:13 | 只看该作者
有第三方可以实现,我只是想看看pecmd不依赖第三方的情况下能不能做到,能不能写出来都无所谓

点评

PECMD肯定是能做到的,只是可惜我也不会。 关于这方便的实例好像有点少,而且没有备注说明,不是码农很难看明白。  详情 回复 发表于 2022-6-9 15:09
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-24 18:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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