一个问题

beginnow 2007-11-02 03:47:02
PLAYERID liPlayerID = lpHero->GetPlayerID();
00D40D24 mov eax,dword ptr [lpHero]
00D40D27 mov edx,dword ptr [eax]
00D40D29 mov esi,esp
00D40D2B mov ecx,dword ptr [lpHero]
00D40D2E mov eax,dword ptr [edx+8Ch]
00D40D34 call eax
00D40D36 cmp esi,esp
00D40D38 call @ILT+46820(__RTC_CheckEsp) (0D0F6E9h)
00D40D3D mov dword ptr [liPlayerID],eax

这是一段代码的汇编,请问00D40D2E mov eax,dword ptr [edx+8Ch] 中的8Ch是如何得来的
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
土豆 2007-12-04
  • 打赏
  • 举报
回复
楼上的,如果是好东西当然值得推广!你那有货吗?如果没有货就不要乱发了,还是讲点公德。
koc104 2007-12-03
  • 打赏
  • 举报
回复
幫個忙, 把www.kingofcoder.com這個網發到你的QQ群, 推廣一下
土豆 2007-12-03
  • 打赏
  • 举报
回复
你看后面一条指令 call eax应该就能明白了,eax里肯定是函数的入口地址,你可以看你下你的类定义,计算一下就能得出为什么是8Ch.
czlyc006 2007-12-02
  • 打赏
  • 举报
回复
同意2楼,dword ptr [edx+8Ch]应该是指向lpHero结构中定义的一个局部变量。
大熊猫侯佩 2007-11-04
  • 打赏
  • 举报
回复
可能是lpHero结构或类的一个偏移
LovelyCboy 2007-11-02
  • 打赏
  • 举报
回复
8ch应该是GetPlayerID的相对VTABLE偏移量吧....

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧