|
You last visited: Today at 07:25
Advertisement
4Story C++ Hack
Discussion on 4Story C++ Hack within the C/C++ forum part of the Coders Den category.
01/11/2011, 16:21
|
#1
|
elite*gold: 0
Join Date: Jan 2011
Posts: 96
Received Thanks: 256
|
4Story C++ Hack
Hallo Leute,
ich bin gerade dabei C++ zu Lernen und einen Hack für 4Story zu schreiben es is eine DLL.
Der Hack soll den wert von Handel auf 1 Setzen wenn F5 gedrückt wird doch irgendwie klappt das nicht so richtig und ich finde auch keine fehler, danke schonmal im vorraus:
#include <windows.h>
#include <stdio.h>
#define Addr_Base 0x6CA388
#define Offs_1 0x318
#define Offs_2 0x128
void Speedhack()
{
if(GetAsyncKeyState(VK_F5))
{
*(DWORD*)(Addr_Base + Offs_1 + Offs_2) = 1;
}
}
void HackThread()
{
Speedhack();
Sleep(30);
}
BOOL WINAPI DllMain( HINSTANCE HMODULE, DWORD dwReason, LPVOID lpvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
MessageBoxA(NULL, "4Story DLL NoMenu Hack", "Hack", MB_OK);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
}
return TRUE;
}
|
|
|
01/11/2011, 17:31
|
#2
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Quote:
|
ich bin gerade dabei C++ zu Lernen
|
Sieht man.
1st: Anstatt #include <stdio.h> lieber #include <cstdio>, wenn c++. Jedoch scheint mir der Include für dein Quellcode überflüssig.
2nd: Anstatt lieber
Code:
DWORD WINAPI HackThread( LPVOID lpParam )
Damit sparst du dir später den Cast beim erstellen des Threads.
3rd: Anstatt
Code:
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
Lieber
Code:
CreateThread(NULL, 0, HackThread, NULL, 0, NULL);
Dein Compiler sollte dich gewarnt haben.
4th: Zum eig. Problem: CreateThread gibt nen return-Wert zurück, anhand welchem du herausfindest, ob dein Thread überhaupt erfolgreich erstellt wurde. Wenn ja, dann stimmt wohl deine Adresse nicht.
|
|
|
01/11/2011, 17:33
|
#3
|
elite*gold: 0
Join Date: Jan 2011
Posts: 96
Received Thanks: 256
|
mein compiler hat mich vor garnix gewarnt oO und doch die addresse stimmt da ich nen bypass hab und in CE eingefügt habe, muss an was anderes liegen, kannst du mir vlt ne richtige version von dem was ich dir gepostet habe machen damit ich es richtig lerne? oder wie ist das mit WriteProcessMemory? 4Story is kein Shootergame, und ich hab das tut wie ich den ahck gecoded hab aus ner Shooter game section btw Warrock
|
|
|
01/11/2011, 17:42
|
#4
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Les dir das nochmal durch und schaue, ob der Thread gestartet wird:
Dazu:
EDIT: Irgendwie glaube ich trotzdem, dass die Adresse schlicht falsch ist bzw. das Anti-Cheat System dein Modul entlädt oder something like this.
|
|
|
01/11/2011, 17:45
|
#5
|
elite*gold: 169
Join Date: Jun 2010
Posts: 663
Received Thanks: 1,138
|
omfg dir fehlt ne while schleife du bob
|
|
|
01/11/2011, 17:57
|
#6
|
elite*gold: 0
Join Date: Jan 2011
Posts: 96
Received Thanks: 256
|
hähh jez kapier ich 0 wie meinste while schleife?^^
|
|
|
01/11/2011, 18:41
|
#7
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Tatsache, das habe ich gar nicht gesehen. Im Thread solltest du noch eine Schleife einbauen, sonst wird die FUnktion nur einmal aufgerufen und dann beendet sich der Thread. In etwa so:
Code:
DWORD WINAPI HackThread( LPVOID lpParam )
{
while( TRUE )
{
//... Funktionen aufrufen + Sleep()
}
}
|
|
|
01/11/2011, 18:49
|
#8
|
elite*gold: 0
Join Date: Jan 2011
Posts: 96
Received Thanks: 256
|
ja aber das bleibt dan ofen in CE also ohne frezzen also muss es auch so gehen
|
|
|
01/11/2011, 19:24
|
#9
|
elite*gold: 0
Join Date: Sep 2009
Posts: 445
Received Thanks: 286
|
Probier es einfach aus, und du wirst staunen o.O
|
|
|
01/11/2011, 19:52
|
#10
|
elite*gold: 0
Join Date: Jan 2011
Posts: 96
Received Thanks: 256
|
ich staune nicht, es funktioniert nicht habs probiert
|
|
|
01/12/2011, 00:13
|
#11
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Code:
*(DWORD*)(Addr_Base + Offs_1 + Offs_2) = 1;
Da sollte eigentlich jedem etwas auffallen.
Das die Schleife fehlt ist mir auch nicht aufgefallen, da das eigentlich eine Selbstverständlichkeit ist. "HackThread()" und "Speedhack()" könnte außerdem zusammenfassen.
Ich habe das ganze mal so gelöst, sollte eigentlich funktionieren:
Code:
#include <windows.h>
DWORD Addr_Base = 0x6CA388;
DWORD Offset[2] = {0x318, 0x128};
void HackThread(){
MessageBoxA(NULL, "4Story DLL NoMenu Hack\nBlablablabla", "Hack", MB_OK);
while(true){
if(GetAsyncKeyState(VK_F5)){
DWORD Address = *(DWORD*)(Addr_Base);
Address = *(DWORD*)(Address + Offset[0]);
Address = *(DWORD*)(Address + Offset[1]);
if(Address == 1){
Address = 0;
}else{
Address = 1;
}
}
Sleep(50);
}
}
BOOL WINAPI DllMain(HINSTANCE HMODULE, DWORD dwReason, LPVOID lpvReserved){
if(dwReason == DLL_PROCESS_ATTACH){
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
}
return TRUE;
}
Das ganze ist je nach Situation des Spiels noch fehleranfällig, das könnte man aber mit einer If-Abfrage verhindern. Für dein Problem sollte es aber reichen.
|
|
|
01/12/2011, 11:43
|
#12
|
elite*gold: 280
Join Date: Nov 2009
Posts: 2,005
Received Thanks: 26,683
|
Erst mal danke KillerDeluxe für dein Beispiel, aber irgendwas stimmt da nicht.
Er erkennt zwar das die Speicheradresse z.b 0 oder 1 ist aber ändert sie nicht.
Vielleicht ist dies: Address = 1; nicht ausreichend ?
|
|
|
01/12/2011, 13:56
|
#13
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Kleiner Denkfehler von mir, so geht es:
Code:
#include <windows.h>
DWORD Addr_Base = 0x6CA388;
DWORD Offset[2] = {0x318, 0x128};
void HackThread(){
MessageBoxA(NULL, "Blablablabla", "Hack", MB_OK);
while(true){
if(GetAsyncKeyState(VK_F5)){
DWORD Address = *(DWORD*)(Addr_Base);
Address = *(DWORD*)(Address + Offset[0]);
DWORD Value = *(DWORD*)(Address + Offset[1]);
if(Value == 1){
*(DWORD*)(Address + Offset[1]) = 0;
}else{
*(DWORD*)(Address + Offset[1]) = 1;
}
Sleep(250);
}
Sleep(50);
}
}
BOOL WINAPI DllMain(HINSTANCE HMODULE, DWORD dwReason, LPVOID lpvReserved){
if(dwReason == DLL_PROCESS_ATTACH)
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
return true;
}
BTW, mach mal deinen LC Hack aus der Signatur.
|
|
|
01/12/2011, 14:26
|
#14
|
elite*gold: 280
Join Date: Nov 2009
Posts: 2,005
Received Thanks: 26,683
|
Thx, geht wunderbar^^
|
|
|
01/12/2011, 15:27
|
#15
|
elite*gold: 0
Join Date: Jan 2011
Posts: 96
Received Thanks: 256
|
neeiN!! du hättest nich hier sein dürfen donni du ***** geh weg^^
|
|
|
All times are GMT +1. The time now is 07:28.
|
|