steam升级后看不明白offsets.懂的帮忙下!

社区服务
高级搜索
猴岛论坛CSGO反恐精英CS作弊器交流讨论steam升级后看不明白offsets.懂的帮忙下!
发帖 回复
正序阅读 最近浏览的帖子最近浏览的版块
3个回复

steam升级后看不明白offsets.懂的帮忙下!

楼层直达
irol808

ZxID:1024353

等级: 准尉
举报 只看楼主 使用道具 楼主   发表于: 2007-09-07 0
//==================================================================================
#pragma comment(lib,"OpenGL32.lib")
#pragma warning(disable: 4311)
#pragma warning(disable: 4731)
//=============================headers=============================================
#include <windows.h>
#include <gl\gl.h>
#include "engine/wrect.h"
#include "engine/cl_dll.h"
#include "engine/r_efx.h"
#include "engine/studio.h"
#include "engine/triangleapi.h"
#include "misc/r_studioint.h"
//==============================vars==============================================
cl_enginefuncs_s *pEngfuncs = (cl_enginefuncs_s *)0x01EA0A08;
engine_studio_api_s *pEngstudio = (engine_studio_api_s *)0x01EBC978;
DWORD * pStudioRenderModel = (DWORD*)0x019CC8F8;
cl_entity_s* pCurrentEnt = NULL;
DWORD dwSP = 0;
void * pStudioRenderFinal = (void*)0x01969A00;
void xStudioRenderModel(void);
//======================================DllMain=======================================
BOOL APIENTRY DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved )
{
    if( fdwReason == DLL_PROCESS_ATTACH )
    {
        *pStudioRenderModel = (DWORD)&xStudioRenderModel;
    }
    return TRUE;
}
//=====================================Cheat stuff=====================================
bool bIsEntPlayer(cl_entity_s *ent)  // a player ?
{
    if(ent != NULL && ent != pEngfuncs->GetLocalPlayer() && !(ent->curstate.effects & EF_NODRAW) && ent->player && !ent->curstate.spectator && ent->curstate.solid && !(ent->curstate.messagenum < pEngfuncs->GetLocalPlayer()->curstate.messagenum) /*&& ent->curstate.movetype !=0*/)
        return true;
    else
        return false;
}

bool bIsEntGood(cl_entity_s * pLocalEnt,cl_entity_s* pEnt) // same Team ?
{
    __asm
    {
        MOV EDX,DWORD PTR DS:[pEnt]           
        MOV EAX,DWORD PTR DS:[EDX]         
        IMUL EAX,EAX,0x68                 
        MOV CX,WORD PTR DS:[EAX+0x01A2999A]  // g_PlayerExtraInfo[index].Teamnumber   
                                             // cs uses it for the scoreboard
        MOV EDX,DWORD PTR DS:[pLocalEnt]       
        MOV EAX,DWORD PTR DS:[EDX]       
        IMUL EAX,EAX,0x68                 
        CMP CX,WORD PTR DS:[EAX+0x01A2999A]  // g_PlayerExtraInfo[index].Teamnumber 
        JE __SameTeam
        MOV AL,0
        POP ESI
        POP EBP
        RET
    __SameTeam:
        MOV AL,1
    }
}

bool bIsEntValid(cl_entity_s* pEnt) // valid ent?
{
    if(bIsEntPlayer(pEnt))
    {
        if(bIsEntGood(pEngfuncs->GetLocalPlayer(),pEnt))
            return false;
        else
            return true;
    }
    else
        return false;
}

void xStudioRenderModel(void) // hooked studiorendermodel
{
    _asm MOV dwSP,ECX       
    cl_entity_s* pCurrentEnt = pEngstudio->GetCurrentEntity();
    if(bIsEntValid(pCurrentEnt))
    {
        //==============================================================
        // Draw the non visible part of the Model
        glDepthFunc(GL_GREATER);
        pEngstudio->SetChromeOrigin();
        pEngstudio->SetForceFaceFlags(STUDIO_NF_CHROME);
        model_s * pChromeSprite = pEngstudio->GetChromeSprite();
        pEngfuncs->pTriAPI->SpriteTexture(pChromeSprite,0);
        pCurrentEnt->curstate.renderfx = kRenderFxGlowShell;
        pCurrentEnt->curstate.renderamt = 1;
        pCurrentEnt->curstate.rendercolor.r = 255;
        pCurrentEnt->curstate.rendercolor.g = 0;
        pCurrentEnt->curstate.rendercolor.b = 0;
        _asm MOV ECX,dwSP
        _asm CALL DWORD PTR DS:[pStudioRenderFinal] // StudioRenderFinal
        //==============================================================
        // Draw the visible part of the Model
        glDepthFunc(GL_LESS);
        pCurrentEnt->curstate.renderfx = kRenderFxNone;
        pEngstudio->SetForceFaceFlags(0);
        _asm MOV ECX,dwSP
        _asm CALL DWORD PTR DS:[pStudioRenderFinal] // StudioRenderFinal
        //==============================================================
    }
    else
    {
        pEngstudio->SetForceFaceFlags(0);
        _asm MOV ECX,dwSP
        _asm CALL DWORD PTR DS:[pStudioRenderFinal] // StudioRenderFinal
    }

}
//==================================================================================


lam0104

ZxID:1256565

等级: 新兵
举报 只看该作者 地板   发表于: 2008-04-13 0
看不懂
hamas083

ZxID:1149738

等级: 新兵
举报 只看该作者 板凳   发表于: 2007-09-09 0
看不懂额 很难吗 我晕哦!
irol808

ZxID:1024353

等级: 准尉
举报 只看该作者 沙发   发表于: 2007-09-07 0
DWORD * pStudioRenderModel = (DWORD*)0x019CC8F8;///这里不明白pStudioRenderModel是什么意思
cl_entity_s* pCurrentEnt = NULL;
DWORD dwSP = 0;
void * pStudioRenderFinal = (void*)0x01969A00;  //还有pStudioRenderFinal
« 返回列表
发帖 回复