
Originally Posted by
drawde123456
can you make a tutorial?cuz Im just a beginner.
I could help you

Are you stuck or something? Or you just can't start coding?
If you can't start coding,
download Microsoft Visual C++. If you already downloaded Microsoft Visual C++, make a project.
How to make project?
1. Open C++
2. Press new project >> choose win32 >> Win32 Project >> Press "Okay"
3. A new window will pop up >> Press Next >> Application Type: Dll >> Additional Options: Empty Project >> Press Finish
You just started your First Project! Congratulations.
You can't understand what I just said? Click this link:
http://bfy.tw/2ED3
If you know already how to make a project in C++,
We will make your own hack, how?
Here's how:
As you have finished making your own project, you will be redirected to a new window. It is where you'll be putting your codes and stuff.
1. Create your source file, right click the "Source Files" folder that you will find under your First Project. (If you can't find it, Shortcut: CTRL+SHIFT+A) >> Name.cpp, in my case I'll name it Base.cpp >> Press "Add" button
2. You will now writing your own codes, well in your case, you'll be copy&pasting codes.
For those who will try their best in writing their own code: (Full Base, all the hacks included above)
Code:
#include <windows.h>// isn't that easy
- We will be declaring the proxy addy, what is this for? To avoid detections. Xigncode is detecting most of the windows api.
Code:
#define ADR_Proxy 0x004B0E9C //SFNA, this is updated. If you want to update it on yourself, just search byte: FF D5
- Now adding SilverDeath's proxycall function.
Code:
template <typename T> __declspec(naked) T _cdecl ProxyCall(LPVOID Target, UINT NumberOfParams, LPVOID ProxyFFD5, ...)
{
__asm mov edx, esp; // stackframe on edx - edx points now to the return adress - Target, NumberOfParams, ProxyFFD5, Params after.
__asm push esp; // save esp
__asm push ebp; // save ebp
__asm push esi; // save esi
__asm lea esi, [edx + 8]; // Points to NumberOfParams
__asm mov ecx, [esi]; // Get Number Of Params
__asm inc ecx; // Also push ProxyFFD5
PushParams:
__asm mov eax, [esi + ecx * 4]; // Get Parameter from right to left
__asm push eax; // and push them on the stack
__asm loop PushParams; // Repeat until all params pushed (ecx != 0) - Stack is done after this
__asm mov ebp, ReturnHere; // Mov Returnadress into ebp to be called by proxy
__asm mov eax, [edx + 4]; // Get Target
__asm jmp eax; // jump to target
ReturnHere:
__asm add esp, 4; // remove return address from Proxy
__asm pop esi; // restore esi
__asm pop ebp; // restore ebp
__asm pop esp; // restore stack
__asm retn; // return
}
- Now adding the hacks given above:
Code:
void NoRecoil() //Actually this is No Spread & No Recoil.
{
DWORD x1 = *(PDWORD)0xE41C80; //We will be making a pointer, this address is updated in SFNA. If you want to update, PM me.
if (x1)
{
x1 = *(PDWORD)(x1 + 0x20);
if (x1)
{
x1 = *(PDWORD)(x1 + 0x10);
if (x1)
{
x1 = *(PDWORD)(x1 + 0x0);
if (x1)
{
x1 = *(PDWORD)(x1 + 0x8);
if (x1)
{
*(PDWORD)(x1 + 0x1B1A8) = 0; //Updated addy for SFNA, If you want to update PM me.
*(PDWORD)(x1 + 0x1B1AC) = 0; //Updated addy for SFNA, If you want to update PM me.
}
}
}
}
}
}
void Ammo()
{
DWORD x1 = *(PDWORD)0xE41EC4;
if(x1)
{
x1 = *(PDWORD)(x1 + 0x2FFD8);
if(x1)
{
*(PDWORD)(x1 + 0x2A0) = 1;//Knife
*(PDWORD)(x1 + 0x130) = 59;//Ammo (59 - 29 = 30 //Your Ammo will be 30)
*(PDWORD)(x1 + 0x2BC) = 10100;//Rapid Fire
//This addies are updated in SFNA, feel free to PM me if you encounter any problems :)
}
}
}
void Player()
{
DWORD x1 = *(PDWORD)0xE41C80;
if(x1)
{
x1 = *(PDWORD)(x1 + 0x28);
if(x1)
{
x1 = *(PDWORD)(x1 + 0x0);
if(x1)
{
x1 = *(PDWORD)(x1 + 0x10);
if(x1)
{
x1 = *(PDWORD)(x1 + 0x0);
if(x1)
{
if(ON)
{
*(FLOAT*)(x1 + 0x1C) = 1000.0f;//Speed Hack
*(FLOAT*)(x1 + 0x144) = 10;//S.Jump
}
}
}
}
}
}
}
void Damage()
{
if(ProxyCall<SHORT>(&GetAsyncKeyState,1,(void*)ADR_PROXY,VK_LBUTTON)) // ProxyCall GetAsyncKeyState to avoid detections. As you can see, GetAsyncKeyState is detected in xigncode because it is a winapi function.
//If you press the left mouse button, your damage will increase making a OHK. One hit kill
{
*(double*)0xDA26C8 = 10.000000f; //Updated in SFNA, PM me if you need help finding it.
}
}
- Call all your hacks in one thread, this will be your main thread.
Code:
DWORD WINAPI Main(LPVOID Param) //Name of your function
{
return false;
}
Make a loop, so your hack will be constantly called.
Code:
DWORD WINAPI Main(LPVOID Param)
{
while(1)
{
}
return false;
}
Let your function suspend the execution of main thread as finish calling your hacks. Since it's in a loop, it will be constantly done. Specifically, this is for your game. To avoid hang. or Lag.
Code:
DWORD WINAPI Main(LPVOID Param)
{
while(1)
{
ProxyCall<void>(&Sleep,1,(void*)ADR_PROXY,50); //I used silverdeath's proxycall, just to make sure that there will be no detections
}
return false;
}
Call your hacks!
Code:
DWORD WINAPI Main(LPVOID Param)
{
while(1)
{
//call your hax
Damage();
NoRecoil();
Player();
Ammo();
ShootWalls();
ProxyCall<void>(&Sleep,1,(void*)ADR_PROXY,50);
}
return false;
}
- Call your hack in DllMain!
Code:
BOOL WINAPI DllMain(HMODULE hDll, DWORD Reason, LPVOID lpReserved)
{
if (Reason == DLL_PROCESS_ATTACH) //if your dll is attached
{
CloseHandle(CreateThread(0, 0, Main, 0, 0, 0));//Call Main thread then close handle
return TRUE;
}
return FALSE;
}
For C&P Users: (This is only a base, add your own features)
Code:
#include <windows.h>
#define ADR_PROXY 0x004B0E9C
template <typename T> __declspec(naked) T _cdecl ProxyCall(LPVOID Target, UINT NumberOfParams, LPVOID ProxyFFD5, ...)
{
__asm mov edx, esp; // stackframe on edx - edx points now to the return adress - Target, NumberOfParams, ProxyFFD5, Params after.
__asm push esp; // save esp
__asm push ebp; // save ebp
__asm push esi; // save esi
__asm lea esi, [edx + 8]; // Points to NumberOfParams
__asm mov ecx, [esi]; // Get Number Of Params
__asm inc ecx; // Also push ProxyFFD5
PushParams:
__asm mov eax, [esi + ecx * 4]; // Get Parameter from right to left
__asm push eax; // and push them on the stack
__asm loop PushParams; // Repeat until all params pushed (ecx != 0) - Stack is done after this
__asm mov ebp, ReturnHere; // Mov Returnadress into ebp to be called by proxy
__asm mov eax, [edx + 4]; // Get Target
__asm jmp eax; // jump to target
ReturnHere:
__asm add esp, 4; // remove return address from Proxy
__asm pop esi; // restore esi
__asm pop ebp; // restore ebp
__asm pop esp; // restore stack
__asm retn; // return
}
DWORD WINAPI Main(LPVOID Param)
{
while (1)
{
//call your hax
ProxyCall<void>(&Sleep, 1, (void*)ADR_PROXY, 50);
}
return false;
}
BOOL WINAPI DllMain(HMODULE hDll, DWORD Reason, LPVOID lpReserved)
{
if (Reason == DLL_PROCESS_ATTACH)
{
CloseHandle(CreateThread(0, 0, Main, 0, 0, 0));
return TRUE;
}
return FALSE;
}
I wish I helped a lot! Please press thanks
