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 的命令行会包含
在 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
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>