看流星社区

 找回密码
 注册账号
查看: 4541|回复: 10

问道喊话call问题,论坛其它帖子也看了解决不了!

[复制链接]

该用户从未签到

发表于 2012-10-3 11:52:15 | 显示全部楼层 |阅读模式
版主帮忙看看,我这个哪里找错了,
我找到的是6个参数,但是不管怎么弄提示都会出错,喊话可以喊出去,就是会出错!
----------------------------------------------------------------------
0068CEF3    51              PUSH ECX                                 ; ECX=0012F6A0 ECX=0012F6A0
0068CEF4    8D5424 38       LEA EDX,DWORD PTR SS:[ESP+38]
0068CEF8    8BC7            MOV EAX,EDI                              ; EDI=00000009 EAX=00000000
0068CEFA    83E8 02         SUB EAX,2
0068CEFD    52              PUSH EDX                                 ; EDX=0012F6B8
0068CEFE    8D4C24 5C       LEA ECX,DWORD PTR SS:[ESP+5C]
0068CF02    55              PUSH EBP                                 ; EBP=00000003 喊话长度
0068CF03    74 1F           JE SHORT asktao.0068CF24
0068CF05    FF15 A8E49100   CALL DWORD PTR DS:[<&MSVCP80.?c_str@?$ba>; MSVCP80.?data@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ
0068CF0B    50              PUSH EAX                                 ; EAX=0012F6DC  喊话内容
0068CF0C    8B4424 28       MOV EAX,DWORD PTR SS:[ESP+28]            ; EAX=0012F6DC
0068CF10    50              PUSH EAX                                 ; EAX=00000000
0068CF11    57              PUSH EDI                                 ; EDI=00000009
0068CF12    E8 A962DFFF     CALL asktao.004831C0
0068CF17    83C4 04         ADD ESP,4
0068CF1A    50              PUSH EAX                                 ; EAX=00000001 EAX=00000004队伍
0068CF1B    8BCE            MOV ECX,ESI                              ; ESI=031F2830 ECX=0012F6D8
0068CF1D    E8 9EF2FFFF     CALL asktao.0068C1C0                     ; 6个参数
----------------------------------------------------------------------
进入call里面第一个rent
0068C5A8    C2 1800         RETN 18
----------------------------------------------------------------------
PUSH 0012F6A0
PUSH 0012F6B8
PUSH 00000003 '长度
PUSH 0012F6DC 'EAX=0012F6DC  喊话内容
PUSH 0
PUSH 00000001 '频道
MOV ECX,[00ab4ef4+1f4]
CALL 0068C1C0
请问哪里出错了?
  • TA的每日心情
    萌哒
    2021-11-26 08:49
  • 发表于 2012-10-3 19:28:52 | 显示全部楼层
    PUSH 0012F6A0
    这个有问题
  • TA的每日心情
    慵懒
    3 小时前
  • 发表于 2012-10-3 21:39:07 | 显示全部楼层
    PUSH 0012F6A0
    PUSH 0012F6B8
    都是空文本内存
    ========================
    我有发过喊话CALL的帖子,自己去找

    该用户从未签到

    发表于 2012-10-4 04:43:35 | 显示全部楼层
    好像是堆栈平衡的问题吧!

    该用户从未签到

     楼主| 发表于 2012-10-4 08:57:07 | 显示全部楼层
    回复 3# 1aa82e


        我把这两个都改成0试了还是出错,只要一喊就出错,搞了2天了,每次都是这样!:Q
  • TA的每日心情
    慵懒
    3 小时前
  • 发表于 2012-10-4 15:16:47 | 显示全部楼层

    该用户从未签到

    发表于 2012-10-4 23:04:08 | 显示全部楼层
    PUSH 0012F6A0
    PUSH 0012F6B8
    都是空文本内存

    意思就是你自己写喊话call的时候 不要写这两个地址 自己申请2个空内存地址 分别PUSH 这两个空的内存地址 其他的参数不变

    该用户从未签到

    发表于 2012-10-5 11:37:15 | 显示全部楼层
    刚解决。。 自己写2个 空的地址 push 进去 就行了

    PUSH 0012F6A0           (自己申请个地址写个0进去)
    PUSH 0012F6B8           (自己申请个地址写个0进去)
    PUSH 00000003 '长度
    PUSH 0012F6DC 'EAX=0012F6DC  喊话内容
    PUSH 0
    PUSH 00000001 '频道
    MOV ECX,[00ab4ef4+1f4]
    CALL 0068C1C0

    该用户从未签到

     楼主| 发表于 2012-10-8 13:26:45 | 显示全部楼层
    回复 8# ljx408


        喊话解决了,但是只能喊几次游戏就出错了,这是怎么回事?而且只有源码测试才可以喊,编译成exe文件就不行了,一喊就出错?你的有这种问题吗?

    该用户从未签到

    发表于 2013-10-4 22:27:51 | 显示全部楼层
    sub      esp,0C
    lea      eax,[esp+4]
    lea      ebx,[esp+8]
    push    eax
    push    ebx
    push    4
    push    009B4EEC
    push    0
    push    1
    mov     ecx, 03E1C300
    call    006ED940
    add    esp,0c
    点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 注册账号

    本版积分规则

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

    GMT+8, 2024-3-28 20:58

    Powered by Kanliuxing X3.4

    © 2010-2019 kanliuxing.com

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