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 › [RELEASE/INFO] CN Tutorial - Making your first CA Hack!

[RELEASE/INFO] CN Tutorial - Making your first CA Hack!

Posts 1–15 of 171 · Page 1 of 12
…
CoderNever
CoderNever
[RELEASE/INFO] CN Tutorial - Making your first CA Hack!
Before learning how to code a hack, your going to have to know how to release one!

MPGH Basics [For Releasing a Hack]
*You need 2 virus scans! 1 from Virustotal, and another from Virscan.
a. VirusTotal - Free Online Virus and Malware Scan
b. VirSCAN.org - Free Multi-Engine Online Virus Scanner v1.02, Supports 36 AntiVirus Engines!
*You need a in-game screenshot of the hack working.
*No outside links you must attach the hack.
*You must Rar/Zip it before you attach it.
*No double posting.

What you Need?
*Visual C++ 2008 Express
*Directx SDK 11

Getting Started
1. Open Visual C++ 2008 Express
2. Select File on the top of the screen > New > Project
3. On the left hand side of the window that just popped up select "Win32"
4. Select "Win32 Project" and Type a project name, and press "Ok"
5. On the new window that pops up click "Next"
6. For "Application Type" Select the tick box next to "DLL".
7. For "Additional Options" Select the tick box next to "Empty Project"
8. Click Finish
9. Locate your "Solution Explorer"

10. If you can't see it you can select view on the top of the screen in the menubar, and it should be the first option.
11. Now that you located your "Solution Explorer" we can delete these useless folders.
12. Right Click each one, and select Remove.

13. Right click your project name (mine is tdfd), and select Add > New Item
14. In the new window the pops up type "Base", and click "C++ File (.cpp)" until the window goes away

15. You Screen should now look something like this..
- Approved by [MPGH]Distinct
16. We are going to Type are codes in the box I kindly highlighted for you .
17. Real quick lets go over the type of codes you need for this hack to work!

Codes You Need
*Dllmain - Something to show the DLL where to start when injected.
*PushtoConsole Method - Basically a way to push cheats to CA's System.
*Windows Include - Includes all the basic windows functions.
*IsGameReadyForHook Method - To detect when to activate the dll..when injected.
*a main void to place the hacks in.

Back to the Tut!

18. Lets Start with the windows include which is the easiest!
19. Simply Copy and Paste this code in the section I said would be where we type the codes!
Code:
#include <windows.h>
20. Next we can declare the PushToConsole Function! Since this is your first hack I will not go into detail what each part means, because odds are your going to skip my explanation anyway.
21. Copy and Paste the following directly under the include you just posted
Code:
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( REPLACE-THIS-TEXT-WITH-THE-LT-CLIENT );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
22. We are going to want to obviously add the Lt Client. The current one is "3778BFB0" so it should look like this
Code:
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )(0x3778BFB0);
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}
23. Time to add the IsGameReadyForHook method
24. So Again I am going to skip the explanation, but if you want one you can always PM me.
25. Copy and Paste the following Code above the pushtoconsole code
Code:
bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll"     ) != NULL 
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL 
&& GetModuleHandleA( "CShell.dll"   ) != NULL )
return true;
return false;
}
26. Basically this detects when CA loads each of the Dll's..considering d3d9.dll is the last to load, and it is used when the guy is running on the loading screen. That is when you hack first updates and works!
27. Lets create are main void!
28. Okay lets see to create a void were basically gonna start of with what all good voids are made of the word "void" xD.
29. So type the word void, and after you space after it, it should turn blue meaning C++ has picked up that you typed a code they recognize.
30. So right now you should have the word void with a space after it, which all should obviously be below the other codes we already typed.
31. I now want you to type "main" considering it is the name of are void so right now it should look like this..
Code:
void main
32. without spaceing type "()" next to main which is were we would normally add outside functions to get them inside, but since we have none nothing should be between it.
33. Okay so now it should look like this
Code:
void main()
34. We now need to add a left bracket to show the starting point of our void. so just add one after "main()" so it should look like this now..
Code:
void main() {
35. Now that we opened the void with a bracket we will need to close it so use a right bracket under "void main() {" so it should now look like this...
Code:
void main() {
}
36. Congrats if you did not just skip ahead you created a void by your self!
37. Now we have to add the "while method in the void" to tell it to keep on going.
38. the while method looks like the following..
Code:
while(true)
39. So you can just paste that what below "void main() {" and above "}" so its in it.
40. but guess what we have to open the method just like a void!
41. so add a left bracket right after it, and add a right bracket under it to close it.
42. it should now look like this...
Code:
while(true)
{
}
43. and your entire void should look like this....
Code:
void main()
{
while(true)
{
}
}
44. Lets now skip ahead to are Maindll and add are hacks later
45. So now adding a maindll..the code is pretty expert, and if you are a noob or never coded C++ before odds are you won't understand it so you can just post it completly under your main void.
Code:
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
CreateThread(NULL, NULL, dwHackThread, NULL, NULL, NULL);
}
return TRUE;
}
46. You now need a hack thread void so lets make that above the "Dll main"
47. so start of your void it should look like this
Code:
void dwHackThread() {
48. now lets close it so it should look like this..
Code:
void dwHackThread() {
}
49. but guess what its not a void!! its a "DWORD WINAPI" looks the same doesn't it so can you guess what we will do next?
Code:
DWORD WINAPI dwHackThread() {
}
50. but we want to bring a outside var into the HackThread, so we will post it in between the two "()" the var we want to bring in is "LPVOID" so you can just paste that in there making it look like this.
Code:
DWORD WINAPI dwHackThread(LPVOID) {
}
51. In between your void *Cough* DWORD WINAPI method you want to add the following code.."while( !IsGameReadyForHook() )" so after you add that it should look like...
Code:
DWORD WINAPI HackThread(LPVOID) {
while( !IsGameReadyForHook() )
}
52. We now add a sleep code for it can handle are code a little bit better so now what you want to do is add "Sleep(100);" under "while(!IsGameReadyForHook())" your code should now look like..
Code:
DWORD WINAPI dwHackThread(LPVOID) {
while( !IsGameReadyForHook() )
Sleep(100);
}
53. Now we want to call are main void we made a little while ago to call a void you simply type the void's name and the "()" and everything that may be inside...so in are case calling the main void would look like this "main();" so your could should now look like this..
Code:
DWORD WINAPI dwHackThread(LPVOID) {
while( !IsGameReadyForHook() )
Sleep(100);
main();
}
54. Now lastly we want this HackThread to return a value of 0. I don't want to go in a greater explanation of returning values so simply just past this after you called your main void "return 0;" so now it should look like...
Code:
DWORD WINAPI dwHackThread(LPVOID) {
while( !IsGameReadyForHook() )
Sleep(100);
main();
return 0;
}
55. Your total code should now look like this...
Code:
#include <windows.h>
bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll"     ) != NULL 
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL 
&& GetModuleHandleA( "CShell.dll"   ) != NULL )
return true;
return false;
}
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( 0x3778BFB0 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}	
void main()
{
while(true)
{
}
}
DWORD WINAPI HackThread(LPVOID)
{
while( !IsGameReadyForHook() )
Sleep(100);
main();
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
CreateThread(NULL, NULL, HackThread, NULL, NULL, NULL);
}
return TRUE;
}
56. Now we can Simply post a hack in are main void..which looks like..
Code:
void main()
{
while(true)
{
}
}
57.Lets just add some simple NX Chams....so the console command to turn them on is "SkelModelStencil 1"
58. our pushtoconsole method is named "PushtoConsole"
59. So what me want to do is use it to activate the nx chams..we can do that by adding the "()" next to it, and inserting the command inside..but the command in side is referenced as a const char* (string) so we have to make sure the command inside is a string to make a string you can simply just add a " " " next to each Parenthesis so it should look like this....
Code:
PushToConsole("")
60. You can now add your console command inside of that so it should look like this..
Code:
PushToConsole("SkelModelStencil 1")
61. You now have to add a ";" at the end after the last parenthesis...it should now look like this...
Code:
PushToConsole("SkelModelStencil 1");
62. and your entire code should look like this....
Code:
#include <windows.h>
bool IsGameReadyForHook()
{
if( GetModuleHandleA( "d3d9.dll"     ) != NULL 
&& GetModuleHandleA( "ClientFX.fxd" ) != NULL 
&& GetModuleHandleA( "CShell.dll"   ) != NULL )
return true;
return false;
}
void __cdecl PushToConsole( const char* szCommand )
{
DWORD *LTClient = ( DWORD* )( 0x3778BFB0 );
void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x208 );
__asm
{
push szCommand;
call CONoff;
add esp, 4;
}
}	
void main()
{
while(true)
{
PushToConsole("SkelModelStencil 1");
}
}
DWORD WINAPI dwHackThread(LPVOID)
{
while( !IsGameReadyForHook() )
Sleep(100);
main();
return 0;
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if ( dwReason == DLL_PROCESS_ATTACH )
{
CreateThread(NULL, NULL, dwHackThread, NULL, NULL, NULL);
}
return TRUE;
}
63. On the top of the screen select "Build" > "Build Solution"
64. It will now compile the hack, and just hope you don't have any errors if you do post here.
65. You can find your .dll you just made usally by going to My Documents\Visual Studio 2008\Projects\[PROJECT NAME]\Debug
66. Thats pretty much it!! wooh you made a hack! now I get sleep XD, post any errors you get and I might of messed up because I started writing this at midnight..then my computer crashed and I had to start all over..and I wanted to finish today so I did..but now i am so tired so I could of messed up at the end.

Note : Your final resulting hack if you did this step by step, and injected it will result in a update of Nx Chams for every game.

CREDITS
Microsoft - Directx SDK , Visual Studios , Dllmain
CoderNever - Writing this ENTIRE TUT
Vital - Telling me how to spell Parenthesis
Scimmyboy - Talking to me on msn when I was board, and trying to stay up (NO HOMO)
Gellin - Where ever the PG-13 he found that PushToConsole Method, and his "IsGameReadyforHook" method


NOTE : PLEASE if you leach just give me credit..it took FORRRR EVER!!!.....and people if you see this leached say "CODER NEVER MADE THIS!!! YOU FCKING NOOB"
#1 · edited 16y ago · 16y ago
KR
Krypton1x
Very thorough tutorial. Basically covers everything...
#2 · 16y ago
InCognito
InCognito
Sticky, /approved.
#3 · 16y ago
SC
scimmyboy
i dislike your C++ syntax. using the { on the same line instead of a different line D:<

too bad theres no explanations.
#4 · 16y ago
KR
Krypton1x
Brackets are the best. {

That felt good.
#5 · 16y ago
Zoom
Zoom
Very very good job.
#6 · 16y ago
neononxxx
neononxxx
I wish this was around when I was studying sources. would have been alot easier for me.

Good job.
#7 · 16y ago
MI
MissRandomSpam
omg very very nice this is the most useful post i ever seen
#8 · 16y ago
CR
Crash
You know those noobs are gunna copy and paste.
#9 · 16y ago
DA
darkminionking1
nice job hmm makes me want to learn XD
#10 · 16y ago
fishnchips4T
fishnchips4T
Hi if i add 3741A570 along with other addys will it still work correctly?
#11 · 16y ago
Solify
Solify
the best tutorial that choobs can find
if they still have questions ... DONT EVEN START CODING!!
#12 · 16y ago
neononxxx
neononxxx
Quote Originally Posted by fishnchips4T View Post
Hi if i add 3741A570 along with other addys will it still work correctly?
You will have to add Memoria for anything other than PTC commands.
#13 · 16y ago
Yepikiyay
Yepikiyay
if you cant trust c++ sites you can trust CodeNever!
thanks man
#14 · 16y ago
CAFlames
CAFlames
Okay. THis tut is grreat... but to start a new one just go to File>New Project>windows dll> Okay.

then just add code after the default header... and delete dllmain.cpp on the left.

its easier ( thats wat i did )
#15 · 16y ago
Posts 1–15 of 171 · Page 1 of 12
…

Post a Reply

Similar Threads

  • [Tutorial]Make your first hack in Visual Basic 6 (and a begin in CE) (for noobs)By diamondo25 in Programming Tutorials
    28Last post 17y ago
  • [How To] Make your first Warrock hack in C++[>NoMenü<]By pwner318 in WarRock Hack Source Code
    19Last post 15y ago
  • *DLL* [Tutorial] Make Your first DLL Interacted to a Form Project...By Silk[H4x] in Visual Basic Programming
    14Last post 17y ago
  • Deebow's C++ TuT for begginers! How to make your first program!By Drew in C++/C Programming
    13Last post 16y ago
  • [Video tutorial] Make your own css cheatsBy seren1ty in CounterStrike (CS) 1.6 Hacks / Counter Strike: Source (CSS) Hacks
    6Last post 19y ago

Tags for this Thread

None