宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 3270|回复: 1

[分享] VC6.0 MFC 实现热血江湖喊话CALL编写(字符指针方式和字节指针方式)

[复制链接]
  • TA的每日心情
    奋斗
    2020-6-5 22:18
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    潇潇 发表于 2011-2-16 12:46:18 | 显示全部楼层 |阅读模式

    欢迎您注册加入!这里有您将更精采!

    您需要 登录 才可以下载或查看,没有账号?注册

    x
    //         CALL原型
    //         005FC8C2  |> \C6840D 91D5FF>MOV BYTE PTR SS:[EBP+ECX-2A6F],0
    //         005FC8CA  |.  8A85 90D5FFFF MOV AL,BYTE PTR SS:[EBP-2A70]
    //         005FC8D0  |.  FEC0          INC AL
    //         005FC8D2  |.  8D95 74D5FFFF LEA EDX,DWORD PTR SS:[EBP-2A8C]          ;  ebp=0012B290
    //         005FC8D8  |.  8885 90D5FFFF MOV BYTE PTR SS:[EBP-2A70],AL                  ;  要读取位数计数
    //         005FC8DE  |.  0FBEC0        MOVSX EAX,AL
    //         005FC8E1  |.  8D48 17       LEA ECX,DWORD PTR DS:[EAX+17]                   ;  打出计数
    //         005FC8E4  |.  83C0 1D       ADD EAX,1D                                                        ;  ebp=0012B290
    //         005FC8E7  |.  66:898D 78D5F>MOV WORD PTR SS:[EBP-2A88],CX             ;  频道
    //         005FC8EE  |.  8B0D 7896D000 MOV ECX,DWORD PTR DS:[D09678]            ;  dd D09678
    //         005FC8F4  |.  50            PUSH EAX                                                                 ;  计数
    //         005FC8F5  |.  52            PUSH EDX                                                                 ;  00128804
    //         005FC8F6  |.  E8 751BE5FF   CALL Client.0044E470                                        ;  发包
    1.         
    2. char* str="1234";//测试内容
    3. char* SayText= new char[29+5];
    4. memset(SayText,0,34);
    5. SayText[2]=(char)8;
    6. SayText[4]=(char)164;
    7. SayText[28]=strlen(str);
    8. memcpy(&SayText[29],&str,4);

    9. _asm
    10. {
    11.   MOV ECX,DWORD PTR DS:[0xD09678]
    12.   PUSH 0x22             //包长                  
    13.   PUSH SayText        //包文指针                  
    14.   mov EAX,0x0044E470
    15.   CALL EAX //;  发包
    16. }
    复制代码
  • TA的每日心情
    奋斗
    2020-6-5 22:18
  • 签到天数: 22 天

    [LV.4]偶尔看看III

     楼主| 潇潇 发表于 2011-2-18 19:15:21 | 显示全部楼层
    昨天进游戏看了下实际上前面有些地方不对。下面以字节指针方式修改:
    1.         UpdateData(TRUE);
    2.         int tLen = m_SayText.GetLength();
    3.         char temp[256] ;
    4.         memset(temp,0,256);        
    5.         itoa(tLen,temp,10);
    6.         //::MessageBox(0,temp,_TEXT("喊话长度"),0);
    7.         int pLen=6+0x17+tLen+1;
    8.         memset(temp,0,256);        
    9.         itoa(pLen,temp,10);
    10.         //::MessageBox(0,temp,_TEXT("总包长"),0);
    11.         byte* SayText= new byte[pLen];
    12.         
    13.         memset(SayText,0,pLen);
    14.         SayText[2]=8;
    15.         SayText[4]=0x17+tLen+1;
    16.         SayText[6]=m_Channel.GetCurSel();
    17.         memset(temp,0,256);        
    18.         itoa(m_Channel.GetCurSel(),temp,10);
    19.         //::MessageBox(0,temp,_TEXT("频道"),0);
    20.         SayText[28]=strlen(m_SayText)+1;
    21.         memcpy(&SayText[29],m_SayText.GetBuffer(tLen),tLen+1);
    22.         _asm
    23.         {
    24.                 MOV ECX,DWORD PTR DS:[0xD09678]
    25.                 PUSH pLen
    26.                 PUSH SayText
    27.                 MOV EAX,0x0044E470
    28.                 CALL EAX //;  发包
    29.         }
    复制代码
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

    本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

    QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

    Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-12-22 15:55 , File On Powered by Discuz! X3.49

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