无忧启动论坛

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

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

    [复制链接]
9031#
 楼主| 发表于 2015-2-7 16:27:49 | 只看该作者
2012yws@ 发表于 2015-2-7 15:19
原来控件查询已经有这个功能,谢谢楼主
不过,对于for和dir的问题,我对比了cmd的dir和for,发现用DOS命令 ...

这里给个优化的。
从dir.txt读取。
87.6万字符
1.6万行
很快:加载0.02秒, 显示1.2秒。


程序和数据: BigTabl1.7z (71.38 KB, 下载次数: 6)
回复

使用道具 举报

9032#
 楼主| 发表于 2015-2-7 16:30:10 | 只看该作者
本帖最后由 mdyblog 于 2015-2-7 16:34 编辑
2012yws@ 发表于 2015-2-7 16:27
列表文件:
和PECMD的DIR/FOR常用参数列出的模式一样
至于什么印度教,佛教什么的,我和它们没有关系.我只 ...


也不慢的: 加载0.239秒, 显示 6.2秒。752万字符,  7.8万行。
回复

使用道具 举报

9033#
 楼主| 发表于 2015-2-7 16:36:26 | 只看该作者
2012yws@ 发表于 2015-2-7 15:19
原来控件查询已经有这个功能,谢谢楼主
不过,对于for和dir的问题,我对比了cmd的dir和for,发现用DOS命令 ...

直接 DIR命令捕捉也不慢。


程序: BigTabl2.zip (591 Bytes, 下载次数: 4)

点评

确实如楼主一样,而且楼主的代码写的实在很优美,也极其高效.其实我是半点吐槽的意思也没有的,我确实对命令还不是很了解.但我是很欣赏楼主的,因为你写的这个命令器已经是非常非常的棒了. 只是,在我个人写这个文件比  详情 回复 发表于 2015-2-7 20:55
回复

使用道具 举报

9034#
发表于 2015-2-7 18:30:31 | 只看该作者
mdyblog 发表于 2015-2-7 14:19
HFS 的苹果的吧。

那可能苹果的驱动做了“手脚”, 自动将其系统的 AF “转译”  07,  系统认为其 ...

如果确实是苹果在驱动上做了手脚,那如果我卸载苹果的驱动或者直接在PE里应该显示正常的吧,我测试看看。
回复

使用道具 举报

9035#
发表于 2015-2-7 18:39:53 | 只看该作者
本帖最后由 ling3882688 于 2015-2-7 18:46 编辑
mdyblog 发表于 2015-2-7 14:19
HFS 的苹果的吧。

那可能苹果的驱动做了“手脚”, 自动将其系统的 AF “转译”  07,  系统认为其 ...

PE里不加载苹果驱动的情况下正常,当然加载驱动后也正常,因为加载的驱动和正常系统下完整的驱动还是有区别的,所以M大分析的应该是极有可能的。那么问题来了,如何排除这种干扰,获取那个不受驱动影响的分区类型呢?

点评

实际的类型: GETF \\.\PhisicalDrive1,0x1C2#1,&&tp1 GETF \\.\PhisicalDrive1,0x1D2#1,&&tp2 GETF \\.\PhisicalDrive1,0x1E2#1,&&tp3 GETF \\.\PhisicalDrive1,0x1F2#1,&&tp4 MESS. %tp1% %tp2% %tp3%  详情 回复 发表于 2015-2-7 19:42
回复

使用道具 举报

9036#
 楼主| 发表于 2015-2-7 19:42:58 | 只看该作者
本帖最后由 mdyblog 于 2015-2-7 20:15 编辑
ling3882688 发表于 2015-2-7 18:39
PE里不加载苹果驱动的情况下正常,当然加载驱动后也正常,因为加载的驱动和正常系统下完整的驱动还是有区 ...


实际的类型:
GETF   \\.\PhysicalDrive1,0x1C2#1,&&tp1
GETF   \\.\PhysicalDrive1,0x1D2#1,&&tp2
GETF   \\.\PhysicalDrive1,0x1E2#1,&&tp3
GETF   \\.\PhysicalDrive1,0x1F2#1,&&tp4
MESS. %tp1% %tp2% %tp3% %tp4%

点评

[attachimg]209057[/attachimg]  详情 回复 发表于 2015-2-7 19:48
回复

使用道具 举报

9037#
发表于 2015-2-7 19:48:57 | 只看该作者
mdyblog 发表于 2015-2-7 19:42
实际的类型:
GETF   \\.\PhisicalDrive1,0x1C2#1,&&tp1
GETF   \\.\PhisicalDrive1,0x1D2#1,&&tp2

点评

o , shi GETF \\.\PhysicalDrive1,0x1C2#1,&&tp1 GETF \\.\PhysicalDrive1,0x1D2#1,&&tp2 GETF \\.\PhysicalDrive1,0x1E2#1,&&tp3 GETF \\.\PhysicalDrive1,0x1F2#1,&&tp4 MESS. %tp1% %tp2% %tp3% %tp  详情 回复 发表于 2015-2-7 20:15
回复

使用道具 举报

9038#
 楼主| 发表于 2015-2-7 20:15:32 | 只看该作者

o , shi
GETF   \\.\PhysicalDrive1,0x1C2#1,&&tp1
GETF   \\.\PhysicalDrive1,0x1D2#1,&&tp2
GETF   \\.\PhysicalDrive1,0x1E2#1,&&tp3
GETF   \\.\PhysicalDrive1,0x1F2#1,&&tp4
MESS. %tp1% %tp2% %tp3% %tp4%

点评

[attachimg]209059[/attachimg]  详情 回复 发表于 2015-2-7 20:18
回复

使用道具 举报

9039#
发表于 2015-2-7 20:18:06 | 只看该作者
本帖最后由 ling3882688 于 2015-2-7 20:26 编辑
mdyblog 发表于 2015-2-7 20:15
o , shi
GETF   \\.\PhysicalDrive1,0x1C2#1,&&tp1
GETF   \\.\PhysicalDrive1,0x1D2#1,&&tp2


应该是这样,M大能大体给解释下吗?0x1C2#1,我不确定0#几是AF,所以想通过遍历下所有分区,然后找到这个0xAF的分区号,比如0#2。

GETF \\.\PhysicalDrive0,0x1C2#1,&&tp1
GETF \\.\PhysicalDrive0,0x1D2#1,&&tp2
GETF \\.\PhysicalDrive0,0x1E2#1,&&tp3
GETF \\.\PhysicalDrive0,0x1F2#1,&&tp4
MESS. %tp1% %tp2% %tp3% %tp4%


点评

1: 0x1C2 处是第一分区的类型, 类推。 2: 0x1C6 处4字节是第一分区位置, 0x1CA 处4字节是第一分区长度, 单位均是扇区(s), , 类推。 根据 分区位置 (如需要 还有 分区长度) 比对 , 就能  详情 回复 发表于 2015-2-7 21:09
回复

使用道具 举报

9040#
发表于 2015-2-7 20:55:33 | 只看该作者
mdyblog 发表于 2015-2-7 16:36
直接 DIR命令捕捉也不慢。

        确实如楼主一样,而且楼主的代码写的实在很优美,也极其高效.其实我是半点吐槽的意思也没有的,我确实对命令还不是很了解.但我是很欣赏楼主的,因为你写的这个命令器已经是非常非常的棒了.
只是,在我个人写这个文件比较工具的时候,由于要使用到for/read等文本处理命令,而偏偏就出现了这样的问题,所以就有此感慨.因为即便在视觉呈现中处理出来了,而根源最后还得要回到如何解决可以快速处理文本字串的问题.
我很仔细的研究了楼主的代码,确实非常高明.楼主的优化使得读取速度完全胜任实际使用.
我这里用楼主的脚本,加载的速度和显示速度没有楼主快,显示要25秒左右,估计是我的机器垃圾所致,这不重要了.
      然而,在需要用for和read截取字符串的时候,问题就来了.和之前的问题一样,都是龟速.
          测试1:载入2.4-2.7秒;显示却要25秒左右(不用for与read处理字符串)
          测试1:载入3836秒;显示要25秒左右(用for与read处理字符串)
      但现在知道不是命令器的问题,之前以为是变量和控件的问题,原来是我理解错了,再次向楼主道歉.并非常感谢楼主,从楼主的脚本中,我先从其它思路来试试看,能否加快处理的速度.有问题再向楼主请教.再次谢谢楼主.

点评

这么到的数据量, 不要 用FORX 或 READ 分行处理。 那样效率降低了。 需要拆包,合包。 只能一次READ 或EXEC*, 然后 一次显示出来。 需要先设计好。 很多 一般的算法, 对大数据量 都不适合。 大  详情 回复 发表于 2015-2-7 21:05
回复

使用道具 举报

9041#
 楼主| 发表于 2015-2-7 21:05:05 | 只看该作者
2012yws@ 发表于 2015-2-7 20:55
确实如楼主一样,而且楼主的代码写的实在很优美,也极其高效.其实我是半点吐槽的意思也没有的,我确实对命 ...

这么到的数据量, 不要 用FORX 或 READ 分行处理。
那样效率降低了。 需要拆包,合包。

只能一次READ 或EXEC*, 然后 一次显示出来。





需要先设计好。
很多 一般的算法, 对大数据量 都不适合。  大数据量 有专门的研究和算法。

点评

//好的,谢谢楼主.另外关于编辑器IDE的一些建议,楼主看看是否能够实现. //大纲,会很方便定位到函数段 //实时代码命令与帮助交互(就是将命令器的帮助模式搬到IDE中,并允许自己编辑代码和帮助) //增加输出功能,更方  详情 回复 发表于 2015-2-8 14:38
回复

使用道具 举报

9042#
 楼主| 发表于 2015-2-7 21:09:43 | 只看该作者
本帖最后由 mdyblog 于 2015-2-7 21:15 编辑
ling3882688 发表于 2015-2-7 20:18
应该是这样,M大能大体给解释下吗?0x1C2#1,我不确定0#几是AF,所以想通过遍历下所有分区,然后找到这 ...


1:
0x1C2 处是第一分区的类型,  类推。


2:
0x1C6  处4字节是第一分区位置,  0x1CA  处4字节是第一分区长度, 单位均是扇区(s),    ,  类推。
根据 分区位置 (如需要 还有 分区长度)   比对 , 就能  确定0#几是AF 。

GETF# \\.\PhysicalDrive1,0x1F6#8,&&sn1
SET?long    &sn1=&s1:0
SET?long    &sn1=&n1:4
MESS. 起始=%s1%s  长度=%n1%s

//起始=0xC8A0267s  长度=0x174D8B1s

点评

谢谢M大。  详情 回复 发表于 2015-2-7 21:16
回复

使用道具 举报

9043#
发表于 2015-2-7 21:16:54 | 只看该作者
mdyblog 发表于 2015-2-7 21:09
1:
0x1C2 处是第一分区的类型,  类推。

谢谢M大。
回复

使用道具 举报

9044#
 楼主| 发表于 2015-2-8 08:50:06 | 只看该作者
最新 (-49/50) 支持超大文MESS,很快。

ENVI^ EnviMode=1
ENVI^ ForceLocal=1
SIZE sz=D:\dir.txt

READ D:\dir.txt,**,&&V
MESS. %&V%@共%sz%字符

87万字符的文本,可以瞬间了:

回复

使用道具 举报

9045#
发表于 2015-2-8 14:38:40 | 只看该作者
本帖最后由 2012yws@ 于 2015-2-8 14:41 编辑
mdyblog 发表于 2015-2-7 21:05
这么到的数据量, 不要 用FORX 或 READ 分行处理。
那样效率降低了。 需要拆包,合包。


//好的,谢谢楼主.另外关于编辑器IDE的一些建议,楼主看看是否能够实现.
//大纲,会很方便定位到函数段
//实时代码命令与帮助交互(就是将命令器的帮助模式搬到IDE中,并允许自己编辑代码和帮助)
//增加输出功能,更方便排错
//增加代码片段编辑和插入功能(把快速插入放在IDE界面中),IDE设计就真的完美了.
//增加设计备注编辑功能,直接在该窗口查询记录任何的想法和进度,我的构想是内容可直接保存在设计稿中的一个特定段落,命令不去读即可,或者是本目录下的一个特定文件.这个功能将是其它任何IDE都没有提供的特殊功能.将非常有助于设计代码方案.
//其它如代码提示,主题等功能,可以在以后慢慢有需要才添加,大致如下面的图:

点评

1: 帮助, 在需要的 帮助的词上 即可。 2:快速插入, 菜单中就有。 帮助文本, 快速插入文本都是可以 自己修改的, 参见包中相关文档。  详情 回复 发表于 2015-2-8 16:31
回复

使用道具 举报

9046#
 楼主| 发表于 2015-2-8 16:31:27 | 只看该作者
2012yws@ 发表于 2015-2-8 14:38
//好的,谢谢楼主.另外关于编辑器IDE的一些建议,楼主看看是否能够实现.
//大纲,会很方便定位到函数段
...

1: 帮助, 在需要的 帮助的词上 <F1>即可。

2:快速插入, 菜单中就有。

帮助文本, 快速插入文本都是可以 自己修改的, 参见包中相关文档。
回复

使用道具 举报

9047#
发表于 2015-2-9 08:06:16 | 只看该作者
本帖最后由 chiannet 于 2015-2-9 08:08 编辑

第一步用UltraISO高端隐藏V2 U+方式写入一ISO镜像到U盘,用傲梅分区助手查看磁盘分区如下



第二步,用fbinst写入一个fba到此U盘,用傲梅分区助手查看磁盘分区如下,前面做的U+区不见了,但实质上U+区数据是存在的。
  1. fbinst.exe (hd1) format --extended 50m --force --fat32 --primary 8m --archive xxx.fba
复制代码






请问如何用PECMD修复第一步写入的U+区,得到下图式样的结果?


以下是用BOOTICE备份的各阶段MBR,供老大审定。
各阶段MBR.7z (23.37 KB, 下载次数: 0)

点评

fbinstUp.WCS: ---------------------------- 1)用UltraISO高端隐藏V2 U+方式写入一ISO镜像到U盘 2)PECMD LOAD FbInstUp.WCS 1 format --extended 50m --force --fat32 --primary 8m --archive xxx.fba  详情 回复 发表于 2015-2-9 10:28
88.05.50 支持 UDM高端隐藏和全高端隐藏。  详情 回复 发表于 2015-2-9 10:19
回复

使用道具 举报

9048#
 楼主| 发表于 2015-2-9 10:19:10 | 只看该作者
chiannet 发表于 2015-2-9 08:06
第一步用UltraISO高端隐藏V2 U+方式写入一ISO镜像到U盘,用傲梅分区助手查看磁盘分区如下

88.05.50  支持 UDM高端隐藏和全高端隐藏。
回复

使用道具 举报

9049#
 楼主| 发表于 2015-2-9 10:28:52 | 只看该作者
本帖最后由 mdyblog 于 2015-2-9 10:46 编辑
chiannet 发表于 2015-2-9 08:06
第一步用UltraISO高端隐藏V2 U+方式写入一ISO镜像到U盘,用傲梅分区助手查看磁盘分区如下

FbInstUp.WCS:
  1. //U+ 后 FbInst , 作者 mdyblog@163.com
  2. //FbInstUp.WCS  用法:
  3. //FbInstUp.WCS  磁盘号  fbinst.exe的format命令
  4. //1)用UltraISO高端隐藏V2 U+方式写入一ISO镜像到U盘
  5. //2)PECMD LOAD  FbInstUp.WCS  1 format --extended 50m --force --fat32 --primary 8m --archive xxx.fba
复制代码

FbinstUp.wcs.zip (697 Bytes, 下载次数: 7)
1)用UltraISO高端隐藏V2 U+方式写入一ISO镜像到U盘

2)PECMD LOAD  FbInstUp.WCS  1 format --extended 50m --force --fat32 --primary 8m --archive xxx.fba


要自己重新格式化用户区。


点评

反复测试几次,U+后PECMD LOAD FbInstUp.WCS 1 format --extended 50m --force --fat32 --primary 8m --archive xxx.fba 没发现U+区被恢复,只剩光秃秃的UD+可见数据区。  详情 回复 发表于 2015-2-9 12:53
回复

使用道具 举报

9050#
发表于 2015-2-9 12:53:07 | 只看该作者

反复测试几次,U+后PECMD LOAD  FbInstUp.WCS  1 format --extended 50m --force --fat32 --primary 8m --archive xxx.fba
没发现U+区被恢复,只剩光秃秃的UD+可见数据区。

点评

你的U+不是省都隐藏的吗?  详情 回复 发表于 2015-2-9 13:16
回复

使用道具 举报

9051#
 楼主| 发表于 2015-2-9 13:16:28 | 只看该作者
chiannet 发表于 2015-2-9 12:53
反复测试几次,U+后PECMD LOAD  FbInstUp.WCS  1 format --extended 50m --force --fat32 --primary 8m - ...


你的U+不是深度隐藏的吗?
吧你怎么 U+的贴图上来。

点评

我弄的U+是高端隐藏  详情 回复 发表于 2015-2-9 13:24
回复

使用道具 举报

9052#
发表于 2015-2-9 13:24:54 | 只看该作者
mdyblog 发表于 2015-2-9 13:16
你的U+不是深度隐藏的吗?
吧你怎么 U+的贴图上来。

我弄的U+是高端隐藏

点评

效果: [attachimg]209145[/attachimg]  详情 回复 发表于 2015-2-9 14:48
U+是高端隐藏 那个 高端区 是看不见的。 显示为一段空闲空间。 需要专业软件来显示。  详情 回复 发表于 2015-2-9 13:27
回复

使用道具 举报

9053#
 楼主| 发表于 2015-2-9 13:27:08 | 只看该作者
chiannet 发表于 2015-2-9 13:24
我弄的U+是高端隐藏


U+是高端隐藏
这个。 没考虑。
回复

使用道具 举报

9054#
 楼主| 发表于 2015-2-9 14:48:35 | 只看该作者
chiannet 发表于 2015-2-9 13:24
我弄的U+是高端隐藏

FbinstUp.wcs.zip (878 Bytes, 下载次数: 14)
效果:

点评

初步测试成功!!!! 我将进行更多测试。 您辛苦了!  详情 回复 发表于 2015-2-9 14:56
回复

使用道具 举报

9055#
发表于 2015-2-9 14:56:15 | 只看该作者

初步测试成功!!!!

我将进行更多测试。

您辛苦了!
回复

使用道具 举报

9056#
发表于 2015-2-9 18:07:11 | 只看该作者
解释pecmd.dll是怎么用的,具体调用方法啊什么的,我看我写VC程序能不能用上

就是P大的这个帖子http://bbs.wuyou.net/forum.php?m ... &fromuid=416965
回复

使用道具 举报

9057#
 楼主| 发表于 2015-2-10 12:29:40 | 只看该作者
sunsea 发表于 2015-2-9 18:07
解释pecmd.dll是怎么用的,具体调用方法啊什么的,我看我写VC程序能不能用上

就是P大的这个帖子http://b ...

>>解释pecmd.dll是怎么用的
pecmd.dll  注意用在超级右键中。


加载 pecmd.dll 后, 导出接口main/main_.

有C和pascal 2种接口
LPVOID main(LPWSTR lpCmdLine);  //C调用规范 接口
LPVOID  _stdcall main_(LPWSTR lpCmdLine);  //pascal 调用规范 接口,就是windows API 规范。 VBASIC用这个

参数就是普通的 PECMD命令行宽字符串。
返回是系统错误码,宽度是指针宽度,X86上32位,X64上64位。 可以用 "EXIT=  返回码"来设置.

如 main(L"hello");
main(L"mess 你好@TTT*8000");
INT_PTR ret=(INT_PTR)main(L"TEAM CALC &&v=100+200| EXIT=  &ret");  //返回就是整数 300.
一次多行的话, 可用一对{}括起来, 行间换行符分隔。
main(L"{ \n mess111 \n MESS 2222\n}");



点评

漂亮,mark收藏  发表于 2015-2-10 12:43
回复

使用道具 举报

9058#
发表于 2015-2-17 11:06:42 | 只看该作者
本帖最后由 ling3882688 于 2015-2-17 11:09 编辑

TEXT命令如何居中显示?

点评

目前来说, 只能是 调整L参数来实现。 先实测文字宽度W1 SCRN WS,HS CALC #L=(%WS% - %W1%)/2 TEXT 正在注册组件……#0xFFDDDD L%L%[/backcolor] T720 R300 B768 $20  详情 回复 发表于 2015-2-17 13:01
回复

使用道具 举报

9059#
 楼主| 发表于 2015-2-17 13:01:47 | 只看该作者
ling3882688 发表于 2015-2-17 11:06
TEXT命令如何居中显示?

目前来说, 只能是
调整L参数来实现。
先实测文字宽度W1
SCRN  WS,HS
CALC #L=(%WS% - %W1%)/2

TEXT 正在注册组件……#0xFFDDDD L%L% T720 R300 B768 $20   

点评

SCRN ScrW,ScrH CALC #L=%ScrW%/2 CALC #T=%ScrH%/2 TEXT 正在注册组件……#0xFFDDDD L%L% T%T% R B $20  详情 回复 发表于 2015-2-17 13:35
貌似不行呢。  详情 回复 发表于 2015-2-17 13:27
回复

使用道具 举报

9060#
发表于 2015-2-17 13:27:32 | 只看该作者
mdyblog 发表于 2015-2-17 13:01
目前来说, 只能是
调整L参数来实现。
先实测文字宽度W1

貌似不行呢。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-28 15:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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