Num | Command | Expression |
F2=^BP F7=^T F8=^P F9=^G | Accelerator | |
P | Step over | |
T | Step into | |
BP | Set a breakpoint on executeCommand format: BP [offset] BP <arithmetical expression> BP <logistic expriession> Command example: BP 100 BP ip>100; G ip>ax+100 BP ip+1; |
|
BC | Clear bp.Command format: BC [Number] BC * Command example: BC 1 |
|
BL | Display bpx.Command format: BL | |
G | RunCommand format: G [offset] G <arithmetical expression> G <logistic expriession> Command example: G 100 G ip>100; G ip>ax+100 G ip+1; |
|
D | Display memory dataCommand format: D [offset] D <arithmetical expression> Command example: D 100 D IP+1 |
|
. | Display current instruction | |
FI | File Info. | |
ENTRY | Go until entering a entry. | |
DUMP | UNPACK [path] :Chain-dump file when find entry. | |
UNPACK | UNPACK [path] :Chain-dump file when find entry. | |
L | Load a file.(VD) | |
R | Display all registers.(VD) | |
/? | Help. (VD) | |
[file] | debug a file. (VD) | |
[Path] | Auto-Unpack all file under this path. (VD) | |
/u | Unpack file. (VD) | |
/l | Local process debug. (VD) | |
/r | Remot process debug(only PE). (VD) | |
/e | Go until entering a new entry.(VD) |
2007.05
Virtual Debug1.2
Virtual Debug1.1
Num | Command | Expression |
PNEWSEC | Go until entering a new section in PE image | |
MAKEPE | Make a valid PE file from program's memory image. |
增加了两个命令PNEWSEC和MAKEPE,能简单的脱附带的实例Test_Ctrl.exe和Test_Doc.exe,打开输入PNEWSEC,等找到入口输入MAKEPE + 路径即可。
如果有时间的话,会逐步完善程序,不过直到去年年底才抽出点时间继续加了两个命令。
你知道什么应该是虚拟机能做的,什么是做不了的,对虚拟机我想首先认识应该正确。虚拟机只是一种技术,作为计算机科学与技术,我更倾向于科学。
Virtual Debug1.0
Num | Command | Expression |
F8=^TF9=^BPXF10=^PF12=^G | Accelerator | |
. | display current instruction | |
BPX [[seg:]address] or F9 | Set a breakpoint on execute | |
G or F12 | Run | |
P or F10 | Step over | |
PNEWSEC | Go until entering a new section in PE image | |
MAKEPE | Make a valid PE file from program's memory image. | |
T or F8 | Step into |
*注:灰色为目前支持的功能。
程序说明:VDebug是一个虚拟调试器程序。运行过程如下:
-运行VDebug.exe,打开包含的测试文件test.exe,在00409CA6处按F9设断点,按F12运行,直到停止。
-打开菜单Debug->Windows->Memory,右键选择Goto Address,输入00401000,确定后,可以看到upx解码后的数据。
写这个程序的目的是为了学习OS,好多功能还没有添加,例如对中断和API的调用,内存管理的深化,花指令的处理,界面设计等等,所以这个版本会出现很多错误,如果以后有时间我会慢慢修改。
下载地址:http://pan.baidu.com/s/1i39SgHB