无忧启动论坛

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

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

    [复制链接]
14521#
发表于 2019-11-26 15:14:22 | 只看该作者

大哥,你这啥也看不清,猜也猜不到啊

点评

[attachimg]405738[/attachimg]  详情 回复 发表于 2019-11-26 15:19
回复

使用道具 举报

14522#
发表于 2019-11-26 15:19:41 | 只看该作者
红毛樱木 发表于 2019-11-26 15:14
大哥,你这啥也看不清,猜也猜不到啊


点评

看不明白你想干啥  详情 回复 发表于 2019-11-26 15:27
回复

使用道具 举报

14523#
发表于 2019-11-26 15:27:07 | 只看该作者

看不明白你想干啥
回复

使用道具 举报

14524#
发表于 2019-11-26 15:31:58 | 只看该作者
打开标准模式的开关: ENVI^ ENVIMODE=1
变量的表达方式跟.BAT和.CMD脚本一样,%L%可用%%L%%表达.
说明书里面有这方面的说明.

点评

默认为什么不开启呢? 而且感觉没有专门的转义迟早会翻车。  详情 回复 发表于 2019-11-26 15:43
回复

使用道具 举报

14525#
发表于 2019-11-26 15:43:44 来自手机 | 只看该作者
本帖最后由 求道者 于 2019-11-26 15:58 编辑
datbik189 发表于 2019-11-26 15:31
打开标准模式的开关: ENVI^ ENVIMODE=1
变量的表达方式跟.BAT和.CMD脚本一样,%L%可用%%L%%表达.
说明书里 ...


默认为什么不开启呢?
而且感觉没有专门的转义符迟早会翻车。

点评

默认是兼容PECMD4.0. 这里是PECMD2012, 一般都用标准模式, 即在每个脚本的第一行加上ENV^ ENVIMODE=1.  详情 回复 发表于 2019-11-26 15:47
回复

使用道具 举报

14526#
发表于 2019-11-26 15:47:25 | 只看该作者
求道者 发表于 2019-11-26 15:43
默认为什么不开启呢?
而且感觉没有专门的转义迟早会翻车。


默认是兼容PECMD4.0.

这里是PECMD2012, 一般都用标准模式, 即在每个脚本的第一行加上ENVI^ ENVIMODE=1.

点评

果不其然 我就觉得不对…… 不只是变量的%%还有分隔符,也需要转义 所以全局通用的转义符有吗? 脚本语言一定要有的,不然翻车只是迟早的事 至少我了解的脚本语言都有转义符…… 然后脚本如果用UTF-8编码 中  详情 回复 发表于 2019-11-26 23:55
回复

使用道具 举报

14527#
发表于 2019-11-26 23:55:29 | 只看该作者
datbik189 发表于 2019-11-26 15:47
默认是兼容PECMD4.0.

这里是PECMD2012, 一般都用标准模式, 即在每个脚本的第一行加上ENVI^ ENVIMODE ...

果不其然
我就觉得不对……
  1. LINK %Desktop%\理顺盘符,%MyName%,TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1
复制代码

不只是变量的%%还有分隔符,也需要转义
所以全局通用的转义符有吗?
脚本语言一定要有的,不然翻车只是迟早的事
至少我了解的脚本语言都有转义符……
然后脚本如果用UTF-8编码
中文就会乱码?
UTF-8支持是程序现代化进程的一部分。

点评

用unicode  详情 回复 发表于 2019-11-27 00:57
回复

使用道具 举报

14528#
发表于 2019-11-27 00:57:42 来自手机 | 只看该作者
求道者 发表于 2019-11-26 23:55
果不其然
我就觉得不对……


用unicode

点评

3Q UTF-8带BOM编码可用 这么说PECMD的转义是真没救?  详情 回复 发表于 2019-11-27 01:28
回复

使用道具 举报

14529#
发表于 2019-11-27 01:28:45 | 只看该作者

3Q
UTF-8带BOM编码可用

这么说PECMD的转义是真没救?

点评

我玩cmd和bat很少,对转意这个词不理解。 你给我个代码例子,想要实现什么效果,直观一些。  详情 回复 发表于 2019-11-27 01:39
回复

使用道具 举报

14530#
发表于 2019-11-27 01:39:36 来自手机 | 只看该作者
本帖最后由 红毛樱木 于 2019-11-27 01:43 编辑
求道者 发表于 2019-11-27 01:28
3Q
UTF-8带BOM编码可用


搞半天你用不带bom的utf-8编码,不带bom的非ANSI编码都是流氓代码。

我玩cmd和bat很少,对转意这个词不理解。
你给我个代码例子,想要实现什么效果,直观一些。

点评

就是这个 实际上LINK的参数部分是 但这里面有很多结果你就知道了吧…… PECMD的帮助里没有转义相关的资料 唯一一个靠谱的只是针对变量  详情 回复 发表于 2019-11-27 01:48
回复

使用道具 举报

14531#
发表于 2019-11-27 01:48:32 | 只看该作者
本帖最后由 求道者 于 2019-11-27 02:00 编辑
红毛樱木 发表于 2019-11-27 01:39
搞半天你用不带bom的utf-8编码,不带bom的非ANSI编码都是流氓代码。

我玩cmd和bat很少,对转意这个词 ...
  1. LINK %Desktop%\理顺盘符,%MyName%,TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1
复制代码

就是这个
实际上LINK的参数部分是
  1. TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1
复制代码

但这里面有很多
  1. ,
复制代码
结果你就知道了吧……
PECMD的帮助里没有转义相关的资料
唯一一个靠谱的只是针对变量
一般来说一个正常的语法处理这样一个路径就是
  1. /home/user/桌面/新建文件夹\ \(1\)
复制代码
人类更容易理解的路径就是
  1. /home/user/桌面/新建文件夹 (1)/
复制代码
两者是相等的
当空格和括号前面被填了\符号之后
空格就失去了分隔的的特殊效果
括号好像是分组,加了\之后就没有特殊功能了
\就是linux Shell脚本语言里定义的转义符

转义符在脚本语言里挺常见的吧……

另外
  1. /home/user/新建文件夹\*/
复制代码
为什么*号会被转义

你懂得

\本身能否转义?
能!
  1. /home/user/桌面/\\新建文件夹\*/
复制代码
这样作为路径使用时\本身就失去了转义的功能
复杂但灵活

点评

Windows风格, 好像 不适合 \转义符。 Windows用户不习惯一堆的转义符\。喜欢直观的样子。 文件名习惯用“”来对付空格。 PECMD 的方式: (1)通用的方式是用变量包装。 (2)还可"" 对付空格文件名  详情 回复 发表于 2019-11-27 05:18
这种情况目前我知道的只能变通一下,不知道有没有别的方法。 把TEAM SHOW -check *F:0 | DISK -check ,,,4,U:,0x1写成一个_sub函数,然后去call  详情 回复 发表于 2019-11-27 01:57
回复

使用道具 举报

14532#
发表于 2019-11-27 01:57:26 来自手机 | 只看该作者
求道者 发表于 2019-11-27 01:48
就是这个
实际上LINK的参数部分是
但这里面有很多结果你就知道了吧……

这种情况目前我知道的只能变通一下,不知道有没有别的方法。
把TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1写成一个_sub函数,然后去call

点评

所以我觉得定义一个全局转义符势在必行啊…… 越是往后搞就越麻烦  详情 回复 发表于 2019-11-27 02:01
回复

使用道具 举报

14533#
发表于 2019-11-27 02:01:33 | 只看该作者
本帖最后由 求道者 于 2019-11-27 02:05 编辑
红毛樱木 发表于 2019-11-27 01:57
这种情况目前我知道的只能变通一下,不知道有没有别的方法。
把TEAM SHOW -check *F:0 | DISK -check  , ...

所以我觉得定义一个全局转义符势在必行啊……
越是往后搞就越麻烦
想想如果总是搞套娃一样搞这种代码
毫无疑问会增大阅读代码的难度

点评

赞同,希望pecmd2012越来越牛逼,睡觉睡觉  详情 回复 发表于 2019-11-27 02:12
回复

使用道具 举报

14534#
发表于 2019-11-27 02:12:19 来自手机 | 只看该作者
求道者 发表于 2019-11-27 02:01
所以我觉得定义一个全局转义符势在必行啊……
越是往后搞就越麻烦
想想如果总是搞套娃一样搞这种代码

赞同,希望pecmd2012越来越牛逼,睡觉睡觉
回复

使用道具 举报

14535#
 楼主| 发表于 2019-11-27 05:18:38 | 只看该作者
求道者 发表于 2019-11-27 01:48
就是这个
实际上LINK的参数部分是
但这里面有很多结果你就知道了吧……

Windows风格, 好像 不适合 \转义符。 Windows用户不习惯一堆的转义符\。喜欢直观的样子。
文件名习惯用“”来对付空格。


PECMD 的方式:
(1)通用的方式是用变量包装

(2)还可"" 对付空格文件名


一般来说, 分隔符 只看表面上书写的, 而不看展开的。 (除非命令需要,如REGI,那也是在字面失效后 才尝试)




SET &ARG=TEAM SHOW -check *F:0
LINK %Desktop%\理顺盘符,%MyName%,%&ARG%


单行形式:
TEAM~ SET &ARG=TEAM SHOW -check *F:0 | DISK -check  ,,,4,U:,0x1~ LINK %Desktop%\理顺盘符,%MyName%,%&ARG%


效果:


点评

不是不适应,实际上哪怕是cmd批处理,处理路径也是用转义。 倒不如统一用转义,变量也不特殊处理,都视为特殊字符,转义后就变成普通字符。 有了转义,写脚本还能不会用? 人不能被尿憋死。 如果\用的少或者pe  详情 回复 发表于 2019-11-27 09:58
回复

使用道具 举报

14536#
发表于 2019-11-27 09:58:22 来自手机 | 只看该作者
本帖最后由 求道者 于 2019-11-27 10:00 编辑
mdyblog 发表于 2019-11-27 05:18
Windows风格, 好像 不适合 \转义符。 Windows用户不习惯一堆的转义符\。喜欢直观的样子。
文件名习惯用 ...

  1. reg add "HKLM\SOFTWARE\Classes\7-Zip.001" /f /ve /t REG_SZ /d "001 Archive"
  2. reg add "HKLM\SOFTWARE\Classes\7-Zip.001\DefaultIcon" /f /ve /t REG_SZ /d "%TP%\7z.dll,9"
  3. reg add "HKLM\SOFTWARE\Classes\7-Zip.001\shell" /f /ve /t REG_SZ /d ""
  4. reg add "HKLM\SOFTWARE\Classes\7-Zip.001\shell\open" /f /ve /t REG_SZ /d ""
  5. reg add "HKLM\SOFTWARE\Classes\7-Zip.001\shell\open\command" /f /ve /t REG_SZ /d ""%TP%\7zFM.exe" "%%1""
复制代码

不是不适应,实际上哪怕是cmd批处理,处理路径也是用转义。
倒不如统一用转义,变量也不特殊处理,都视为特殊字符,转义后就变成普通字符。
有了转义,写脚本还能不会用?
人不能被尿憋死。
如果\用的少或者pecmd根本没定义\的用处
那就\做转义符吧。
转义符一定会用到的。
套娃代码实在没意思。
回复

使用道具 举报

14537#
发表于 2019-11-27 15:19:24 | 只看该作者
红毛樱木 发表于 2019-11-18 09:45
反馈,继续接上楼的WAIT -sys -cmd问题。(暂不确定是我的PE问题还是所有PE都有这问题)
演示PE打包地址。ht ...

字体发虚,是因为你调整了大小,导致锯齿严重
回复

使用道具 举报

14538#
发表于 2019-11-27 16:07:29 | 只看该作者
  1. ENVI^ ENVIMODE=1
  2. ENVI-int &&a=168
  3. ENVI-int &&b=999
  4. ENVI$ &&PX=*8 0
  5. ENVI-ptr &&psetPacket=%&&PXaddr%
  6. ENVI-make &&PX=&&a@0;$4
  7. //MESS. %&error%<%&&PX%>
  8. ENVI?int &&PX=&&a1:0
  9. //MESS. %&error%<%&&a1%><a1>
  10. ENVI-make &&PX=&&b@4;4
  11. //MESS. %&error%<%&&PX%>
  12. ENVI?int &&PX=&&b1:4
  13. //MESS. %&error%<%&&b1%><b1>
  14. MESS. <a1:%&a1%><b1:%&b1%>
复制代码

&b1取不出来值,M大帮看下

回复

使用道具 举报

14539#
发表于 2019-11-27 21:19:01 | 只看该作者
出关了啊!希望弄一下pint功能,能不能直接弄成调用系统右键实现PINT功能,不然升级系统后PINT就有各种失效。

点评

现在的远离就是 右键。 只是没有 真的 右键点击。  详情 回复 发表于 2019-11-28 02:56
回复

使用道具 举报

14540#
 楼主| 发表于 2019-11-28 02:53:41 | 只看该作者
红毛樱木 发表于 2019-11-27 16:07
&b1取不出来值,M大帮看下



  1. ENVI^ ENVIMODE=1
  2. ENVI-int &&a=0x41
  3. //ENVI-int &&a=168
  4. //创建一个整数
  5. ENVI-int &&b=0x33
  6. //ENVI-int &&b=999
  7. ENVI$ &&PX=*8 0
  8. ENVI-ptr &&psetPacket=%&&PXaddr%
  9.   MESS. %&error%<%&&psetPacket%> [=psetPacket]
  10. //// %&&PXaddr% 为0 ,  psetPacket为0


  11. ENVI-make &&PX=&a@0;$4
  12.   MESS. %&error%<%&&PX%>[=PX]
  13. // 用 &&a的前4字符为模版, 重新创建 &PX
  14. // 还是A

  15. ENVI?int &&PX=&&a1:0
  16.   MESS. %&error%<%&&a1%>[=a1]
  17. //PX 开头提取整数,到a1
  18. //还是A

  19. ENVI-make &&PX=&&b@4;4
  20.   MESS. %&error%<%&&PX%>[PX]

  21. // 用 &&a的跳过4字节,取4字符为模版, 重新创建 &PX
  22. // 为0,空串



  23. ENVI?int &&PX=&&b1:4
  24. //MESS. %&error%<%&&b1%><b1>
  25. MESS. <a1:%&a1%><b1:%&b1%>
  26. // 用 &&b1的跳过4字节,取4字符为模版, 重新创建 &PX
  27. // 为0,空串
复制代码

点评

我是想创建长度为8的结构体,前面4为&a的值,后面4为&b的值  详情 回复 发表于 2019-11-28 07:29
回复

使用道具 举报

14541#
 楼主| 发表于 2019-11-28 02:56:11 | 只看该作者
本帖最后由 mdyblog 于 2019-11-28 22:05 编辑
hhh333 发表于 2019-11-27 21:19
出关了啊!希望弄一下pint功能,能不能直接弄成调用系统右键实现PINT功能,不然升级系统后PINT就有各种失效 ...

现在的原理就是 右键。
只是没有 真的 右键点击。

点评

那哪么弄呢,这个PINT真有点麻烦  详情 回复 发表于 2019-11-28 08:45
回复

使用道具 举报

14542#
发表于 2019-11-28 07:29:43 来自手机 | 只看该作者
本帖最后由 红毛樱木 于 2019-11-28 08:47 编辑
mdyblog 发表于 2019-11-28 02:53

我是想创建长度为8的结构体,前面4为&a的值,后面4为&b的值。换成ENVI-mkdummy也不行

点评

那么下面这句是错误的ENVI-make &&PX=&a@0;$4[/backcolor] MESS. %&error%[=PX][/backcolor] // 用 &&a的前4字符为模版, 重新创建 &PX[/backcolor] a只有4字节, 创建的PX只有4字节。没有8字节。 修  详情 回复 发表于 2019-11-28 12:08
回复

使用道具 举报

14543#
发表于 2019-11-28 08:45:56 | 只看该作者
mdyblog 发表于 2019-11-28 02:56
现在的远离就是 右键。
只是没有 真的 右键点击。

那哪么弄呢,这个PINT真有点麻烦

点评

猫捉老鼠 的 游戏。 针对 MS-WIn 做了一个PINT设计。 delay ms_delay :LOOP MS 又加了限制。 delay ms_delay 再针对新 MS-WIn 做了一个PINT设计。 delay pecmd_delay goto :LOOP  详情 回复 发表于 2019-11-28 12:12
回复

使用道具 举报

14544#
 楼主| 发表于 2019-11-28 12:08:14 | 只看该作者
红毛樱木 发表于 2019-11-28 07:29
我是想创建长度为8的结构体,前面4为&a的值,后面4为&b的值。换成ENVI-mkdummy也不行

那么下面这句是错误的ENVI-make &&PX=&a@0;$4
  MESS. %&error%<%&&PX%>[=PX]
// 用 &&a的前4字符为模版, 重新创建 &PX


a只有4字节, 创建的PX只有4字节。没有8字节。


修改后:

  1. ENVI^ ENVIMODE=1
  2. ENVI-int &&a=0x41
  3. //ENVI-int &&a=168
  4. //创建一个整数
  5. ENVI-int &&b=0x33
  6. //ENVI-int &&b=999

  7. //8字节的结构体
  8. ENVI$ &&PX=*4 0


  9. ENVI?int &&a=&&a1:0
  10.   MESS. %&error%<%&&a1%>[=a1]
  11. //0<65>[=a1]
  12. //a 开头提取整数,到a1
  13. //还是A(0x41)

  14. ENVI-long  &&PX=%a1%:0
  15. //a1 保存到开头4字节
  16. //A

  17. //DBG
  18. ENVI?int640 &&PX=&&x:0
  19.   MESS. %&error%<%&x%>[=PX] new val --1
  20. //0<0x0000000000000041>[=PX] new val --1

  21. ENVI?int &&b=&&b1:0
  22.   MESS. %&error%<%&&b1%>[=b1]
  23. //0<51>[=b1]
  24. //b 开头提取整数,到b1
  25. //还是3

  26. ENVI-long  &&PX=%b1%:4
  27. //b1 保存到偏移4的4字节
  28. //3


  29. //DBG
  30. ENVI?int640 &&PX=&&x:0
  31.   MESS. %&error%<%&x%>[=PX] new val 64 --2
  32. //0<0x0000003300000041>[=PX] new val 64 --2
复制代码





点评

这样为啥不行,还得中间得来个&&a1中转?  详情 回复 发表于 2019-11-28 17:25
谢谢,原来是应该用ENVI-才对呀  详情 回复 发表于 2019-11-28 13:11
回复

使用道具 举报

14545#
 楼主| 发表于 2019-11-28 12:12:03 | 只看该作者
本帖最后由 mdyblog 于 2019-11-28 22:04 编辑
hhh333 发表于 2019-11-28 08:45
那哪么弄呢,这个PINT真有点麻烦

猫捉老鼠 的 游戏。

针对 MS-WIn 做了一个PINT设计。



:LOOP
delay  ms_delay
MS 又加了限制。

再针对新 MS-WIn 做了一个PINT设计。
goto :LOOP

=====================
现在具体什么问题?


点评

tips好像还是可以用。pint真的是不能用。  详情 回复 发表于 2019-11-28 18:14
在1903系统中PINT不成功  详情 回复 发表于 2019-11-28 15:26
不仅仅是PINT,连TIPS都无效了  详情 回复 发表于 2019-11-28 13:59
现在PINT在新win10内核PE里都无效了  详情 回复 发表于 2019-11-28 13:11
回复

使用道具 举报

14546#
发表于 2019-11-28 13:11:05 | 只看该作者
mdyblog 发表于 2019-11-28 12:08
那么下面这句是错误的ENVI-make &&PX=&a@0;$4
  MESS. %&error%[=PX]
// 用 & ...

谢谢,原来是应该用ENVI-才对呀

点评

还得中间得来个&&a1中转? --------------------- a里面是2进制 不可书写的数。 需要 先 读出来。 2进制, 内存拷贝就行了。 2行搞定: //  详情 回复 发表于 2019-11-28 22:09
回复

使用道具 举报

14547#
发表于 2019-11-28 13:11:29 | 只看该作者
mdyblog 发表于 2019-11-28 12:12
猫捉老鼠 的 游戏。

针对 MS-WIn 做了一个PINT设计。

现在PINT在新win10内核PE里都无效了
回复

使用道具 举报

14548#
发表于 2019-11-28 13:59:35 | 只看该作者
mdyblog 发表于 2019-11-28 12:12
猫捉老鼠 的 游戏。

针对 MS-WIn 做了一个PINT设计。

不仅仅是PINT,连TIPS都无效了
回复

使用道具 举报

14549#
发表于 2019-11-28 15:26:35 | 只看该作者
mdyblog 发表于 2019-11-28 12:12
猫捉老鼠 的 游戏。

针对 MS-WIn 做了一个PINT设计。

在1903系统中PINT不成功

点评

那我下个 1903 试试。  详情 回复 发表于 2019-11-29 01:12
回复

使用道具 举报

14550#
发表于 2019-11-28 17:25:19 | 只看该作者
mdyblog 发表于 2019-11-28 12:08
那么下面这句是错误的ENVI-make &&PX=&a@0;$4
  MESS. %&error%[=PX]
// 用 & ...
  1. ENVI^ ENVIMODE=1
  2. ENVI-int &&a=0x41
  3. ENVI$ &&PX=*4 0
  4. ENVI-long  &&PX=%&&a%:0
  5. ENVI?int640 &&PX=&&x:0
  6. MESS. %&error%<%&x%>[=PX] new val --1
复制代码
这样为啥不行,还得中间得来个&&a1中转?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-3-12 13:01

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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