老文章档案 · 2003 年

自动脱壳之Procdump中文说明书

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-06-16 · 作者:Ru Feng 人气: · 出处:嬴政天下整理收藏)

Procdump中文说明书

大家好!早两天放上了提高篇( 10 )后,大家的反应还不错,不过对于一些朋友来说, 要想用好 Procdump1.50 ,可能还有点问题,因为它的 Script 的说明书是英文的,对于英文不是 太好的朋友,这就成为一个很大的问题了。昨晚,在白菜的聊天室内,我和 Ding Boy 等高手一 起聊天, Ding Boy 就建议我把 Procdump1.50 的说明书翻译成中文,方便广大的朋友学习和使用 Procdump1.50 ,本着我不入地狱,谁入地狱的决心,我就着手了翻译工作,由于本人的英文也 不是太好!所以在 Procdump1.50 的 Script 说明书的翻译过程中,难免会有一些错误的地方,同 时我的语文水平也不见得好到那里去,有时英文了解什么意思,中文也不知如何表达,所以也 难免有一些词不达意,还有一些地方,我只能根据意译的方法来完成了,因为如果一字一字的 合并起来,句子的意思可能不知它说什么。花了三个小时的时间,终于完成了,但为了有点记 念意义,就把译文放进了提高篇( 11 )当中了,希望大家喜欢!

读者要求:

你可以阅读和传播本文章,但不能对文章的内容作任何的修改,请尊重作者(译)的劳动。

*********************************

ProcDump32 的 Script 扩展:

*********************************

A) 功能定义:

*************************

1) Look 功能:

这个 Look 功能是在被载入的程序中查找指定的 HEX 字串。它会把找到了的内存地址保存下来以便你可以方便在此内存地址设置断点。

例:

Look OF,85 将用于搜索一个 JNE 或一个长 jump 。你可以通过 BP 命令来设置断点。

2) ADD 功能:

允许你在当前内存地址上加一个变址值(例:出现于 look 命令或 POS 命令之后)。

3) DEC 功能:

猜测;)

4) REPL 功能

这个功能用于在当前内存中修改内码(连续的 HEX )(注:它出现在 look 命令之后)。

例:

REPL 90,90 将会在你当前的内存位置开始连接放入两个 NOP 指令。

5) BP 功能

在当前内存位置设置一个断点。

6) BPX 功能

在指定的位置设置断点。这个位置与程序开始位置有关。

例:

如果程序的开始位置在 RVA 66000h,BPX 2672 就会在 RVA 68672 设置断点。

7) BPF 功能(用标志位设断)

这个功能会检查每一次断点发生时的标志位的值是否为你所设定的值。断点的位置为

当前内存地址。

Unset/Set 的内容

*******************

C * C * 进位标志。

P * P * 奇偶标志。

A * A * 辅助进位标志。

Z * Z * 零标志。

S * S * 正负号标志。

D * D * 方向标志。

O * O * 溢出标志。

你可以单独测试 ONE 旗标。

8) BPC 功能

当经过当前位置的次数达到设定值时发生中断。

例:

BPC 15 ( 在第 21(15h) 次经过当前位置时中断 )

9) BPV 功能

当如果寄存器的值到达了你设定的值时中断。

例:

BPV EAX=5 ( 当特定位置的 EAX=5 时中断 ) 。

10) MOVE 功能

设置当前 EIP 。加一个参数值给当前 EIP 。但请小心使用它。其实它对于程序没有做到 什么,只是当你要跳过一些 CRC 检查时,就要用到它了,它相当于代替一连串的 NOP 指令。

例:

MOVE 14 就会把当前 EIP 变为 EIP+14h 。

11) POS 功能

为所有的功能设置当前内存地址,这个位置与程序开始位置有关。

12) STEP 功能

这个功能是设置一步一步的进行分析。它通常是用于完成跟踪 dump 过程的。

注意:单步模式就意味着每一行代码它都进行测试 -> 慢!!所以设置单步模式一般

都放在最后。

13) OBJR 功能

这个功能是设置以基始内存地址为开始进行扫描。对于 LOOK 命令有影响。

14) BPREG 功能

以通过寄存器的值来设置断点。

15) WALK 功能

执行下一条指令后把控件权交还 ProcDump32 。

16) EIP 功能

设置下一个 EIP 为原来程序的最初进入点。

注意:

在断点之后,下一个 EIP 就是断点地址本身。

17) 建立外部帮助文件

通过特殊的参数创建外部文件。这个你指定的 ini 文件是由一些特殊的参数组成和建立的。

它包括:

. 进程的 Pid 。

. 所有寄存器的值包括 EIP 。

. 当前 EIP 的值

例子:

在 script 中:

...

L5=HELP PDHelp.Exe Helper.ini

...

你的 helper 的命令行会包含 <Path to helper.ini>\"helper.ini" 。

在 helper.ini 中:

[REG]

Dr0=00000000

Dr1=00000000

Dr2=00000000

Dr3=00000000

Dr6=00000000

Dr7=00000000

SegGs=00000000

SegFs=00000FDF

SegEs=00000167

SegDs=00000167

Edi=00000000

Esi=8161D244

Ebx=00000000

Edx=8161D2A4

Ecx=8161D264

Eax=0043E9B4

Ebp=00456000

Eip=00456264

SegCs=0000015F

Flags=00000216

Esp=0068FE34

SegSs=00000167

Pid=FFC1E943

Local=00456264

我想这样做可以比较灵活;)。

注意:

命令行每行不能使用超过 512 个字每来描述 helper 的 EXE 和 INI 文件的路径,这个只是 ProcDump 的内部限制,而对于 WINDOWS API 来说来说就不能超过 256 个字母。

B) 在 script 中 Options 的格式:

*************************************

Options 是通过 OPTL 开始的,并以 DWORD 形式保存的。

OPTL1=

DWORD : 设定 AutoDump 中的延迟时间,以 ms 为单位。

OPTL2=

BYTE : 自动执行 EIP

BYTE : 忽略错误

BYTE : 快速模式 Dump

BYTE : 外部 Predump

OPTL3=

BYTE : 优化 PE

BYTE : 自动计算程式

BYTE : 跟踪 API

BYTE : 自动分层

OPTL4=

BYTE : 未知模式

BYTE :Import 表类型重建

BYTE : 修复 Header

BYTE : 修复 Relocs

OPTL5=

BYTE : 保留

BYTE : 保留

BYTE : 检查 Header

BYTE : 合并代码

为得到更详细资料 ... 查看 ProcDump Options 的解释吧。

C) 如何编写你的加壳软件的定义:

*****************************************************

1) 添加索引段:

*************************

加一个 Pxx 的声明 .... 注意 xx 的值是跟接在最后一个的值。

例如:

增加之前

[INDEX]

P1=Shrinker 3.3

P2=Wwpack32 Beta 9

P3=Wwpack32 1.0

增加之后

[INDEX]

P1=Shrinker 3.3

P2=Wwpack32 Beta 9

P3=Wwpack32 1.0

P4=My Own definition

2) 增加你的定义:

************************

每行的定义都必须事先声明,例如用 Lxx 。

例:

[My own definition]

L1=Look 0F,85,DB,FF,FF

L2=BP

L3=STEP

你可以在定义中多加一点默认 options ,添加 OPTLx 的方法也是这样做,如果你没有指定默认的 options , ProcDump 会使用常规的那些设置。

(出处:嬴政天下整理收藏)

相关文章:

·怎样脱用 Aspack2.12 加的壳(适合初学者)

·EZIP1.0脱壳手记

·脱pecompact1.71加的壳

·PEPack1.0脱壳手记

·手动脱壳的教程(由petite v2.2加壳)

·论 彩票快车白金版v90 的脱壳+爆破

·Aspack的壳

·对PECompact.exe v1.34的手动脱壳

·Petite 脱壳“标准”解决方法

·Petite 2.x 脱壳

相关软件:

·NetConch(网络贝壳) 1.1

·甲壳虫进销存 V3.16 医药版

·甲壳虫医药版 V3.80

·甲壳虫服装鞋帽版 V3.90

·甲壳虫超市版 V3.68

·花生壳(PeanutHull) V2.0 正式版

·甲壳虫XP插件版 2.0.5

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史