使作弊器适用于任意版本

社区服务
高级搜索
猴岛论坛CSGO反恐精英CS作弊器交流讨论使作弊器适用于任意版本
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
121个回复

使作弊器适用于任意版本

楼层直达
莎仕芘亞

ZxID:1171401

等级: 元老
猴岛国防部部长

举报 只看楼主 使用道具 楼主   发表于: 2007-06-28 0

打开client.cpp,找到下面这段
----------------------------------
struct cl_enginefuncs_s  gEngfuncs;
struct cl_enginefuncs_s  gHookedEngfuncs;
struct efx_api_s gHookEfxApi;
engine_studio_api_t  IEngineStudio;
engine_studio_api_t* pIEngineStudio=0;
cl_enginefuncs_s *pEngfuncs   = (cl_enginefuncs_s*) 0x01EB72D8;
playermove_s *ppmove = (playermove_s*) 0x02D5FE20;
engine_studio_api_s *pstudio = (engine_studio_api_s*) 0x01ED3520;
------------------------------------
替换为
----------------------------------
struct cl_enginefuncs_s  gEngfuncs;
struct cl_enginefuncs_s  gHookedEngfuncs;
struct efx_api_s gHookEfxApi;
engine_studio_api_t  IEngineStudio;
engine_studio_api_t* pIEngineStudio=0;
cl_enginefuncs_s* pEngfuncs;
engine_studio_api_s* pstudio;
playermove_s *ppmove;
-----------------------------------
查找下面这段[offsets不一定相同,直接查找DWORD* slots]
---------------------------------
DWORD* slots = (DWORD*)0x01EB74E8;
------------------------------------
改为
---------------------
DWORD* slots;
------------------------

查找
-----------------------------
void OnlyHook(LARGE_INTEGER *lp, bool force = true)
------------------------------

在这个区间上方加入
----------------------------------
DWORD FindPattern(char *pattern, int len, DWORD dwStart, DWORD dwLen)
{
    char *m = (char *)dwStart;
    for(; (DWORD)m < (dwStart + dwLen); m++)
    if(!memcmp(m, pattern, len))
    return (DWORD)m;
    return NULL;
}
-----------------------------------
在onlyhook区间内加入
------------------------------------
    char engine_sig[] = "\x89\x74\x24\x5C\x89\x74\x24\x60\x89\x74\x24\x64\x89\x74\x24\x68\x89\x74\x24\x6C\x89\x74\x24\x70\x89\x74\x24\x74\x89\x74\x24\x78\x89\x74\x24\x7C\0";
    DWORD dwEngine = FindPattern(engine_sig, strlen(engine_sig), 0x01D60000, 0x01000000);
    DWORD Slots_sig = (*(DWORD*)(dwEngine - 0x74));
    DWORD* slots = (DWORD*)Slots_sig;
 
    static bool NotPatched = true;

    if (NotPatched)
    {
        int a;
        for(a=0x01D00000;a<0x01D0FFFF;a++)
        {
            if(*(PBYTE)(a) == 0x68 && *(PBYTE)(a + 0x05) == 0xE8 &&
            *(PBYTE)(a + 0x0A) == 0x6A && *(PBYTE)(a + 0x0B) == 0x07 &&
            *(PBYTE)(a + 0x0C) == 0x68 && *(PBYTE)(a + 0x11) == 0xFF &&
            *(PBYTE)(a + 0x12) == 0x15 && *(PBYTE)(a + 0x17) == 0x68)
            {
                pEngfuncs = (cl_enginefunc_t*)*(DWORD*)(a+0x0D);
                break;
            }
        }
        int b;
        for(b=0x01D00000;b<0x01D0FFFF;b++)
        {
            if(*(PBYTE)(b) == 0xE8 && *(PBYTE)(b + 0x05) == 0x6A &&
            *(PBYTE)(b + 0x06) == 0x07 && *(PBYTE)(b + 0x07) == 0x68 &&
            *(PBYTE)(b + 0x0C) == 0xFF && *(PBYTE)(b + 0x0D) == 0x15 &&
            *(PBYTE)(b + 0x12) == 0x68 && *(PBYTE)(b + 0x1C) == 0x81)
            {
                ppmove = (playermove_s*)*(DWORD*)(b+0x13);
                break;
            }
        }
        int c;
        for(c=0x01D00000;c<0x01D0FFFF;c++)
        {
            if(*(PBYTE)(c) == 0x68 && *(PBYTE)(c + 0x05) == 0x68 &&
            *(PBYTE)(c + 0x0A) == 0x6A && *(PBYTE)(c + 0x0B) == 0x01 &&
            *(PBYTE)(c + 0x0C) == 0xFF && *(PBYTE)(c + 0x0D) == 0xD0 &&
            *(PBYTE)(c + 0x0E) == 0x83 && *(PBYTE)(c + 0x27) == 0xC3)
            {
                pstudio = (engine_studio_api_s*)*(DWORD*)(c+0x01);
                break;
            }
        }
        NotPatched = false;
    }
------------------------------------------------
步骤一完成


Credits: Unknown (Came from somewhere on Game-Deception)
Tutorial: Robert
步骤二

打开main.cpp找到
------------------------
detour_S_DynamicSound
------------------------
在区间上加入
-------------------------------
bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
    for(;*szMask;++szMask,++pData,++bMask)
        if(*szMask=='x' && *pData!=*bMask )
            return false;
    return (*szMask) == NULL;
}

DWORD dwFindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
    for(DWORD i=0; i < dwLen; i++)
        if( bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) )
            return (DWORD)(dwAddress+i);
   
    return 0;
}
---------------------------------

然后在detour_S_DynamicSound区间内找到
----------------------------------
BYTE* offs = (BYTE*)0x01D96920;
------------------------------
替换为
------------------------------
BYTE* offs = (BYTE*) SOUND_ADDR;
----------------------------------

在这一行上方加入
--------------------------
DWORD SOUND_ADDR = dwFindPattern(0x1D90000,0x30000,(BYTE*)"\x83\xEC\x48\xA1\x00\x00\x00\x00","xxxx???");
----------------------------
找到
-------------------------
sound patch applied successfully
------------------------
整行替换为
----------------------------------------------------------------------
OGCmessage( "&gsound patch applied successfully: 0x%X",SOUND_ADDR);
---------------------------------------------------------------
全部完成
保存修改,然后用VC++重新编译生成DLL即可

猴岛顾问

ZxID:1203163

等级: 少尉
举报 只看该作者 沙发   发表于: 2007-07-29 0
好东西,复制下来明天晚上就做上去试试
CCA战队

ZxID:1231012

等级: 新兵
举报 只看该作者 板凳   发表于: 2007-07-29 0
顶哦,支持
猴岛顾问

ZxID:1203163

等级: 少尉
举报 只看该作者 地板   发表于: 2007-08-03 0
楼主,在ogc的源码中找不到void OnlyHook,所以就没有办法往下进行了,怎么办,谢谢??
zhangkai_h

ZxID:1223540

等级: 列兵
举报 只看该作者 4楼  发表于: 2007-08-03 0
看不懂......
stwhirp

ZxID:1110200

等级: 下士
举报 只看该作者 5楼  发表于: 2007-08-04 0
支持下吧~~~~~~~~
莎仕芘亞

ZxID:1171401

等级: 元老
猴岛国防部部长

举报 只看该作者 6楼  发表于: 2007-08-04 0
引用
引用第3楼猴岛顾问于2007-08-03 12:23发表的  :
楼主,在ogc的源码中找不到void OnlyHook,所以就没有办法往下进行了,怎么办,谢谢??


void initialize = void OnlyHook
jy00747405

ZxID:1178345

等级: 新兵
举报 只看该作者 7楼  发表于: 2007-08-05 0
?????
shtyjyq

ZxID:1241071

等级: 上等兵
举报 只看该作者 8楼  发表于: 2007-08-14 0
可是有的暴力作弊器没有main文件怎么办看到了请指导一下!
zhanglu

ZxID:1174587

等级: 元老
走自己的路,让别人打的去吧.走别人的路,让别人无路可走!

举报 只看该作者 9楼  发表于: 2007-08-15 0
好强悍
linmu_h

ZxID:1249912

等级: 新兵
举报 只看该作者 10楼  发表于: 2007-08-22 0
支持啊
fwyx1981

ZxID:1248136

等级: 中士
举报 只看该作者 11楼  发表于: 2007-08-23 0
要好好学编程了。呵呵
16868123

ZxID:1252694

等级: 新兵
举报 只看该作者 12楼  发表于: 2007-08-26 0
是不是好东西
cool5g

ZxID:1135842

等级: 下士
举报 只看该作者 13楼  发表于: 2007-08-27 0
看不懂
叶枫_h

ZxID:1246379

等级: 新兵
举报 只看该作者 14楼  发表于: 2007-08-27 0
好东西.就是麻烦点了
h5n1

ZxID:1253707

等级: 新兵
举报 只看该作者 15楼  发表于: 2007-08-28 0
awdawd
h5n1

ZxID:1253707

等级: 新兵
举报 只看该作者 16楼  发表于: 2007-08-28 0
awdawdwaddddddddddd            
h5n1

ZxID:1253707

等级: 新兵
举报 只看该作者 17楼  发表于: 2007-08-28 0
awdawd
h5n1

ZxID:1253707

等级: 新兵
举报 只看该作者 18楼  发表于: 2007-08-28 0
54654564654
2280225

ZxID:1243063

等级: 大校
自强不息

举报 只看该作者 19楼  发表于: 2007-08-29 0
是要学习下啦...
              钱多事少离家近
              位高权重责任轻
              睡觉睡到自然醒   
              数钱数到手发软
« 返回列表
发帖 回复