读书人

涉及到堆栈地址不知道怎么写这个cal

发布时间: 2013-01-04 10:04:13 作者: rapoo

涉及到堆栈地址,不知道如何写这个call,请教一下,非常感谢!
涉及到堆栈地址,不知道怎么写这个call,请问一上,非常感谢
各位大侠好!
附件是我找到的网游call截图,这是一个丢弃物品的call。
其中:
第一行的 04277288 内存段,进一步读出来的参数是:
1D59801A 代表 物品编号
0016F74D 代表 物品ID
00000002 代表 物品数量

因为此前没有遇过这样复杂的call。
所以在此想请教下,我该如何写出这个call来?多谢各位大大指导!
[解决办法]
不是很明白lz的问题?是不知道call的参数? or 其它?

按照lz的意思,04277288 内存段开始就是字函数的入口参数?如果是的话,分析子函数的每条汇编的esp相关的代码
[解决办法]
lz没有给出寄存器上下文,反汇编代码与 04277288 对照不起来
[解决办法]
先把做一个struct,然后取其地址,最后把地址传给call
[解决办法]
第一行的 04277288 内存段,进一步读出来的参数是:
1D59801A 代表 物品编号
0016F74D 代表 物品ID
00000002 代表 物品数量
这部分定义成结构体,然后对成员变量赋值后,传地址给函数 它是89d0f0的第一个参数,也就是call上面的那个push edx

call 89d0f0确定一下是需要几个参数,应该是两个参数,因为push了两次,具体是不是,要到89d0f0中看一下,确定一下push ecx是什么值。

lea ecx, dword ptr ds:[eax+0x19d8]应该是this指针。

读书人网 >汇编语言

热点推荐