Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › MultiPlayer Game Hacks & Cheats › Combat Arms Hacks & Cheats › Combat Arms Hack Coding / Programming / Source Code › Combat Arms Coding Help & Discussion › Help to a new CA coder

Help to a new CA coder

Posts 1–12 of 12 · Page 1 of 1
MI
mikethemak
Help to a new CA coder
Hey-

I'm looking to start learning how to code hacks for certain games, CA being one of them. I have 2+ years of C++ exp and about a year or so of ASM exp. I've been messing around with CAFlame's hotkey base (http://www.mpgh.net/forum/207-combat...base-ever.html). I understand the most of it, and have been able to edit the things that I need to edit. I really only have two main problems that I am stuck on and could use some help with.


First off, all pushtoconsole methods are not working, but mem calls are. I don't know if it needs to be changed, it's outdated, or if I am doing something wrong. I updated to LTC address to the current one from the dump, so I am assuming that is not the problem. A little help/guidance on how to get PTC commands working would be great.

The code:
Code:
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( 0x377E0C88 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );

__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
With a command call such as:
Code:
PushToConsole("drawguns 1");

My second problem, is that after being in game with the hacks on for about 5 minutes, the game will crash. My assumption is that this is because of the base being outdated, and it needs parts of it re-written. My only problem is that I've never done any coding for game hacking, so I wouldn't even know where to start on that. So if anyone can give me help on that as well, it would be great.

Full base code (Havn't edited much, just added recent addies and was planning on testing and fixing each hack until it was working again)
Code:
//#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
//Creditz to CAFlames


void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( 0x377E0C88 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );

__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}


bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll" ) != NULL
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL
&& GetModuleHandleA( "CShell.dll" ) != NULL )
return true;

return false;
}

bool Memoria( void * pDest, char * szPatch, size_t sSize ){
DWORD dwOrgProtect = NULL;
if ( !VirtualProtect ( pDest, sSize, PAGE_EXECUTE_READWRITE, &dwOrgProtect ))
return FALSE;


memcpy( pDest, szPatch, sSize );
VirtualProtect( pDest, sSize, dwOrgProtect, NULL );
return TRUE;
}


#define ADR_RECOIL1 0x373AB5D0
#define ADR_RECOIL2 0x374D4629
#define ADR_RECOIL3 0x373AB5E4
#define ADR_RECOIL4 0x373AB5E7
#define ADR_RECOIL5 0x373AB5F0
/*
#define ADR_RECOIL1 0x3741B550
#define ADR_RECOIL2 0x3740BAA9
#define ADR_RECOIL3 0x3741B564
#define ADR_RECOIL4 0x3741B570*/
#define ADR_RELOAD1 0x37467294
//Creditz to CAFlames... Don't Leech
void main()
{
MessageBoxA(NULL," Thank you for using Flames Base[Contact me, CAFlames, at mpgh.net]! ","Flames Base",MB_OK);
while (!IsGameReadyForHook()){

}


bool nxchams = false;
bool fog = false;
bool speed = false;
bool spread = false;
bool tracers = false;
bool showfps = false;
bool recoil = false;
bool reload = false;
bool unlockcursor = false;
bool drawgun = false;
bool sjump = false;
bool wireframe = false;
bool glitcher = false;
bool skeleton = false;
bool nosway = false;
bool cross2 = false;
bool cross3 = false;
bool cross4 = false;
bool cross5 = false;
bool glow = false;
bool bright = false;
bool sjump1 = false;
bool flykey = false;
bool camup = false;
bool camdown = false;
bool activation = false;
bool nametags = false;
while(true){

if(GetAsyncKeyState(VK_UP)<0){
if(camup){
PushToConsole("CamMaxPosYOffset 200.000000");
PushToConsole("DuckDownCamOffSet -13.000000");
camup = false;
}else{
PushToConsole("CamMaxPosYOffset 200.000000");
PushToConsole("DuckDownCamOffSet 1000.000000");
camup = true;
}
}
PushToConsole("WeaponSway 0.000000");
PushToConsole("ModelDebug_DrawBreath 0.000000");
if(GetAsyncKeyState(VK_PRIOR)<0){
if(activation){
PushToConsole("ActivationDistance 1000");
activation = false;
}else{
PushToConsole("ActivationDistance 100000");
activation = true;
}
}
if(GetAsyncKeyState(VK_DOWN)<0){
if(camdown){
PushToConsole("CamMaxPosYOffset 200.000000");
PushToConsole("DuckDownCamOffSet -13.000000");
camdown = false;
}else{
PushToConsole("CamMaxPosYOffset -1000.000000");
PushToConsole("DuckDownCamOffSet -13.000000");
camdown = true;
}
}
/*
if(GetAsyncKeyState(VK_NUMPAD0)<0){
if(nxchams){
PushToConsole("SkelModelStencil 0");
Memoria(( void* )( 0x372FF456 ), "\x75\x09", 2 );
Memoria(( void* )( 0x37232B48 ), "\x90\x25\x23\x37", 4 );
nxchams = false;
}else{
PushToConsole("SkelModelStencil 1");
Memoria(( void* )( 0x372FF456 ), "\x90\x90", 2 );
Memoria(( void* )( 0x37232B48 ), "\x90\x90\x90\x90", 4 );
nxchams = true;

}}*/
if(GetAsyncKeyState(VK_NUMPAD0)<0){
if(nametags){
Memoria(( void* )( 0x372FD679 ), "\x75\x05", 2 );
Memoria(( void* )( 0x372FD6FF ), "\x90\x25\x23\x37", 4 );
nametags = false;
}else{
Memoria(( void* )( 0x372FD679 ), "\x90\x90", 2 );
Memoria(( void* )( 0x372FD6FF ), "\x90\x90\x90\x90", 4 );
nametags = true;

}}
if(GetAsyncKeyState(VK_NUMPAD2)<0){
if(fog){
PushToConsole("FogEnable 1");
fog = false;
} else {
PushToConsole("FogEnable 0");
fog = true;
}
}
if(GetAsyncKeyState(VK_NUMPAD3)<0){
if(speed){
PushToConsole("BaseMoveAccel 3000.000000");
PushToConsole("StartAccel 500.000000");
PushToConsole("MaxAccel 3000.000000");
PushToConsole("AccelInc 6000.000000");
PushToConsole("WalkVel 70.000000");
PushToConsole("FRunVel 285.000000");
PushToConsole("BRunVel 285.000000");
PushToConsole("SRunVel 285.000000");
PushToConsole("DuckVel 50.000000");
speed = false;
} else {
PushToConsole("BaseMoveAccel 3000.000000");
PushToConsole("StartAccel 3000.000000");
PushToConsole("MaxAccel 3000.000000");
PushToConsole("AccelInc 3000.000000");
PushToConsole("WalkVel 3000.000000");
PushToConsole("FRunVel 3000.000000");
PushToConsole("BRunVel 3000.000000");
PushToConsole("SRunVel 3000.000000");
PushToConsole("DuckVel 3000.000000");
speed = true;
}
}
if(GetAsyncKeyState(VK_NUMPAD4)<0){
if(spread){
PushToConsole("PerturbRotationEffect 3.000000");
PushToConsole("PerturbIncreaseSpeed 3.000000");
PushToConsole("PerturbDecreaseSpeed 9.000000");
PushToConsole("PerturbWalkPercent 0.500000");
PushToConsole("PerturbRecoil 9.000000");
PushToConsole("FireMovePerturb 9.000000");
PushToConsole("ZoomedFireMoveDuckPerturb 9.000000");
PushToConsole("ZoomedFireMovePerturb 9.000000");
PushToConsole("ZoomedFireDuckPerturb 9.000000");
spread = false;
} else {
PushToConsole("PerturbRotationEffect 0.000000");
PushToConsole("PerturbIncreaseSpeed 0.000000");
PushToConsole("PerturbWalkPercent 0.000000");
PushToConsole("PerturbFiringIncreaseSpeed 0.000000");
PushToConsole("PerturbRecoil 0.000000");
PushToConsole("FireMovePerturb 0.000000");
PushToConsole("ZoomedFireMoveDuckPerturb 0.000000");
PushToConsole("ZoomedFireMovePerturb 0.000000");
PushToConsole("ZoomedFireDuckPerturb 0.000000");
spread = true;
}
}
if(GetAsyncKeyState(VK_END)<0){
if(tracers){
PushToConsole("ShowFirePath 0");
tracers = false;
} else {
PushToConsole("ShowFirePath 1");
tracers = true;
}
}
if(GetAsyncKeyState(VK_SUBTRACT)<0){
if(sjump){
PushToConsole("JumpVel 330.000000");
sjump = false;
} else {
PushToConsole("JumpVel 660.000000");
sjump = true;
}
}
if(GetAsyncKeyState(VK_ADD)<0){
if(sjump1){
PushToConsole("JumpVel 330.000000");
sjump1 = false;
} else {
PushToConsole("JumpVel 990.000000");
sjump1 = true;
}
}
if(GetAsyncKeyState(VK_NUMPAD9)<0){
if(showfps){
PushToConsole("ShowFps 0");
showfps = false;
} else {
PushToConsole("ShowFps 1");
showfps = true;
}
}
if(GetAsyncKeyState(VK_INSERT)<0){
if(unlockcursor){
PushToConsole("CursorCenter 1");
unlockcursor = false;
} else {
PushToConsole("CursorCenter 0");
unlockcursor = true;
}
}
if(GetAsyncKeyState(VK_NUMPAD5)<0){
if(recoil){
Memoria(( void* )( ADR_RECOIL1 ), "\xD8\x66\x58", 3 );
Memoria(( void* )( ADR_RECOIL2 ), "\xD9\x46\x54", 3 );
Memoria(( void* )( ADR_RECOIL3 ), "\xD9\x5E\x58", 3 );
Memoria(( void* )( ADR_RECOIL4 ), "\xD9\x46\x4C", 3 );
Memoria(( void* )( ADR_RECOIL5 ), "\xD9\x5E\x4C", 3 );
recoil = false;
}else{
Memoria(( void* )( ADR_RECOIL1 ), "\x90\x90\x90", 3 );
Memoria(( void* )( ADR_RECOIL2 ), "\x90\x90\x90", 3 );
Memoria(( void* )( ADR_RECOIL3 ), "\x90\x90\x90", 3 );
Memoria(( void* )( ADR_RECOIL4 ), "\x90\x90\x90", 3 );
Memoria(( void* )( ADR_RECOIL5 ), "\x90\x90\x90", 3 );
recoil = true;
}
}
/*
if(GetAsyncKeyState(VK_NUMPAD6)<0){
if(reload){
Memoria(( void* )( ADR_RELOAD1 ), "\x0F\x84\xB1\x01\x00\x00", 6 );
reload = false;
}else{
Memoria(( void* )( ADR_RELOAD1 ), "\x90\x90\x90\x90\x90\x90", 6 );
reload = true;
}
}*/
if(GetAsyncKeyState(VK_NUMPAD7)<0){
if(drawgun){
PushToConsole("drawguns 1");
drawgun = false;
} else {
PushToConsole("drawguns 0");
drawgun = true;
}
}



if(GetAsyncKeyState(VK_NEXT)<0){
if(glitcher){
PushToConsole("BaseMoveAccel 3000.000000");
PushToConsole("StartAccel 500.000000");
PushToConsole("MaxAccel 3000.000000");
PushToConsole("AccelInc 6000.000000");
PushToConsole("WalkVel 70.000000");
PushToConsole("FRunVel 285.000000");
PushToConsole("BRunVel 285.000000");
PushToConsole("SRunVel 285.000000");
PushToConsole("DuckVel 50.000000");
glitcher = false;
} else {
PushToConsole("BaseMoveAccel 90000.000000");
PushToConsole("StartAccel 90000.000000");
PushToConsole("MaxAccel 90000.000000");
PushToConsole("AccelInc 90000.000000");
PushToConsole("WalkVel 90000.000000");
PushToConsole("FRunVel 90000.000000");
PushToConsole("BRunVel 90000.000000");
PushToConsole("SRunVel 90000.000000");
glitcher = true;
}
}
if(GetAsyncKeyState(VK_HOME)<0){
if(wireframe){
PushToConsole("WireFrame 0");
wireframe = false;
} else {
PushToConsole("WireFrame 1");
wireframe = true;
}
}
if(GetAsyncKeyState(VK_DELETE)<0){
if(skeleton){
PushToConsole("ModelDebug_DrawSkeleton 0");
skeleton = false;
} else {
PushToConsole("ModelDebug_DrawSkeleton 1");
skeleton = true;
}
}

if(GetAsyncKeyState(VK_F7)<0){
if(cross2){
PushToConsole("CrossHair_DefaultLength 10");
PushToConsole("CrossHair_DefaultGapLength 1");
PushToConsole("CrosshairGapMin 0");
PushToConsole("CrosshairGapMax 2");
PushToConsole("CrosshairBarMin 10");
PushToConsole("CrosshairBarMax 10");
PushToConsole("HitCrossHairMAXPerturb 0");
PushToConsole("HitCrossHairMINPerturb 0");
PushToConsole("HitCrossHairSize 0");
PushToConsole("CrossHair_FiringDuration 0");
PushToConsole("ScopeUDRadius 0");
PushToConsole("ScopeLRRadius 0");
PushToConsole("ScopeUPGap 0");
PushToConsole("ScopeLRGap 0");
PushToConsole("ShowBreath 0");
cross2 = false;
}else{
PushToConsole("CrossHair_DefaultLength 5");
PushToConsole("CrossHair_DefaultGapLength 2");
PushToConsole("CrosshairGapMin 0");
PushToConsole("CrosshairGapMax 1");
PushToConsole("CrosshairBarMin 5");
PushToConsole("CrosshairBarMax 5");
PushToConsole("HitCrossHairMAXPerturb 0");
PushToConsole("HitCrossHairMINPerturb 0");
PushToConsole("HitCrossHairSize 0");
PushToConsole("CrossHair_FiringDuration 0");
PushToConsole("ScopeUDRadius 0");
PushToConsole("ScopeLRRadius 0");
PushToConsole("ScopeUPGap 0");
PushToConsole("ScopeLRGap 0");
PushToConsole("ShowBreath 0");
cross2 = true;

}
}
if(GetAsyncKeyState(VK_F8)<0){
if(cross3){
PushToConsole("CrossHair_DefaultLength 10");
PushToConsole("CrossHair_DefaultGapLength 1");
PushToConsole("CrosshairGapMin 0");
PushToConsole("CrosshairGapMax 2");
PushToConsole("CrosshairBarMin 10");
PushToConsole("CrosshairBarMax 10");
PushToConsole("HitCrossHairMAXPerturb 0");
PushToConsole("HitCrossHairMINPerturb 0");
PushToConsole("HitCrossHairSize 0");
PushToConsole("CrossHair_FiringDuration 0");
PushToConsole("ScopeUDRadius 0");
PushToConsole("ScopeLRRadius 0");
PushToConsole("ScopeUPGap 0");
PushToConsole("ScopeLRGap 0");
PushToConsole("ShowBreath 0");
cross3 = false;
}else{
PushToConsole("CrossHair_DefaultLength 20");
PushToConsole("CrossHair_DefaultGapLength 3");
PushToConsole("CrosshairGapMin 0");
PushToConsole("CrosshairGapMax 1");
PushToConsole("CrosshairBarMin 10");
PushToConsole("CrosshairBarMax 10");
PushToConsole("HitCrossHairMAXPerturb 0");
PushToConsole("HitCrossHairMINPerturb 0");
PushToConsole("HitCrossHairSize 0");
PushToConsole("CrossHair_FiringDuration 0");
PushToConsole("ScopeUDRadius 0");
PushToConsole("ScopeLRRadius 0");
PushToConsole("ScopeUPGap 0");
PushToConsole("ScopeLRGap 0");
PushToConsole("ShowBreath 0");
cross3 = true;
}
}
if(GetAsyncKeyState(VK_F9)<0){
if(cross4){
PushToConsole("CrossHair_DefaultLength 10");
PushToConsole("CrossHair_DefaultGapLength 1");
PushToConsole("CrosshairGapMin 0");
PushToConsole("CrosshairGapMax 2");
PushToConsole("CrosshairBarMin 10");
PushToConsole("CrosshairBarMax 10");
PushToConsole("HitCrossHairMAXPerturb 0");
PushToConsole("HitCrossHairMINPerturb 0");
PushToConsole("HitCrossHairSize 0");
PushToConsole("CrossHair_FiringDuration 0");
PushToConsole("ScopeUDRadius 0");
PushToConsole("ScopeLRRadius 0");
PushToConsole("ScopeUPGap 0");
PushToConsole("ScopeLRGap 0");
PushToConsole("ShowBreath 0");
cross4 = false;
}else{
PushToConsole("CrossHair_DefaultLength 40");
PushToConsole("CrossHair_DefaultGapLength 1");
PushToConsole("CrosshairGapMin 0");
PushToConsole("CrosshairGapMax 1");
PushToConsole("CrosshairBarMin 30");
PushToConsole("CrosshairBarMax 30");
PushToConsole("HitCrossHairMAXPerturb 0");
PushToConsole("HitCrossHairMINPerturb 0");
PushToConsole("HitCrossHairSize 0");
PushToConsole("CrossHair_FiringDuration 0");
PushToConsole("ScopeUDRadius 0");
PushToConsole("ScopeLRRadius 0");
PushToConsole("ScopeUPGap 0");
PushToConsole("ScopeLRGap 0");
PushToConsole("ShowBreath 0");
cross4 = true;
}
}
if(GetAsyncKeyState(VK_F10)<0){
if(cross5){
PushToConsole("CrossHair_DefaultLength 10");
PushToConsole("CrossHair_DefaultGapLength 1");
PushToConsole("CrosshairGapMin 0");
PushToConsole("CrosshairGapMax 2");
PushToConsole("CrosshairBarMin 10");
PushToConsole("CrosshairBarMax 10");
PushToConsole("HitCrossHairMAXPerturb 0");
PushToConsole("HitCrossHairMINPerturb 0");
PushToConsole("HitCrossHairSize 0");
PushToConsole("CrossHair_FiringDuration 0");
PushToConsole("ScopeUDRadius 0");
PushToConsole("ScopeLRRadius 0");
PushToConsole("ScopeUPGap 0");
PushToConsole("ScopeLRGap 0");
PushToConsole("ShowBreath 0");
cross5 = false;
}else{
PushToConsole("CrossHair_DefaultLength 75");
PushToConsole("CrossHair_DefaultGapLength 1");
PushToConsole("CrosshairGapMin 0");
PushToConsole("CrosshairGapMax 1");
PushToConsole("CrosshairBarMin 10");
PushToConsole("CrosshairBarMax 10");
PushToConsole("HitCrossHairMAXPerturb 0");
PushToConsole("HitCrossHairMINPerturb 0");
PushToConsole("HitCrossHairSize 0");
PushToConsole("CrossHair_FiringDuration 0");
PushToConsole("ScopeUDRadius 0");
PushToConsole("ScopeLRRadius 0");
PushToConsole("ScopeUPGap 0");
PushToConsole("ScopeLRGap 0");
PushToConsole("ShowBreath 0");
cross5 = true;
}
}
if(GetAsyncKeyState(VK_F11)<0){
if(glow){
PushToConsole("ScreenGlowEnable 0");
glow = false;
}else{
PushToConsole("ScreenGlowEnable 1");
glow = true;
}
}
if(GetAsyncKeyState(VK_F12)<0){
if(bright){
PushToConsole("FullBright 0");
bright = false;
}else{
PushToConsole("FullBright 1");
bright = true;
}
}



if(GetAsyncKeyState(VK_NUMPAD8)<0){
if(flykey){
PushToConsole( "PlayerGravity 800" );
flykey = false;
}else{

PushToConsole( "PlayerGravity -800" );
flykey = true;

} }

Sleep(25);
}
}

BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&main, NULL, 0,NULL);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}



Any help ASAP would be great. With regards,
Mike
#1 · 14y ago
BA
BadBurrito
So if you want to use your PushToConsole function you have to call them inside a hook (endscene, DIP or whatever) and you have to nop two jmps in the function... the best way is to look it up in a disassembler, their location is at PushToConsole + 0x1B and PushToConsole + 0x24 ... just nop the jumps (for each two bytes) good luck
#2 · 14y ago
cubanelite
cubanelite
Quote Originally Posted by mikethemak View Post
The code:
Code:
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( 0x377E0C88 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );

__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
Try this ptc. I think yours may be detected.

Code:
#define consoleunwrapped = 0x486010;

void __cdecl push( const char* cCommand)
{
	void* address = ( void* ) consoleunwrapped;

	__asm
	{
		Push cCommand
		call address
		add esp, 0x4
	}
}
#3 · 14y ago
CO
CookieMonster™
Look around for tutorials.
They're in the CA Hacking/Source Code section, they're marked as stickys.
#4 · 14y ago
FI
FinalHazard_
drawguns is patched i believe
#5 · 14y ago
cubanelite
cubanelite
Quote Originally Posted by FinalHazard_ View Post
drawguns is patched i believe
I believe No reload, and his glitcher are also patched.
#6 · 14y ago
MI
mikethemak
Quote Originally Posted by cubanelite View Post
Try this ptc. I think yours may be detected.

Code:
#define consoleunwrapped = 0x486010;

void __cdecl push( const char* cCommand)
{
	void* address = ( void* ) consoleunwrapped;

	__asm
	{
		Push cCommand
		call address
		add esp, 0x4
	}
}
I don't do a lot of dll coding (mostly console applications for school/work), nor hack coding. I've tried looking around and at other bases, but I've yet to figure out exactly how to get this to work, is there any way you could explain a little more in detail to me? I was told by CAFlames I need to put that inside a hook? I've read the tutorials on making hooks, but I still don't understand these as well yet. So any additional guidance would be great.

Quote Originally Posted by CookieMonster™ View Post
Look around for tutorials.
They're in the CA Hacking/Source Code section, they're marked as stickys.
I've read most of them many times over with no prevail. I understand the c++/addy parts of it, my main problems atm are understanding with PTC isn't working for me, and why it crashes after 5 minutes of play?

Quote Originally Posted by FinalHazard_ View Post
drawguns is patched i believe
This is CAFlames old base, I was just going to go through and clean up what I could, salvage what was working, and try to make a new hack from it.






Edit:

@cubanelite

I tried putting that ptc in the base and it gave me an error, saying I can't use ( void* )?
#7 · edited 14y ago · 14y ago
cubanelite
cubanelite
Quote Originally Posted by mikethemak View Post
I don't do a lot of dll coding (mostly console applications for school/work), nor hack coding. I've tried looking around and at other bases, but I've yet to figure out exactly how to get this to work, is there any way you could explain a little more in detail to me? I was told by CAFlames I need to put that inside a hook? I've read the tutorials on making hooks, but I still don't understand these as well yet. So any additional guidance would be great.



I've read most of them many times over with no prevail. I understand the c++/addy parts of it, my main problems atm are understanding with PTC isn't working for me, and why it crashes after 5 minutes of play?



This is CAFlames old base, I was just going to go through and clean up what I could, salvage what was working, and try to make a new hack from it.






Edit:

@cubanelite

I tried putting that ptc in the base and it gave me an error, saying I can't use ( void* )?
Ok, I see some problems with your base.
1.) you need to uncomment " //#include "stdafx.h" ."
2.) what are you programming in? (visual studio C++ express?)
3.) If it's saying you cant use "void*" you probably put it in the wrong spot
4.) your hack is crashing after 5 minutes because your hook is detected.
5.) I'll teach you how to program Combat arms hacks if you would like?
- Add me on skype, or Msn.
-Skype: cubanelite
-Msn: km.medlock2@hotmail.com

Hit me up, and I'll help you release your first hack ^_^
#8 · 14y ago
DE
Departure
After 2 years of coding C++ I think he has in the right spot. Also he has no hooks, so that's not the reason his hack crashed, More like he was using another PTC method which it requires to be called in a known thread(stop detection), He needs to hook a directx function and call PTC from there if he doesn't want it detected,

Try this, I don't code in C++ but I use something like in Delphi.. notice moving the address to Eax and then calling Eax...

Code:
#define PtcUnwrapped = 0x486010;

void push( const char* cCommand)
{
	__asm
    {
	Push cCommand
        Mov Eax, PtcUnwrapped
	Call Eax
	Add Esp, 0x4
   }
}
#9 · edited 14y ago · 14y ago
MI
mikethemak
Quote Originally Posted by cubanelite View Post
Ok, I see some problems with your base.
1.) you need to uncomment " //#include "stdafx.h" ."
2.) what are you programming in? (visual studio C++ express?)
3.) If it's saying you cant use "void*" you probably put it in the wrong spot
4.) your hack is crashing after 5 minutes because your hook is detected.
5.) I'll teach you how to program Combat arms hacks if you would like?
- Add me on skype, or Msn.
-Skype: cubanelite
-Msn: km.medlock2@hotmail.com

Hit me up, and I'll help you release your first hack ^_^

I am using visual studio c++ express yes. I might have it in the wrong spot, but im not sure. Never had to use hooks/detours before, so I currently dont have the slightest clue on how to get one working correctly. I added you on skype, I'm in college so I'll try to hit you up between or after classes ASAP.

Quote Originally Posted by Departure View Post
After 2 years of coding C++ I think he has in the right spot. Also he has no hooks, so that's not the reason his hack crashed, More like he was using another PTC method which it requires to be called in a known thread(stop detection), He needs to hook a directx function and call PTC from there if he doesn't want it detected,

Try this, I don't code in C++ but I use something like in Delphi.. notice moving the address to Eax and then calling Eax...

Code:
#define PtcUnwrapped = 0x486010;

void push( const char* cCommand)
{
	__asm
    {
	Push cCommand
        Mov Eax, PtcUnwrapped
	Call Eax
	Add Esp, 0x4
   }
}
I might still have it in the wrong spot, the C++ coding I've done is for college and mostly console applications, so nothing really requiring hooks or anything. So I don't know how to implement/use them, let alone make it so that it is undetected by CA.


Using that code I get the error:
Code:
error C2400: inline assembler syntax error in 'second operand'; found 'bad token'
Which relates to line:
Code:
Mov Eax, PtcUnwrapped
#10 · 14y ago
DE
Departure
try changing to

Mov Eax, 0x00486010
#11 · 14y ago
MI
mikethemak
I got it working using another source, but now I'm having trouble using nametags, can you tell me what's wrong in this code? Nametags appear, but the game will crash after a few minutes of it.

Code:
	if(Flag){
		Tools.Memoria(( void* )( 0x372FD679 ), "\x75\x05", 2 );
		Tools.Memoria(( void* )( 0x372FD6FF ), "\x90\x25\x23\x37", 4 );
	}else{
		Tools.Memoria(( void* )( 0x372FD679 ), "\x90\x90", 2 );
		Tools.Memoria(( void* )( 0x372FD6FF ), "\x90\x90\x90\x90", 4 );
@Departure
@cubanelite
#12 · edited 14y ago · 14y ago
Posts 1–12 of 12 · Page 1 of 1

Post a Reply

Similar Threads

  • help with my new injector!!By Connorcide in CrossFire Help
    1Last post 15y ago
  • Need help picking out new PC parts.By aonix in Hardware & Software Support
    17Last post 14y ago
  • hi (= need help with hack new here ^^By Lighty in Vindictus Help
    11Last post 14y ago
  • Help me pls... New hereBy asimo1 in Suggestions, Requests & General Help
    0Last post 18y ago
  • [help plaese] Harolds new bypass.By aup_11 in Combat Arms Hacks & Cheats
    6Last post 18y ago

Tags for this Thread

None