看流星社区

 找回密码
 注册账号
查看: 2442|回复: 2

问道的关于push和add的问题

[复制链接]

该用户从未签到

发表于 2012-11-27 09:36:22 | 显示全部楼层 |阅读模式
push一个是4个字节,而在以下的这段技能CALL代码中的004AA11C   |83C4 10         add esp,0x10出现了10,请问10字节还有可能是代表其他什么参数的么?
  1. 004AA0F9   /74 24           je Xasktao.004AA11F
  2. 004AA0FB   |8B0D BC44AE00   mov ecx,dword ptr ds:[0xAE44BC]
  3. 004AA101   |8B11            mov edx,dword ptr ds:[ecx]
  4. 004AA103   |8B82 D8000000   mov eax,dword ptr ds:[edx+0xD8]
  5. 004AA109   |53              push ebx
  6. 004AA10A   |FFD0            call eax
  7. 004AA10C   |50              push eax                                 ; eax=00031B64         [color=Red]这里的参数会变!目前没有去琢磨怎么变的[/color]
  8. 004AA10D   |68 94879500     push asktao.00958794                     ; ASCII "victim_id = %d, skill_no = %d"       [color=Red]这里是技能CALL的引用技能ID,后面的SKILL_NO 不大清楚什么意思,应该是是否使用[/color]
  9. 004AA112   |68 32200000     push 0x2032
  10. 004AA117   |E8 14631600     call asktao.00610430
  11. 004AA11C   |83C4 10         add esp,0x10
  12. 004AA11F   \68 903D9400     push asktao.00943D90
  13. 004AA124    68 D0389500     push asktao.009538D0                     ; ASCII "skill_name"
  14. 004AA129    8BCD            mov ecx,ebp
  15. 004AA12B    BF CC879500     mov edi,asktao.009587CC
  16. 004AA130    E8 CB4F1900     call asktao.0063F100
  17. 004AA135    8BF0            mov esi,eax
  18. 004AA137    B9 09000000     mov ecx,0x9
  19. 004AA13C    33D2            xor edx,edx
  20. 004AA13E    F3:A6           repe cmps byte ptr es:[edi],byte ptr ds:>
  21. 004AA140    75 18           jnz Xasktao.004AA15A
  22. 004AA142    6A 00           push 0x0
  23. 004AA144    6A 00           push 0x0
  24. 004AA146    68 04609400     push asktao.00946004                     ; ASCII "CLOSE_CTM"
  25. 004AA14B    6A 00           push 0x0
  26. 004AA14D    68 88879500     push asktao.00958788                     ; ASCII "SklMainDlg"
  27. 004AA152    E8 69510E00     call asktao.0058F2C0
  28. 004AA157    83C4 14         add esp,0x14
  29. 004AA15A    8B8C24 BC000000 mov ecx,dword ptr ss:[esp+0xBC]
  30. 004AA161    64:890D 0000000>mov dword ptr fs:[0],ecx
  31. 004AA168    59              pop ecx
  32. 004AA169    5F              pop edi
  33. 004AA16A    5E              pop esi
  34. 004AA16B    5D              pop ebp
  35. 004AA16C    5B              pop ebx
  36. 004AA16D    8B8C24 A4000000 mov ecx,dword ptr ss:[esp+0xA4]
  37. 004AA174    33CC            xor ecx,esp
  38. 004AA176    E8 AB194200     call asktao.008CBB26
  39. 004AA17B    81C4 B4000000   add esp,0xB4
  40. 004AA181    C3              retn
复制代码

该用户从未签到

发表于 2012-11-27 11:08:04 | 显示全部楼层
内容感谢分享,有个图就更好了

该用户从未签到

发表于 2012-11-27 19:05:18 | 显示全部楼层
add esp,0x10出现了10,请问10字节还有可能是代表其他什么参数的么?

这句是堆栈平衡用的,也说明了该CALL有4个参数,1个PUSH是4字节 4*4=16(十进制)转十六进制 等于10~
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-5 19:58

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表