我想将CreatProcess拦截并进行分析,绿豆的那个如何获得其中的参数?
解决方案 »
- vb中怎么使用api或者其它办法控制窗体打开
- vb 串口通信问题
- 关于在vb中将aqlserver数据倒入excel的问题,使用QueryTables
- 如何用独占方式打开一个文件
- vb 鼠标在窗体边缘调整大小时显示自定义的ani动画图标
- 关于VB运行库的问题
- 如何用VBScript 来做一个显示进程上传和下载速度的工具?
- VB6中使用保存功能将在DataGrid中的数据保存
- 关于Excel 操作 打开WorkSheet 关闭的问题
- 急!!!!快快进来!
- form窗体中设置了背景图片,想在又想去掉,怎么办?郁闷,用VB这么久,竟然还不知道!
- 有什么方法可以使后台程序弹出的inputbox对话框到最前台,并获得焦点?
46 02 00 00 00 00 00 00
10 04 00 04 7C E1 07 00
FC D6 07 00 B8 7C 0E 00
DA D6 07 00 00 00 00 00
00 00 00 00 54 66 0E 00
BC 43 0E 00 00 00 00 00
00 00 00 00 00 00 00 00
10 04 00 04 00 00 00 00
B4 41 0E 00 B8 7C 0E 00
04 7D 0E 00 04 7D 0E 00
68 31 0E 00 00 00 00 00
36 02 16 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 BC 43 0E 00
04 7D 0E 00 B4 41 0E 00
54 66 0E 00 00 00 00 00参数堆栈情况:
000E6654 000E43BC 00000000 00000000
00000000 04000410 00000000 000E41B4
000E7CB8 000E7D04 000E7D04 000E3168
00000000 00160236 00000000 00000000EAX值:
00000000ECX值:
00000000EDX值:
0007D6DAEBX值:
000E7CB8ESP值:
0007D6FCEBP值:
0007E17CESI值:
04000410EDI值:
00000000EFLAGS值:
00000246函数返回地址:
7CA56748堆栈情况:
46 02 00 00 00 00 00 00
10 04 00 04 F8 D6 07 00
C4 D6 07 00 B8 7C 0E 00
DA D6 07 00 00 00 00 00
00 00 00 00 00 00 00 00
54 66 0E 00 BC 43 0E 00
00 00 00 00 00 00 00 00
00 00 00 00 10 04 00 04
00 00 00 00 B4 41 0E 00
B8 7C 0E 00 04 7D 0E 00
00 00 00 00 7C E1 07 00
E7 00 C8 00 54 66 0E 00
BC 43 0E 00 00 00 00 00
00 00 00 00 00 00 00 00
10 04 00 04 00 00 00 00
B4 41 0E 00 B8 7C 0E 00参数堆栈情况:
00000000 000E6654 000E43BC 00000000
00000000 00000000 04000410 00000000
000E41B4 000E7CB8 000E7D04 00000000
0007E17C 00C800E7 000E6654 000E43BCEAX值:
00000000ECX值:
00000000EDX值:
0007D6DAEBX值:
000E7CB8ESP值:
0007D6C4EBP值:
0007D6F8ESI值:
04000410EDI值:
00000000EFLAGS值:
00000246函数返回地址:
7C8024A0堆栈情况:
46 02 00 00 00 00 00 00
4A 00 00 00 28 D0 07 00
F4 CF 07 00 58 D0 07 00
C2 D0 07 00 39 4A 00 00
00 00 00 00 00 00 00 00
00 00 00 00 58 D0 07 00
00 00 00 00 00 00 00 00
01 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
28 D1 07 00 74 D1 07 00
00 00 00 00 38 D3 07 00
0B 67 83 7C 00 00 00 00
58 D0 07 00 00 00 00 00
00 00 00 00 01 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 28 D1 07 00参数堆栈情况:
00000000 00000000 0007D058 00000000
00000000 00000001 00000000 00000000
00000000 0007D128 0007D174 00000000
0007D338 7C83670B 00000000 0007D058EAX值:
00000000ECX值:
00004A39EDX值:
0007D0C2EBX值:
0007D058ESP值:
0007CFF4EBP值:
0007D028ESI值:
0000004AEDI值:
00000000EFLAGS值:
00000246函数返回地址:
7C8024A0
...
m_oApiHooker.GetArgumentByName(4)'获取第2个参数
m_oApiHooker.GetArgumentByName(lVal,1)'获取第1个参数
...
m_oApiHooker.GetArgumentByName(lVal,4)'获取第2个参数lVal就是获得的参数
'获取第1个参数
'm_oApiHooker.GetArgumentByName(lVal,4)'获取第2个参数'lVal就是获得的参数
.GetArgumentByName slVal, 1
Me.Text2.Text = lVal编译的时候提示参数类型不符
Dim lVal As Long
参数堆栈情况:
000E6654 000E43BC 00000000 00000000
00000000 04000410 00000000 000E41B4
000E7CB8 000E7D04 000E7D04 000E3168
00000000 00160236 00000000 00000000
其中代表了参数地址
1 2 3 4
5 6 ……
你去读被你HOOK的那个程序对应的地址即可,例如要参数1,就读000E6654,参数2就读000E43BC长度就得看你参数的类型了,嘿嘿我是这么用来着。。比较笨+比较懒+原程序就很好,所以一直没修改豆豆的作品
读000E6654 处4字节,然后去访问这4字节里的地址应该是因为写了几个游戏修改器,所以手头有直接读内存地址的程序和现成代码。。LZ如果不嫌弃可以留个MAIL。
谢谢各位