C++ DLL Hack (C&C Alarmstufe Rot 3) Problem

12/20/2013 19:53 GamesFight#1
Also Ich habe ein problem...
Ich versuche schon seit tagen meinen dll hack zum funktionieren zu bringen aber es will nicht klappen und ich hab keine Ahnung warum es nicht geht...

Hier mal der Code:
Quote:
#include <Windows.h>
#include "MemoryTools.h"

DWORD WINAPI HackThread( LPVOID )
{

while (1){



DWORD dwErz = *(DWORD*)(0x10D8CB98 + 0x0);
*(int*)(dwErz + 0x4) = 500000;


Sleep(500);

}


return ERROR_SUCCESS;
}

BOOL WINAPI DllMain( HINSTANCE hInst, DWORD dwReason, LPVOID )
{


if (dwReason == DLL_PROCESS_ATTACH)
CreateThread(0, 0, HackThread, 0, 0, 0);





return TRUE;
}
Wenn ich die dll (mit visual studio) an den Prozess anhänge kommt bei der ausgabe (falls euch das weiterhelfen würde):

Quote:
"ra3_1.12.game" (Win32): "C:\Program Files (x86)\Electronic Arts\Alarmstufe Rot 3\Data\ra3_1.12.game" geladen. Das Modul wurde ohne Symbole erstellt.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\ntdll.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\kernel32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\KernelBase.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9 a1e18e3b_8.0.50727.6229_none_d089f796442de10e\msvc r80.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\msvcrt.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\shell32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\shlwapi.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\gdi32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\user32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\advapi32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\sechost.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\rpcrt4.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\sspicli.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\cryptbase.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\lpk.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\usp10.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\d3d9.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\version.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\d3d8thk.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\dwmapi.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\d3dx9_35.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\dsound.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\ole32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\winmm.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\powrprof.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\setupapi.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\cfgmgr32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\oleaut32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\devobj.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Program Files (x86)\Electronic Arts\Alarmstufe Rot 3\Data\xinput1_3.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9 a1e18e3b_8.0.50727.6229_none_d089f796442de10e\msvc p80.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\imm32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\msctf.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\ws2_32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\nsi.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\netapi32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\netutils.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\srvcli.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\wkscli.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\wsock32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\apphelp.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\AppPatch\AcLayers.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\userenv.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\profapi.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\winspool.drv" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\mpr.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\uxtheme.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Program Files (x86)\ATI Technologies\HydraVision\HydraDMH.dll" geladen. Das Modul wurde ohne Symbole erstellt.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\IPHLPAPI.DLL" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\winnsi.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\dhcpcsvc.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Program Files (x86)\Electronic Arts\Alarmstufe Rot 3\Data\paul.dll" geladen. Das Modul wurde ohne Symbole erstellt.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\winhttp.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\webio.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\oleacc.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\comdlg32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\winsxs\x86_microsoft.windows.commo n-controls_6595b64144ccf1df_5.82.7601.18201_none_ec8 0f00e8593ece5\comctl32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\dnsapi.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\rasadhlp.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Program Files (x86)\Electronic Arts\Alarmstufe Rot 3\Data\dbghelp.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\aticfx32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\atiu9pag.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\atiumdag.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\atiumdva.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\MMDevAPI.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\propsys.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\wdmaud.drv" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\ksuser.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\avrt.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\AudioSes.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\msacm32.drv" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\msacm32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\midimap.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\clbcatq.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\wintrust.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\crypt32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\msasn1.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\mswsock.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\WSHTCPIP.DLL" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\nlaapi.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\NapiNSP.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\pnrpnsp.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\winrnr.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Program Files (x86)\Bonjour\mdnsNSP.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"ra3_1.12.game" (Win32): "C:\Windows\SysWOW64\FWPUCLNT.DLL" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
Der Thread 0x1b54 hat mit Code 0 (0x0) geendet.
Der Thread 0x1b9c hat mit Code 0 (0x0) geendet.
Der Thread 0x9d8 hat mit Code 0 (0x0) geendet.
Der Thread 0x974 hat mit Code 0 (0x0) geendet.
Der Thread 0x145c hat mit Code 0 (0x0) geendet.
Der Thread 0x19bc hat mit Code 0 (0x0) geendet.
Der Thread 0x1044 hat mit Code 0 (0x0) geendet.
Der Thread 0x126c hat mit Code 0 (0x0) geendet.
Der Thread 0x183c hat mit Code 0 (0x0) geendet.
Der Thread 0xb68 hat mit Code 0 (0x0) geendet.
Der Thread 0x1900 hat mit Code 0 (0x0) geendet.
Der Thread 0x1720 hat mit Code 0 (0x0) geendet.
Der Thread 0x1b28 hat mit Code 0 (0x0) geendet.
Der Thread 0x14f0 hat mit Code 0 (0x0) geendet.
Der Thread 0x1a08 hat mit Code 0 (0x0) geendet.
Der Thread 0x1b48 hat mit Code 0 (0x0) geendet.
Im Anhang ist noch ein Bild von dem Was ich in Cheat engine bis jetzt gemacht habe.


Danke im Vorraus,

LG GamesFight



---
Edit
[Only registered and activated users can see links. Click Here To Register...]
12/21/2013 03:10 Dr. Coxxy#2
der code sieht wenn auch sehr hässlich eigtl. korrekt aus.
was passiert denn genau? stürzt das spiel ab oder passiert einfach garnichts?
1. injecte mal mit nem richtigen injector wie winject oder dem injector von cheatengine.
2. die adresse (0x10D8CB98) ist laut screenshot nicht statisch - sicher, dass die stimmt und nach jedem spielneustart unverändert bleibt?
12/22/2013 17:23 GamesFight#3
@1.
Ich habs jetzt schon mit ein Paar richtigen Injectoren probiert (zB PerX) Aber es passiert einfach nichts.

@2.
Die Adresse hab ich inzwischen Korrigiert zu (10D8CA30, was aber aber nichts verändert, da immer noch nichts passiert) Obwohl die Adresse nicht nach einer Statischen ausschaut, bleibt sie doch bei jedem neuen spielstart oder auch vom Neustart von Windows gleich

3. Wie könnte man den Code denn schreiben, damit er nicht so
Quote:
hässlich
bzw. unordentlich etc. aussieht
12/22/2013 21:32 Dr. Coxxy#4
@ 1. dann lass dir mal die adressen und werte auslesen und guck ob der alles richtig zu machen scheint.
@ 2. ist eigtl komisch, biste sicher?
@ 3. so z.b.:
Code:
#include <Windows.h>
#include "MemoryTools.h"

// Den gesamten thread kann man durch nen timerthread von windows ersetzen - siehe z.b. create und setthreadpooltimer
DWORD WINAPI HackThread( LPVOID )
{
	while (true)
	{
		// hier solltest du dir eine funktion mit variablen parametern bauen, die beliebige multilevel pointer auflösen kann und auf anfrage auch 0 / badreadpointer checks durchführt - erleichtert einem das leben sehr, wenn man sowas öfter macht
		*(int*)(*((DWORD*)0x10D8CB98) + 0x4) = 500000; // 0x10D8CB98 -> + 0x4 =
		Sleep(500);
	}
	return ERROR_SUCCESS;
}

BOOL WINAPI DllMain( HINSTANCE hInst, DWORD dwReason, LPVOID )
{
	if (dwReason == DLL_PROCESS_ATTACH)
	{
		CreateThread(0, 0, HackThread, 0, 0, 0); // hier könnte man noch den returnwert checken
	}
	return TRUE;
}
12/23/2013 19:12 GamesFight#5
Ich hab jetzt mal den Code übernommen (mit der Ausnahme der Adresse '0x10D8CB98', da die ja falsch war) und hab jetzt mal die Dll injectiert und jetzt funktioniert es scheinbar perfekt.

Dann noch eine andere Frage. Was wäre denn die nächste Stufe beim Programmieren, denn NUR mit Pointern wird es ja wohl kaum funktionieren. Was für Techniken kann man denn anwenden bzw muss man beherschen, dass man (in diesen Fall bei C&C) beispielsweise die Bauzeiten auf null setzten kann.

Wäre vielleicht hilfreich wenn wir darüber bspw. in Skype schreiben könnte, da es hier in Foren eher sperrlich funktioniert. (Skypename: thedarkjoker-)