|
You last visited: Today at 21:33
Advertisement
D3D Hook WriteMem Problem
Discussion on D3D Hook WriteMem Problem within the General Coding forum part of the Coders Den category.
01/31/2011, 18:12
|
#31
|
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
|
Quote:
Originally Posted by MrSm!th
Dann warte doch bis dahin und injecte die Dll dann.
Oder mach es mit LoadLibrary, die gibt, falls die Dll schon geladen wurde, ein Handle zu ihr und ansonsten lädt sie sie und gibt dann das Handle.
Also einfach LoadLibrary("Pfad zur Dll"); anstatt GetModuleHandle nutzen.
|
So da bin ich wieder. Erstmal is mir noch aufgefallen, dass ich GetModuleHandleA benutzt habe, dass wird aber kein problem gewesen sein. Dann hab ich das ganze mal einfach später injectet. das game stürzte nicht ab. dann hab ich singelplayer und so gemacht.. game start... die map lädt... und abgestürzt
Das war also auch nix.
Dann hab ich GetModuleHandle mal mit LoadLibrary ersetzt. Also so..
DWORD Base = (DWORD) LoadLibrary("C:\Program Files\Maxis Spiele\left 4 dead 2\left4dead2\bin\server.dll") + 0x0037492C;
Das dachte ich zuerst, klappt, doch als ich dann wieder "start game" gemacht habe, und es fertig geladen hat, ist es wieder abgekrazt
Auf jedenfall ging das mit loadlibrary schon mal viel weiter als mit getmodulehandle^^
|
|
|
01/31/2011, 21:10
|
#32
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Debugausgaben? Welche Werte haben die Variablen? Wo genau stürtzt es ab?
Hast du zufällig Ahnung, wie man einen Debugger wie OllyDbg nutzt?
|
|
|
01/31/2011, 21:18
|
#33
|
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
|
Debugausgaben:
Code:
1>------ Erstellen gestartet: Projekt: Operation7_Hack, Konfiguration: Debug Win32 ------
1>Der Buildvorgang wurde am 31.01.2011 21:12:43 gestartet.
1>InitializeBuildStatus:
1> "Debug\Operation7_Hack.unsuccessfulbuild" wird erstellt, da "AlwaysCreate" angegeben wurde.
1>ClCompile:
1> main.cpp
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(75): warning C4995: 'vsprintf': der Name, der als #pragma markiert war, wurde verworfen
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(75): warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(371): Siehe Deklaration von 'vsprintf'
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(107): warning C4129: 'P': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(107): warning C4129: 'M': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(107): warning C4129: 'l': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(107): warning C4129: 'l': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(107): warning C4129: 's': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(115): warning C4129: 'P': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(115): warning C4129: 'M': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(115): warning C4129: 'l': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(115): warning C4129: 'l': Nicht erkannte Folge von Escapesequenz
1>c:\users\michael\documents\visual studio 2010\projects\operation7_hack\operation7_hack\main.cpp(115): warning C4129: 's': Nicht erkannte Folge von Escapesequenz
1>Link:
1> LINK : C:\Users\Michael\documents\visual studio 2010\Projects\Operation7_Hack\Debug\Operation7_Hack.dll wurde nicht gefunden oder beim letzten inkrementellen Linkvorgang nicht erstellt; vollständiger Link wird durchgeführt.
1> Operation7_Hack.vcxproj -> C:\Users\Michael\documents\visual studio 2010\Projects\Operation7_Hack\Debug\Operation7_Hack.dll
1>FinalizeBuildStatus:
1> Die Datei "Debug\Operation7_Hack.unsuccessfulbuild" wird gelöscht.
1> Aktualisieren des Timestamps von "Debug\Operation7_Hack.lastbuildstate".
1>
1>Das Erstellen war erfolgreich.
1>
1>Verstrichene Zeit 00:00:04.77
========== Erstellen: 1 erfolgreich, Fehler bei 0, 0 aktuell, 0 übersprungen ==========
Quote:
|
Welche Werte haben die Variablen? Wo genau stürtzt es ab?
|
Welche Variablen ?
Also ich starte den AirdropInjector, stell ihn auf automatic.. starte das spiel... Vorschau und so drück ich weg...dann bin ich im menü ... geh auf singelplayer ... map eingeben und so... "game start" klicken ... Lade Fenster, wo son ladebalken ist... wenn der voll ist, stürzt das ganze ab...........
Quote:
|
Hast du zufällig Ahnung, wie man einen Debugger wie OllyDbg nutzt?
|
Ein wenig, hab mir schon verschiedene Tutorials darüber angesehn, wie man cracked, den LT Pointer von CF findet und so..
Meinste vllt mit OllyDbg die adresse von server.dll raussuchen ?
€dit: mir fällt gerad auf, dass mein game aufeinmal einfach so abkrazt.. ohne hack und so 
€dit: hää ich hab das spiel 2x aufn computer und das 2. stürzt jetzt auch dort ab (wie oben beschrieben)
so letzter €dit für heute..
Hab ja neu eingestellt, dass ich wieder als admin starten muss und so.. also muss ich das spiel jetzt auch als admin starten. Jetzt krazt es wieder am anfang schon ab und ohne hack lässt es sich wieder spielen .... da denkt man, man kam ein kleines stückchen weiter und jetzt ist man wieder am anfang
-.-
.
.
.
Doch noch ein €dit^^
Habs jetzt ENDLICH hinbekommen, nach einigen versuchen und so..
erstmal hab ich mir selbst die debugausgabe angesehn und hab mich über diese fehler erkundigt:
warning C4129: 'P': Nicht erkannte Folge von Escapesequenz
Dann hab ich aus einem "\\" überall zwei "\\" gemacht. Also so dann:
DWORD Base = (DWORD) LoadLibrary("C:\\Program Files\\Left 4 Dead 2\\left4dead2\\bin\\server.dll") + 0x0037492C;
Dann hab ich das spiel gestartet und zuerst ging auch alles, bis im spiel dann der godmode komischerweise nicht ein ging.
Mir fiel auf, dass ich noch den Dateipfad ändern musste  also so..
DWORD Base = (DWORD) LoadLibrary("C:\\Program Files\\L4D2\\left4dead2\\bin\\server.dll") + 0x0037492C;
Dann wieder alles ausprobiert und endlich ging es
Nach so vielen Tagen rumprobieren, fehler suchen hat es sich doch noch gelohnt
Vielen, vielen Dank, dass du mir so viel geholfen hast MrSm!th !!
Ohne dich und Google wäre das nix geworden
|
|
|
01/31/2011, 23:09
|
#34
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by germanhacker
Debugausgaben:
|
ich meinte natürlich deine damit, also die messageboxen.
Quote:
Base und Address
Quote:
|
Also ich starte den AirdropInjector, stell ihn auf automatic.. starte das spiel... Vorschau und so drück ich weg...dann bin ich im menü ... geh auf singelplayer ... map eingeben und so... "game start" klicken ... Lade Fenster, wo son ladebalken ist... wenn der voll ist, stürzt das ganze ab...........
|
Hast du nun alles wieder vergessen? Du konntest mir gerade den Code-Teil nennen, an dem es gecrasht hat, wie wärs, wenn du das mit einzelnen MessageBoxen im Quelltext nun wieder probierst?
Quote:
|
Ein wenig, hab mir schon verschiedene Tutorials darüber angesehn, wie man cracked, den LT Pointer von CF findet und so..
|
Dann könntest du eventuell einfach mal im Debugger schauen, was passiert. Dann siehst du ja, warum es crasht.
Quote:
|
Meinste vllt mit OllyDbg die adresse von server.dll raussuchen ?
|
Nein, ich meinte, den Code durchzusteppen, um zu sehen, wo der Fehler auftritt. Die Adresse solltest du mit LoadLibrary bekommen.
Und wie gesagt, gewöhn dir an, MessageBoxen zur Debug-Ausgabe einzubauen, falls etwas unerwartetes auftritt!!!
Quote:
€dit: mir fällt gerad auf, dass mein game aufeinmal einfach so abkrazt.. ohne hack und so 
€dit: hää ich hab das spiel 2x aufn computer und das 2. stürzt jetzt auch dort ab (wie oben beschrieben)
|
Dann installier es doch neu.
Quote:
Doch noch ein €dit^^
Habs jetzt ENDLICH hinbekommen, nach einigen versuchen und so..
erstmal hab ich mir selbst die debugausgabe angesehn und hab mich über diese fehler erkundigt:
warning C4129: 'P': Nicht erkannte Folge von Escapesequenz
Dann hab ich aus einem "\\" überall zwei "\\" gemacht. Also so dann:
DWORD Base = (DWORD) LoadLibrary("C:\\Program Files\\Left 4 Dead 2\\left4dead2\\bin\\server.dll") + 0x0037492C;
|
Und genau deswegen sollst du die Grundlagen vernünftig lernen!!
Quote:
Dann hab ich das spiel gestartet und zuerst ging auch alles, bis im spiel dann der godmode komischerweise nicht ein ging.
Mir fiel auf, dass ich noch den Dateipfad ändern musste also so..
DWORD Base = (DWORD) LoadLibrary("C:\\Program Files\\L4D2\\left4dead2\\bin\\server.dll") + 0x0037492C;
Dann wieder alles ausprobiert und endlich ging es 
Nach so vielen Tagen rumprobieren, fehler suchen hat es sich doch noch gelohnt 
Vielen, vielen Dank, dass du mir so viel geholfen hast MrSm!th !!
Ohne dich und Google wäre das nix geworden
|
Na dann ist ja gut, freut mich.
Ich kenne diese tage- und wochenlangen Fehlersuchen bestens ;<
|
|
|
02/01/2011, 15:37
|
#35
|
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
|
Das mit dem Pfad angeben, geht das auch schneller ? und andere haben vllt einen anderen pfad..
bei mir heißt mein neuer ordner z.b. "L4D2" ... er könnte ja auch "Left 4 Dead 2" heißen.
D.h. dieser hack funzt nur, wenn man das game im selben pfad gespeichert hat und mit dem selben ordner namen oder wie..
DWORD Base = (DWORD) LoadLibrary("C:\\Program Files\\..\\left4dead2\\bin\\server.dll") + 0x0037492C;
so oder wie könnte das gehen, vllt den pfad der left4dead2.exe ermitteln und dann nach der dll suchen ?
|
|
|
02/01/2011, 17:07
|
#36
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Du kannst den User den Pfad in einer Ini angeben lassen.
Du kannst vorschreiben, dass die Dll ins selbe Verzeichnis muss, dann arbeitest du einfach mit dem Namen.
Du kannst den Pfad aus der Registry auslesen.
Du kannst GetModuleHandle nutzen, wartest aber mit dem Ausrechnen der Adresse solange, bis der Rückgabewert ungleich Null ist.
|
|
|
02/01/2011, 18:34
|
#37
|
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
|
Quote:
Originally Posted by MrSm!th
Du kannst GetModuleHandle nutzen, wartest aber mit dem Ausrechnen der Adresse solange, bis der Rückgabewert ungleich Null ist.
|
Das klappt perfekt. Super, danke!
|
|
|
02/01/2011, 19:16
|
#38
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
LOL. Ich tippe mal das er eine externe Anwendung machen will. Das sieht nicht nach einer .dll aus. Mal eine andere Frage, wie willst du den D3D-Hook schaffen, wenns schon am Detouren scheitert?
MfG
|
|
|
02/01/2011, 19:40
|
#39
|
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
|
Quote:
Originally Posted by yihaaa
LOL. Ich tippe mal das er eine externe Anwendung machen will. Das sieht nicht nach einer .dll aus. Mal eine andere Frage, wie willst du den D3D-Hook schaffen, wenns schon am Detouren scheitert?
MfG
|
Das ist eine Dll.
Außerdem scheitert da nix, funzt ja alles
|
|
|
02/01/2011, 19:46
|
#40
|
elite*gold: 0
Join Date: Dec 2007
Posts: 322
Received Thanks: 98
|
@yihaaa:
Scheint doch nun zu klappen? Klar hätte man sich ne Menge Ärger durch die Grundlagen ersparen können, aber hey: Jeder soll so "lernen" wie er möchte.
|
|
|
02/01/2011, 20:58
|
#41
|
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
|
Quote:
Originally Posted by mydoom
@yihaaa:
Scheint doch nun zu klappen? Klar hätte man sich ne Menge Ärger durch die Grundlagen ersparen können, aber hey: Jeder soll so "lernen" wie er möchte.
|
Ich weiß zwar nicht, was du mit Grundlagen genau meinst, aber sowas wie Detours und D3D Hook kam in dem Buch "Jetzt lerne ich C++" nicht vor.
Ich hab das mit dem D3D Hooking jetzt mal durch ein Tutorial kennengelernt, viele Fehler durch Google und euch beheben können und letztendlich einen Hack erstellen können.
|
|
|
02/01/2011, 21:12
|
#42
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Nunja, ich denke, er meinte den korrekten Umgang mit der MSDN, vielleicht ein vernünftiges Tutorial über Detours und eins über D3D Hooks und naja, gute Kenntnisse der WinApi und der Dll-Programmierung können auch nicht schaden.
Die Grundlagen könnten sich auch auf Speicherzugriffe bezogen haben, denn simple Zeigerdereferenzierung und memcpy gehören zu den Grundlagen, die haben nichts mit Hacks zutun.
Aber nun hast du es ja hinbekommen und alles ist gut
|
|
|
02/01/2011, 21:22
|
#43
|
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
|
hab noch eine frage, warum verschwindet der text meines d3d menüs immer ?
Zuerst sieht man alles, dann nach 1min oder so verschwindet sie ganz und nur noch ein kasten ist zu sehen
|
|
|
02/01/2011, 21:44
|
#44
|
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
|
Die Frage kann ich dir beantworten das problem ist deine Font.
D3DXCreateFont(pDevice, 14, 0, FW_NORMAL, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &g_pFont );
Kann man in die EndScene machen brauch aber meist ein Pre/Post Reset aber um es dir einfacher zu machen.
Das hat mehr was zutun das der Directx Alt + Tab verkraftet aber da du sone sehr Anfängermäßige methode hast beim Zeichen drawen crasht es nicht. (sei froh)
Um dir gleich noch so etwas zu Dx zu sagen Font,Liner,Texturen,Shaders brauchen entweder ein Reset oder eine einmal Anfrage damit sie bei veränderungen erneut geladen werden können.
Wie du das machst ich lass mal den Reset weg
nur eine normale INIT(initialisierung)
Code:
bool Init = false;
void MeineInit(LPDIRECT3DDEVICE9 pDevice)
{
if(g_pFont == NULL) D3DXCreateFont(pDevice, 14, 0, FW_NORMAL, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &g_pFont );
Init= true;
}
Das ganze rufste dann so in der EndScene ganz oben auf
Code:
if(!Init )MeineInit(pDevice);
Du kannst auch so eine Anfrage in der EndScene machen aber so externe Aufrufe sind besser wenn du mehr und mehr hinzufügst bleibt alles übersichtlicher.
Dann sollte es nicht mehr verschwinden.
Kannste C&P habs auf deine Font angepasst.
Wenn du bei Directx bleiben willst brauchste zu 150% ein Buch google wird dir da nur sehr sehr selten Helfen ich hab 5 Stück.
Und mit sehr sehr viel Abstand zu anderen ist das das beste.
|
|
|
02/01/2011, 21:51
|
#45
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Das hab ich doch schon gesagt, du darfst den Font nicht jedes Mal beim Zeichnen erstellen!
|
|
|
 |
|
Similar Threads
|
[C++]Hook all Recv function Problem
08/21/2010 - C/C++ - 5 Replies
Hi Leute
wenn ich send hooke egal welches läuft das alles super nur wenn ich irgendein recv hooke habe ich immer eine Packet size von 1000 bis 10000.
sry das ich schon wieder nerve
#include "WinSock2.h"
#include <cstdio>
#include <ctime>
#include <fstream>
#include <iomanip>
|
Urban WR D3D Hook PROBLEM!!
06/01/2010 - WarRock - 11 Replies
Hi,
Bei dem Urban WR D3D Hook Hack ( http://www.elitepvpers.com/forum/warrock-hacks-bots -cheats-exploits/589000-warrock-urban-wr-d3d-hook- undetected-30-05-2010-a.html ) habe ich ein Problem. Ich habe alles entpackt und
extrahiert aber wenn ich den Injector öffne steht da " Auf das angegebene Gerät , bzw. den Pfad oder die Datei kann nicht zugegriffen werden. Sie verfügen eventuell nicht über ausreichende Berechtigungen, um auf das Element zugreifen zu können" !!!! Ich bin aber Administrator...
|
[C++]D3D hook Problem
11/09/2009 - C/C++ - 28 Replies
#pragma once
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
#include <windows.h>
#include <cstdio>
#include <d3d9.h>
#include <d3dx9.h>
LPDIRECT3DDEVICE9 pDevice;
const D3DCOLOR txtPink = D3DCOLOR_ARGB(255, 255, 0, 255); // Alpha, Rot, Grün, Blau
|
C++ hook Problem
10/19/2009 - C/C++ - 15 Replies
Also ich habe mir einen Keyboardhook geschrieben und habe das programm gestartet und es wieder beendet ohne den hook unzuhooken und nun geht meine tastatur nicht mehr (auch im bios nicht mehr) tja ich denke ,dass der hook immernoch läuft und ich bräuchte so eine art hook manager .
Oder einfach ein stückcode,das mir alles unhooked .
mein code :
void MsgLoop()
{
MSG message;
|
BiG problem With hook edx33
07/28/2009 - Silkroad Online - 8 Replies
I hook edx33 and now 80 % of my programs no start :rtfm:
and too unhook don't start
im into 64X bit vista windows pls fast reply how to fix them
|
All times are GMT +1. The time now is 21:33.
|
|