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

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

   火... [复制链接]
发表于 2013-4-11 08:00:27 | 显示全部楼层
原来那种写法确实不好,破坏规矩,已经改成你给的写法了,那种坏规矩的写法明白了规则小心一点就不会再搞出来了。
回复

使用道具 举报

发表于 2013-4-11 18:13:01 | 显示全部楼层
有个功能:能否实现?
PE进入桌面前, 有个:输入密码的窗口, 输入后,才可以进入桌面.

具体在PECMD.INI里面实现.

请问,有可能实现吗? 如何实现?
回复

使用道具 举报

 楼主| 发表于 2013-4-11 18:35:57 | 显示全部楼层
2012开天辟地 发表于 2013-4-11 18:13
有个功能:能否实现?
PE进入桌面前, 有个:输入密码的窗口, 输入后,才可以进入桌面.

SHEL  命令带密码, 就有密码驶入框。 否则就直接进入。
SHEL  文件名(含路径),密码BASE字符串,重试次数]   

密码由 BASE 命令生成。


SHEL %SystemRoot%\EXPLORER.EXE,l+=,10
密吗为1, 可以输入10次, 超过10次就只有关机了。

评分

参与人数 1无忧币 +5 收起 理由
clonecd + 5 很给力!

查看全部评分

回复

使用道具 举报

发表于 2013-4-11 19:41:46 | 显示全部楼层
谢谢!基本搞定了

只是不用这个密码时,桌面可以自动显示图标

使用后,需要手工刷新一下才行.

是不是SHEL %SystemRoot%\EXPLORER.EXE,l+=,10
出现密码框时,后面的条目仍然在执行?
应该是等待,才对
回复

使用道具 举报

 楼主| 发表于 2013-4-11 23:57:31 | 显示全部楼层
本帖最后由 mdyblog 于 2013-4-12 00:01 编辑
2012开天辟地 发表于 2013-4-11 19:41
谢谢!基本搞定了

只是不用这个密码时,桌面可以自动显示图标


刚刚才能回复。 坛子这么多怪事。
Shel 带密码是是阻塞的。 正确输入密码前不再执行 一条命令。
你可能开了多线程或多进程,这样才有后台在执行。
有自动刷新桌面的命令
※刷新桌面: ENVI @@DeskTopFresh=1 //刷新桌面和我的电脑窗口
※刷新桌面: ENVI @@DeskTopFresh=2 //专业刷新桌面,只刷新桌面
回复

使用道具 举报

 楼主| 发表于 2013-4-12 00:00:21 | 显示全部楼层
clonecd 发表于 2013-4-11 23:31
真晕啊,现在一个帖只能送5分了。
我今天的50分,要送10个帖才行啊,无忧这样显得太小气了点。


呵呵。
是啊。
听说有人少了几万。 有人降级。
我不知道自己原来多少钱,什么级别。
回复

使用道具 举报

 楼主| 发表于 2013-4-12 01:23:51 | 显示全部楼层
本帖最后由 mdyblog 于 2013-4-12 01:50 编辑
clonecd 发表于 2013-4-12 00:03
我一级上将被将为大校后来又平反了,当时可是少了3万分啊。

现在在线时间也不再累计了。


已 修正。 (上次修正什么时改的吧。稳定版没事)

感觉 和老版本,没什么进步的变化。
反倒 引用式回复 多一次点击, 还要等一会儿。 否则 写的东西, 被迟来的刷新 傻妹了。

以前有 回复 和引用的区分,现在没了。
以前 引用式回复  时, 引用的内容 可以适当增减, 现在好像是死的。
以前 可以 增加 引用段,现在好像没了
回复

使用道具 举报

发表于 2013-4-12 06:26:44 | 显示全部楼层
如果 EXEC 要从磁盘文件加载脚本新开一个进程,命令应该怎么写?

现在是用这样写的:

EXEC %&MyName% LOAD C:\123 xxx xxx

有 --clone 的写法吗?
回复

使用道具 举报

发表于 2013-4-12 07:45:00 | 显示全部楼层
本帖最后由 2010qaqz111 于 2013-4-12 08:14 编辑

REGI 命令的一些问题:


要清空某个项应该怎么写?
REGI REGI HKLM\SYSTEM\123\!
这样连项本身都删除了,如果只要删除该项下所有的子项怎么写?


还有建立一个未设置默认值的空项应该怎么写?
REGI HKLM\SYSTEM\123\=
这样只有 123 存在才可以清除默认值,加上内容的话就变成设置默认值了。


设置二进制数据值的时候,@后面如果要用十六进制必须加0x前缀并且用空格分隔每一字节?
REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33
遇到上千字节的数据应该如何换行?
REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33
                        \ 0x99 0x13 0x62 0x74
                        \ 0x99 0x14 0x34 0x94
                        \ 0x99 0x15 0x52 0x37
这样的命令执行后注册表里的数据不对,长度77字节,除了第一行4个字节以外后面的全是00,而且第一行最后一个字节写入的数据也不正确。
回复

使用道具 举报

 楼主| 发表于 2013-4-12 09:54:23 | 显示全部楼层
2010qaqz111 发表于 2013-4-12 06:26
如果 EXEC 要从磁盘文件加载脚本新开一个进程,命令应该怎么写?

现在是用这样写的:

没必要 --clone
用 --clone 时,是因为没这个不能完成相应工作。
回复

使用道具 举报

 楼主| 发表于 2013-4-12 10:04:46 | 显示全部楼层
本帖最后由 mdyblog 于 2013-4-12 10:36 编辑

2010qaqz111 发表于 2013-4-12 07:45
REGI 命令的一些问题:
  1. 还有建立一个未设置默认值的空项应该怎么写?
  2. REGI HKLM\SYSTEM\123\=
  3. 这样只有 123 存在才可以清除默认值,加上内容的话就变成设置默认值了。
复制代码
是要一个全新的 、 没有任何设定 REGI REGI HKLM\SYSTEM\123\ 吗?
REGI REGI HKLM\SYSTEM\123\dummy=""
REGI REGI HKLM\SYSTEM\123\dummy=
  1. REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33
  2.                         \ 0x99 0x13 0x62 0x74
  3.                         \ 0x99 0x14 0x34 0x94
  4.                         \ 0x99 0x15 0x52 0x37
  5. 这样的命令执行后注册表里的数据不对,长度77字节,除了第一行4个字节以外后面的全是00,而且第一行最后一个字节写入的数据也不正确。
复制代码
REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33
       \  0x99 0x13 0x62 0x74
       \  0x99 0x14 0x34 0x94
       \  0x99 0x15 0x52 0x37
\ 后面多加一个空格。 第一个空格(如果存在)当作排版空格, 免得没有空格时和后面的内容 粘在一起。
大家可以发表意见,这样的分格好不好,不好我就把这个排版空格 删掉。

HELP 里有。
┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃    │命令│'并行符'                                                                                    ┃
┃    ├──┼──────────────────────────────────────────────┨
┃ 并 │格式│ \ 命令序列                                                                                 ┃
┃ 行 │    │ 一行第一个非空字符为 \                                                                     ┃
┃ 符 ├──┼──────────────────────────────────────────────┨
┃ \  │功能│并入上一行,免得一行写得太长                                                                ┃
┃    ├──┼──────────────────────────────────────────────┨
┃    │备注│\ 及以前空字符,后面的一个空字符(如果有),均丢弃                                            ┃
┣━━┷━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫

回复

使用道具 举报

发表于 2013-4-12 10:41:30 | 显示全部楼层
第一二个问题其实是一个问题,先是想要删除某项下面的所有其他键和项,结果只查到删除整个项,于是就想先删掉整个项建一个空的,但是又没找到建空项的写法。
这样的话要删掉某项下所有项就得先删掉整个项,建一个有默认值或者其他键的项,然后再删除默认值或者这个dummy键,这就要3步才能完成了,虽然也可以做到,但是感觉有点不给力,调用系统命令的话只要一行就搞定了:
EXEC =!REG delete REGI REGI HKLM\SYSTEM\123 /va /f
但是相邻的其他注册表操作都用 REGI 命令的情况下突然夹进一条 EXEC REG 感觉不大协调而已。

用 @ 导入二进制数据的时候,感觉用这个命令很多时候是会直接从注册表导出文件来转换成 REGI 命令,@的不便之处有2个,一个是@后面的十六进制必须加 0x 前缀(可否改成 @后加一个x 即 @x 之后就识别没有0x前缀的连续十六进制值),一个是不能换行,再多数据都得挤在一行里面,遇到数据量到多不少的就有点尴尬了,而且现在的换行试了很多次,怎么写导入的数据都不对。
\ 的格式还好吧,\后面的空格个人认为是有必要的,免得和\n这样的转义搞混(虽然 pecmd 貌似没有 \n 可以写在命令开头的用法)

另外,MSTR 和 LPOS** 及 LPOS*** 的 -delims:参数不识别转义吗? -delims:\n 这样的写法貌似无效。
回复

使用道具 举报

发表于 2013-4-12 12:19:23 | 显示全部楼层
410-01版的MSTR貌似又出问题了,MSTR &&DRV=<8> 1  7  1  1073774080  41878638080  2097215  42952412160  C: 返回的是空串
回复

使用道具 举报

 楼主| 发表于 2013-4-12 16:08:22 | 显示全部楼层
2010qaqz111 发表于 2013-4-12 12:19
410-01版的MSTR貌似又出问题了,MSTR &&DRV= 1  7  1  1073774080  41878638080  2097215  42952412160  C: ...

PECMD2012.1.77.1-130410-02.多窗口线程孵化版_win32_64.sfx.zip:

1> REGI    **16   支持16进制数,不必0x前缀 。 (@或#均适用)

2> REGI  **0  KEYPATH\!     //清除键,自己还留着

3> REGI  **0  KEYPATH\=     //建立一空键

4》 MSTR 和 LPOS** 及 LPOS*** 的 -delims:参数支持转义 \n \r \t \v \f \b

5> MSTR &&DRV=<8>...             MSTR &&DRV=<-1> ...
回复

使用道具 举报

发表于 2013-4-12 17:55:56 | 显示全部楼层
本帖最后由 2010qaqz111 于 2013-4-12 18:05 编辑
mdyblog 发表于 2013-4-12 16:08
PECMD2012.1.77.1-130410-02.多窗口线程孵化版_win32_64.sfx.zip:

1> REGI    **16   支持16进制数,不 ...


谢谢!16进制方便很多了!

REGI **16 HKLM\SYSTEM\123\912=@ 12 31 20
                              \ 55 56 77
                              \ 78 99 99
这种写法生成的键值仍然还有问题,红颜色的两个字节掉了。



对了还有 REGI **0 的说明,在注册表里看到像文件夹一样的,M$的官方名称叫做“项”,非文件夹图标的叫做“值名称”,但是习惯上称为“键”,数据叫做“值”。

说明信息中的:
┃    │    │**16  配合@#数据为16进制。**0配合!清空该值;配合=为建立空                               ┃

建议改为:
┃    │    │**16  配合@#数据为16进制。**0配合!清空该项下的键(不清除默认值);配合=为建立空                               ┃
回复

使用道具 举报

 楼主| 发表于 2013-4-12 18:14:21 | 显示全部楼层
2010qaqz111 发表于 2013-4-12 17:55
谢谢!16进制方便很多了!

REGI **16 HKLM\SYSTEM\123\912=@ 12 31 20
  1. <FONT face=宋体>REGI **16 HKLM\SYSTEM\123\912=@ 12 31 20
  2.                               \ 55 56 77
  3.                               \ 78 99 99
  4. 这种写法生成的键值仍然还有问题,红颜色的两个字节掉了。</FONT>
复制代码
\ 后面至少2个空格,一个是排版空格, 一个数据间空格。
REGI **16 HKLM\SYSTEM\123\912=@ 12 31 20
                             \        55 56 77
                             \        78 99 99



回复

使用道具 举报

发表于 2013-4-12 19:02:06 | 显示全部楼层
2个空格正常了,看来是换行直接被忽略掉了,这回没有问题了,谢谢!
回复

使用道具 举报

发表于 2013-4-12 19:14:01 | 显示全部楼层
mdyblog, you can pack PECMD2012 with .RAR or .7z.
I use Windows ENG UnPack Zip is Error FONT (Windows CHINESE UnPack, use WINRAR PACK is OK)
回复

使用道具 举报

 楼主| 发表于 2013-4-12 19:19:35 | 显示全部楼层
本帖最后由 mdyblog 于 2013-4-12 19:46 编辑
2010qaqz111 发表于 2013-4-12 17:55
谢谢!16进制方便很多了!

REGI **16 HKLM\SYSTEM\123\912=@ 12 31 20


**0 你需要什么言的功能?
目前 **0!:
  删除其下面的 子项和值。不清除  自己的默认数据。

而REG  delete /va  值删除 其下的值,并清除  自己的默认数据; 但 不删除其下的子项。

干脆全都删除:值, 子项, 默认值
回复

使用道具 举报

发表于 2013-4-12 19:22:03 | 显示全部楼层
磁盘扇区的十六进制也改成这样0x55AAFFDD这样的吧。原来的那个太费眼,也不好写。
回复

使用道具 举报

 楼主| 发表于 2013-4-12 19:42:41 | 显示全部楼层
本帖最后由 mdyblog 于 2013-4-12 19:43 编辑
2011Tduy09 发表于 2013-4-12 19:14
mdyblog, you can pack PECMD2012 with .RAR or .7z.
I use Windows ENG UnPack Zip is Error FONT (Windo ...


后缀改为RAR, 用WINRAR 解开即可。
不改后缀,先运行WINRAR, 再打开 该文件包。 也可。
回复

使用道具 举报

 楼主| 发表于 2013-4-12 19:47:15 | 显示全部楼层
freesoft00 发表于 2013-4-12 19:22
磁盘扇区的十六进制也改成这样0x55AAFFDD这样的吧。原来的那个太费眼,也不好写。

????说什么啊? 没没明白。
回复

使用道具 举报

发表于 2013-4-12 20:28:23 | 显示全部楼层
2010qaqz111 发表于 2013-4-12 07:45
REGI 命令的一些问题:

这样写也是可以的REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33 0x99 0x13 0x62 0x74 0x99 0x14 0x34 0x94 0x99 0x15 0x52 0x37
回复

使用道具 举报

发表于 2013-4-12 20:32:52 | 显示全部楼层
真不明白你们为什么把十六进制注册表的手写写得那么复杂
回复

使用道具 举报

 楼主| 发表于 2013-4-12 20:38:48 | 显示全部楼层
2011hwo1 发表于 2013-4-12 20:28
这样写也是可以的REGI HKLM\SYSTEM\123\A1=@ 0x99 0x12 0x74 0x33 0x99 0x13 0x62 0x74 0x99 0x14 0x34 0 ...

可以的。 原有的写法都支持。
回复

使用道具 举报

 楼主| 发表于 2013-4-12 20:39:31 | 显示全部楼层
2011hwo1 发表于 2013-4-12 20:32
真不明白你们为什么把十六进制注册表的手写写得那么复杂

呵呵。 是啊! 我也纳闷。
回复

使用道具 举报

发表于 2013-4-12 20:40:03 | 显示全部楼层
十六进制注册表的数据一般不会手写吧,都是reg转来的,只是以前要加0x前缀经常整得很多编辑器一行都显示不完要强制换行。
回复

使用道具 举报

发表于 2013-4-12 20:43:57 | 显示全部楼层
本帖最后由 2010qaqz111 于 2013-4-12 21:06 编辑
mdyblog 发表于 2013-4-12 19:19
**0 你需要什么言的功能?
目前 **0!:
  删除其下面的 子项和值。不清除  自己的默认数据。


要不加个掩码开关吧:
REGI **0:dev XXXX\XXXX\!

d表示默认值(default)
e表示项(entry)
v表示值键(value key)

有哪个删哪个,缺省跟 reg delete /va 一致,或者缺省三种全清除。掩码不一定用dev,用123或者特殊的字符也行。
回复

使用道具 举报

 楼主| 发表于 2013-4-12 21:19:04 | 显示全部楼层
本帖最后由 mdyblog 于 2013-4-12 21:22 编辑
2010qaqz111 发表于 2013-4-12 20:43
要不加个掩码开关吧:
REGI **0:dev XXXX\XXXX\!


已改。
可以分成子项**0:数字N, 1清默认值 2删所有值 4删所有子项。可以多个**0:N,数字可合并(如5)。

**0:1   清默认值
**0:2   删所有值
**0:4   删所有子项
**0      删除所有  ( **0:7也是)

可以 regi   **0:1   **0:4   ...
可以 regi   **0:5     ...
回复

使用道具 举报

发表于 2013-4-12 22:39:56 | 显示全部楼层
本帖最后由 2010qaqz111 于 2013-4-12 22:50 编辑

LOGS 输出是命令运行完之后才输出到日志的吧,没有文件名行号函数名辅助定位看起来实在太吃力了,尤其是嵌套的CALL和FIND IFEX的调用,看到好多行之后才发现进了 IFEX FIND 的某个分支或者进了某个 CALL 或者 LOAD,又返回去看分支条件。。。
多线程CALL的脚本不知道哪里有问题,时行时不行,想看LOG找问题在哪,可看起来太吃力了,能否考虑把LOG输出加上文件名、行号、当前函数名来做辅助定位?

另外 PECMD 在解释脚本的时候应该还维护有一个变量层级的状态量,进入一个{}或者CALL一个函数或者LOAD一个文件都会有相应变化,而且这个状态量应该是和变量生存期有关,这个状态量能否也输出到LOG?用来判断是否进入代码块和变量有效范围。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-11 04:31

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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