首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

涉及到堆栈地址,不知道怎么写这个call,请问一上,非常感谢

2013-01-04 
涉及到堆栈地址,不知道如何写这个call,请教一下,非常感谢!各位大侠好!附件是我找到的网游call截图,这是一

涉及到堆栈地址,不知道如何写这个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指针。

热点排行