我爱代码 - 专业游戏安全与逆向论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5136|回复: 0

虎虎生威(机器人+控制)【源码】

[复制链接]

2382

主题

53

回帖

9151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9151
QQ
发表于 2017-6-13 11:49:43 | 显示全部楼层 |阅读模式

想要查看内容赶紧注册登陆吧!

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

x
#include "StdAfx.h"
#include "servercontrolitemsink.h"


CServerControlItemSink::CServerControlItemSink(void)
{
    //控制变量
    m_cbControlArea=0xff;                        //控制区域
    m_cbControlTimes=0;                        //控制次数
}

CServerControlItemSink::~CServerControlItemSink( void )
{

}


bool  CServerControlItemSink::ExcuteControl(BYTE *cbCard)
{
    //控制
    if ( m_cbControlArea != 0xff && m_cbControlTimes > 0)
    {
        BYTE cbControlArea[8][4] = { 1, 9, 17, 25,
            3, 11, 19, 27,
            5, 13, 21, 30,
            7, 15, 23, 32,

            2, 10, 18, 26,
            4, 12, 20, 28,
            6, 14, 22, 31,
            8, 16, 24, 0 };
        *cbCard= cbControlArea[m_cbControlArea][rand()%4];
        m_cbControlTimes--;
        if(m_cbControlTimes == 0)
        {
            m_cbControlArea = 0xff;
        }
        return true;
    }

    return false;
}

//服务器控制
bool  CServerControlItemSink::RecvControlReq(WORD wSubCmdID, const void * pDataBuffer, WORD wDataSize, IServerUserItem * pIServerUserItem, ITableFrame * pITableFrame)
{
    ASSERT(wDataSize==sizeof(CMD_C_ControlApplication));
    if (wDataSize!=sizeof(CMD_C_ControlApplication))
        return false;

    if(CUserRight::IsGameCheatUser(pIServerUserItem->GetUserRight())==false)return false;
   
   
//    WriteExceptionLog("虎虎生威.log","虎虎生威被控制 : %s",pIServerUserItem->GetAccounts());
    CMD_C_ControlApplication* pData = (CMD_C_ControlApplication*)pDataBuffer;

    switch(pData->cbControlAppType)
    {
    case C_CA_UPDATE:    //更新
        {
            CMD_S_ControlReturns ControlReturns;
            ZeroMemory(&ControlReturns,sizeof(ControlReturns));
            ControlReturns.cbReturnsType = S_CR_UPDATE_SUCCES;
            ControlReturns.cbControlArea = m_cbControlArea;
            ControlReturns.cbControlTimes = m_cbControlTimes;
            pITableFrame->SendUserItemData(pIServerUserItem,SUB_S_ADMIN_COMMDN,&ControlReturns,sizeof(ControlReturns));
        }
        return true;
    case C_CA_SET:        //设置
        {
            if ( pData->cbControlArea == 0xff || pData->cbControlArea  > 7 )
            {
                //设置失败
                CMD_S_ControlReturns ControlReturns;
                ZeroMemory(&ControlReturns,sizeof(ControlReturns));
                ControlReturns.cbReturnsType = S_CR_FAILURE;
                ControlReturns.cbControlArea = 0xff;
                pITableFrame->SendUserItemData(pIServerUserItem,SUB_S_ADMIN_COMMDN,&ControlReturns,sizeof(ControlReturns));
                return true;
            }
            m_cbControlArea = pData->cbControlArea;
            m_cbControlTimes = pData->cbControlTimes;
            CMD_S_ControlReturns ControlReturns;
            ZeroMemory(&ControlReturns,sizeof(ControlReturns));
            ControlReturns.cbReturnsType = S_CR_SET_SUCCESS;
            ControlReturns.cbControlArea = m_cbControlArea;
            ControlReturns.cbControlTimes = m_cbControlTimes;
            pITableFrame->SendUserItemData(pIServerUserItem,SUB_S_ADMIN_COMMDN,&ControlReturns,sizeof(ControlReturns));
        }
        return true;
    case C_CA_CANCELS:    //取消
        {
            m_cbControlArea = 0xff;
            m_cbControlTimes = 0;
            CMD_S_ControlReturns ControlReturns;
            ZeroMemory(&ControlReturns,sizeof(ControlReturns));
            ControlReturns.cbReturnsType = S_CR_CANCEL_SUCCESS;
            ControlReturns.cbControlArea = 0xff;
            pITableFrame->SendUserItemData(pIServerUserItem,SUB_S_ADMIN_COMMDN,&ControlReturns,sizeof(ControlReturns));
        }
        return true;
    }
    //设置失败
    CMD_S_ControlReturns ControlReturns;
    ZeroMemory(&ControlReturns,sizeof(ControlReturns));
    ControlReturns.cbReturnsType = S_CR_FAILURE;
    ControlReturns.cbControlArea = 0xff;
    pITableFrame->SendUserItemData(pIServerUserItem,SUB_S_ADMIN_COMMDN,&ControlReturns,sizeof(ControlReturns));
    return true;
}



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|我爱代码 - 专业游戏安全与逆向论坛 ( 陇ICP备17000105号-1 )

GMT+8, 2025-4-4 20:43 , Processed in 0.044241 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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