waiting 发表于 2007-4-22 11:27:51

假如存在这样的结构:
1\a.inf
1\b.inf
1\a.sys
1\2\b.inf
1\2\b.sys
1\3\c.inf
1\3\c.sys
如果发现a.inf匹配,那 2、3目录如何处理呢?

waiting 发表于 2007-4-22 11:32:48

另外,现在INF文件名不用特殊处理(加_)了吧?

lxl1638 发表于 2007-4-22 12:00:43

用XCAB.EXE压缩。

waiting 发表于 2007-4-22 12:14:02

这个XCAB 只是 编辑INF内部条目(注销copyfile行)而不改名吧?

[ 本帖最后由 waiting 于 2007-4-22 12:16 PM 编辑 ]

lxl1638 发表于 2007-4-22 12:38:09

事先处理一下INF文件,把文件按目录结构放置,再用XCAB整体打包。

waiting 发表于 2007-4-22 12:50:50

把文件按目录结构放置
请问这个是不是要求这样: 文件都放在“不包括子目录”的目录中? 也就是说如果当前目录放有驱动文件那么就不应该再包含子目录了?

对于XCAB那个“处理INF”选项的功能不十分清楚。

多谢。

waiting 发表于 2007-4-22 13:07:33

把文件按目录结构放置
请问这个是不是要求这样: 文件都放在“不包括子目录”的目录中? 也就是说如果当前目录放有驱动文件那么就不应该再包含子目录了?

对于XCAB那个“处理INF”选项的功能不十分清楚。

多谢。

sdxshk 发表于 2007-4-22 18:57:46

下来看看

非常非常感兴趣,下来看看

wanghh 发表于 2007-4-22 20:56:54

最后,用十六进制软件如WinHex打开PECMD.EXE,搜索“E8FBC0FFFF”替换为“9090909090”即好。

dongqiw 发表于 2007-4-22 21:08:04

虽然看不太懂,但还是顶一下.....
:victory:

wanghh 发表于 2007-4-22 21:39:06

我是这样分析的,不知老大认为正确否?原程序用来显示左上角字符串的子程序如下:

00405B1B /$ 55                push    ebp
00405B1C |. 8D6C24 88         lea   ebp, dword ptr
00405B20 |. 81EC 4C030000   sub   esp, 34C
00405B26 |. A1 04304100       mov   eax, dword ptr
..........
00405BE8 |. 33C0            xor   eax, eax
00405BEA |> 66:8B0C85 1826400>/mov   cx, word ptr
00405BF2 |. 66:03C8         |add   cx, ax
00405BF5 |. 66:41             |inc   cx
00405BF7 |. 66:894C45 D4      |mov   word ptr , cx
00405BFC |. 40                |inc   eax
00405BFD |. 83F8 28         |cmp   eax, 28
00405C00 |.^7C E8             \jl      short 00405BEA

上面的内存单元内容如下:
004026181F 00 00 00 2B 00 00 00 1D 00 00 00 53 00 00 00...+......S...
0040262864 00 00 00 68 00 00 00 49 00 00 00 3D 00 00 00d...h...I...=...
0040263817 00 00 00 39 00 00 00 64 00 00 00 61 00 00 00...9...d...a...
0040264860 00 00 00 53 00 00 00 5F 00 00 00 54 00 00 00`...S..._...T...
0040265854 00 00 00 60 00 00 00 0D 00 00 00 14 00 00 00T...`..........
0040266838 00 00 00 59 00 00 00 4D 00 00 00 51 00 00 008...Y...M...Q...
004026784D 00 00 00 4F 00 00 00 4A 00 00 00 48 00 00 00M...O...J...H...
0040268803 00 00 00 24 00 00 00 5A 00 00 00 00 00 00 00...$...Z.......
004026982B 00 00 00 56 00 00 00 49 00 00 00 0D 00 00 00+...V...I.......
004026A811 00 00 00 0D 00 00 00 11 00 00 00 01 00 00 00.............
以上内存单元内容加上其位置值就是真实内容。譬如=1F,其位置=1,1F+1=20,
就是空格字符;又如=53,位置=4,53+4=57,就是大写W字符;依此类推,最后结果
存在堆栈内存中。
    = - Winpe Commander (Modified By Lxl1638)

00405C02 |. 33C0            xor   eax, eax
00405C04 |> 66:8B0C85 B826400>/mov   cx, word ptr
00405C0C |. 66:03C8         |add   cx, ax
00405C0F |. 66:41             |inc   cx
00405C11 |. 66:898C45 34FFFFF>|mov   word ptr , cx
00405C19 |. 40                |inc   eax
00405C1A |. 83F8 0F         |cmp   eax, 0F
00405C1D |.^7C E5             \jl      short 00405C04

内存单元内容如下:
004026B822 00 00 00 4A 00 00 00 35 00 00 00 50 00 00 00"...J...5...P...
004026C833 00 00 00 4C 00 00 00 2D 00 00 00 28 00 00 003...L...-...(...
004026D827 00 00 00 38 00 00 00 29 00 00 00 2C 00 00 00'...8...)...,...
004026E817 00 00 00 23 00 00 00 25 00 00 00 00 00 00 00...#...%.......
跟前面一样计算方法,最后解密结果为:
    = #L8T8R400B48$14
这就是PECMD的TEXT命令用来显示内容的位置与字体。

00405C1F |. 8D85 34FFFFFF   lea   eax, dword ptr
00405C25 |. 50                push    eax                              ; /<%s>
00405C26 |. 68 9C2B4000       push    00402B9C                         ; |2.7.831.2302
00405C2B |. 8D45 D4         lea   eax, dword ptr           ; |
00405C2E |. 50                push    eax                              ; |<%s>
00405C2F |. 68 B82B4000       push    00402BB8                         ; |PECMD
00405C34 |. 68 C42B4000       push    00402BC4                         ; |%s%s , V%s%s*
00405C39 |. 68 00634100       push    00416300                         ; |s
00405C3E |. FF15 FC124000   call    dword ptr [<&USER32.wsprintfW>]; \wsprintfW

调用API函数wsprintfW来格式化上面字符串,存在单元中,容易看出其结果为:
    PECMD - Winpe Commander (Modified By Lxl1638),V2.7.831.2302#L8T8R400B48$14

00405C44 |. 83C4 18         add   esp, 18
00405C47 |. 393D B8624100   cmp   dword ptr , edi         ;比较是否显示字符串
00405C4D74 4C         je   short 00405C9B;相等不显示,可以改为jmp,亦即74->EB
00405C4F |> 68 00634100       push    00416300                         ; /<%s> = ""
00405C54 |. 8D85 2CFDFFFF   lea   eax, dword ptr          ; |
00405C5A |. 68 7C2B4000       push    00402B7C                         ; |%s
00405C5F |. 50                push    eax                              ; |s
00405C60 |. FF15 FC124000   call    dword ptr [<&USER32.wsprintfW>]; \wsprintfW
00405C66 |. 6A 01             push    1
00405C68 |. E8 2DFEFFFF       call    00405A9A
00405C6D |. 8D85 2CFDFFFF   lea   eax, dword ptr
00405C73 |. 50                push    eax
00405C74 |. C705 2C3D4100 FFF>mov   dword ptr , 0FFFFFF
00405C7E |. E8 38000000       call    00405CBB                        ;调用写字符串子程序
00405C83 |. 83C4 14         add   esp, 14
00405C86 |. 68 D0070000       push    7D0                              ;/Timeout=2000.ms
00405C8B |. FF15 64104000   call    dword ptr [<&KERNEL32.Sleep>]    ;\Sleep
00405C91 |. 6A 00             push    0
00405C93 |. E8 02FEFFFF       call    00405A9A
00405C98 |. 83C4 04         add   esp, 4
00405C9B |> 8B4D 74         mov   ecx, dword ptr
00405C9E |. A1 B8624100       mov   eax, dword ptr
00405CA3 |. 5F                pop   edi
00405CA4 |. 5E                pop   esi

这个子程序只要修改00405C4D这一行,亦即74改为EB就达到不显示字符串目的,不过更好方法还是不去
调用它,毕竟它会占用CPU周期与内存。它是被下面子程序来调用的:

00409A14 |. 53                push    ebx
00409A15 |. E8 4BBFFFFF       call    00405965
00409A1A |. 59                pop   ecx
00409A1B    E8 FBC0FFFF       call    00405B1B               ;这里调用上面,把它改为nop就好
00409A20 |. EB 20             jmp   short 00409A42
00409A22 |> 53                push    ebx

最后,用十六进制软件如WinHex打开PECMD.EXE,搜索“E8FBC0FFFF”替换为“9090909090”即好。

学习了。

wanghh 发表于 2007-4-22 21:39:50

学习了。但做了不成功。

lin290 发表于 2007-4-23 13:09:30

新手積分不夠, 無法分享.謝謝!

10044034 发表于 2007-4-23 18:02:19

kan 看再说哈 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

wanghh 发表于 2007-4-23 22:34:45

这个子程序只要修改00405C4D这一行,亦即74改为EB就达到不显示字符串目的,

这个要用什么软件来改?

czm88088 发表于 2007-4-24 10:56:19

very good!

aaron 发表于 2007-4-24 11:37:48

下来试试!!!!!!!!

aaron 发表于 2007-4-24 11:55:45

强强联合,支持!!!!!

aaron 发表于 2007-4-24 12:00:42

回复 #1 lxl1638 的帖子

怎么不能下啊!!!!!

aaron 发表于 2007-4-24 12:12:02

下载地址怎么找不到??

hbzxght 发表于 2007-4-24 12:31:58

看一下:lol
:lol

aaron 发表于 2007-4-24 12:35:51

回复 #1 lxl1638 的帖子

我都回复了几遍了,还是看不到附件,晕

nm888 发表于 2007-4-24 14:39:26

这个工具好啊,下来试用。施放了。

aaron 发表于 2007-4-24 15:17:14

回复 #1 lxl1638 的帖子

附件: 本附件跟帖回复才可下载或查看???????
回复了也看不到?

lxl1638 发表于 2007-4-24 16:36:14

原帖由 aaron 于 2007-4-24 03:17 PM 发表 http://bbs.wuyou.net/images/common/back.gif
附件: 本附件跟帖回复才可下载或查看???????
回复了也看不到?

你的浏览器有问题?或你的眼睛有问题?

aaron 发表于 2007-4-24 21:37:01

终于知道什么原因了,是人品的问题.

ffinal 发表于 2007-4-25 08:43:15

不知道这个能不能把pe
安装在移动硬盘上

jw1023 发表于 2007-4-25 10:28:50

又有新的啦?太好了,谢谢老大

finest 发表于 2007-4-25 14:19:26

更新以下软件!!!!

netcugo 发表于 2007-4-26 14:13:07

将所有中文字符串(含菜单)做入资源文件,方便使用繁体中文PE的朋友进行语言本地化.....

好想要這個版本來試試
我想要繁体中文PE....
但是我的積分不足.........
页: 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35
查看完整版本: [PECMD X86 & X64 V4.0.2011.0501版] WinPE命令解释程序 & WinPE登录命令。