Danke Schlurmann .. hat mir wenigstens beim verstehen geholfen .. allerdings bekomm ich einen komischen fehler wenn ich deinen dll code in Dev-Cpp compilen will...
und zwar:
Quote:
ISO C++ forbids casting between pointer-to-function and pointer-to-object
weisst du warum? die dll die dabei ist funktioniert ja und ich denke mal dass das der selbe code is oder? xD
In function `void* _Detours_GetVA_MessageBoxA()':
invalid conversion from `int (*)(HWND__*, const CHAR*, const CHAR*, unsigned int)'
function `int origMBox(HWND__*, char*, char*, unsigned int)':
syntax error before `{' token
At global scope:
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
syntax error before `{' token
( ja da stehen so viele "syntax error before `{' token" im error log )
Depends on what Dev-cpp installation you are talking about. If
you had downloaded Dev-cpp with MinGW ,(4.9.9.0) the binaries
(lib files) are not compatible with the linker distributed with Dev-cpp.
ich hab diese detours.h und .lib:
//Edit2
hm .. also ich bin mittlerweile soweit dass ich mir nen anderen compiler & linker geholt und configuriert hab .. nu hab ich nen anderes problem .. lol wie sollte es auch anders sein -.-
es scheint so als wäre meine detours.lib beschädigt -.-"
@schlurmann kannst du mal deine detours files uppen? ...
Zudem würde ich nicht mehr mit dem DevC++ arbeiten da der seit 4jahren nicht mehr aktualiesert wurde und oftmals gibt der fehler in den simplesten code aus wo keine sind. Deswegen kann ich dir nur empfehlen lade dir ne neue version vom MinGw Compiler und benutze als IDE Blocks.
danke Akorn ich probiers mal .. wusste garnich dass DevCpp so veraltet ist .. habs nur ma im Cpp kurs benutzt und dann damit weiter gemacht .. hat bisher alles funktioniert ^.^
//Edit
hm .. die angezeigten fehler sind bei Code::Blocks immernoch die selben ....
ich hab mich, da ich denke es nun verstanden zu haben mal hingesetzt und selbst was geschrieben ..
aber .. wie solls auch anders sein .. wieder nen anderer fehler -.-
der Code:
Code:
#include <windows.h>
#include "detours.h"
int (__stdcall* InsertDateTime)(int x); //Originale Funktion
int MyInsertDateTime(int x) //Meine Funktion
{
//Messagebox
MessageBox(NULL, "lol", "lol", MB_OK);
return InsertDateTime(x);
}
BOOL APIENTRY DllMain(HANDLE hInst, DWORD reason, LPVOID lpReserved)
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
InsertDateTime = (int (__stdcall*)(int))DetourFunction((PBYTE)0x01006F10, (PBYTE)MyInsertDateTime);
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
DetourRemove((PBYTE)0x1006F10, (PBYTE)InsertDateTime);
break;
}
return TRUE;
}
die Fehler:
Quote:
warning: ignoring #pragma comment
warning: extra tokens at end of #endif directive
In function `_Z7DllMainPvmS_':
undefined reference to `_DetourFunction@8'
undefined reference to `_DetourRemove@8'
||=== Build finished: 2 errors, 2 warnings ===|
-.-" ich komm mir echt verarscht vor xD
also .. ich hab mir MsVC++ Express 08 geladen .. fehler bleiben immernoch die selben .. ich hab nochmal nen anderen compiler versucht (borland) da kommt wieder nen anderer fehler -.- ich glaub ich lass es .. das is mir echt zu blöd das muss doch noch anders gehen als mit detours -.-
ich compilier als cpp .. daran kanns eig nich liegen
en freund meinte dass die fehler in code blocks daran liegen dass die lib nich richtig gelinkt wäre ..
könnte es daran liegen?
Ich glaube Code::Blocks oder DevCpp erlauben kein Linken über #pragma comment. Versuch's in den Projekteinstellungen oder eben mit VsC++.
Was gibt dir denn VsC++ für Errors? Ich kann mir das nicht vorstellen. Wenn du Hilfe brauchst schreib mich mal in MSN () bzw. ICQ 250173498 an, und ich gucke ob ich dir helfen kann.
Was gibt dir denn VsC++ für Errors? Ich kann mir das nicht vorstellen. Wenn du Hilfe brauchst schreib mich mal in MSN () bzw. ICQ 250173498 an, und ich gucke ob ich dir helfen kann.
Dito, kann ich mir auch nicht vorstellen wieso es dort Fehler auswerfen sollte.
Eventuell hatte er kein leeres DLL Projekt genommen, sondern mit dem standard Inhalt und hats dann einfach irgendwo reinkopiert.
Sehr hilfreiches Tutorial endlich hat mal ein Detour geklappt :P
Aber mal eine Frage zum ersten Parameter der DetourFunction, lässt sich jede WinApi Funktion so leicht hooken indem man lediglich den Namen der Funktion angibt ?
Ich hätte gedacht man muss die Adresse mit GetProcAdress aus dem Modul holen.
Und wenn ich jetzt eine "nicht-API-Funktion" hooken möchte kann ich mir doch einfach die Adresse mit z.B. IDA holen und die Adresse als Hex dann im ersten Parameter verwenden oder ?
// Edit
Ich habe jetzt mal versucht eine weitere MessageBox vor der Originalen auszugeben aber leider erfolglos :/
Ich habe schon geschrieben, dass man das nicht so High Level Language-like sehen sollte. Man kann mit der von der Detours Library bereitgestellten Funktion überall Code injizieren.
Quote:
Originally Posted by volchok
Aber mal eine Frage zum ersten Parameter der DetourFunction, lässt sich jede WinApi Funktion so leicht hooken indem man lediglich den Namen der Funktion angibt ?
Ich hätte gedacht man muss die Adresse mit GetProcAdress aus dem Modul holen.
Dadurch, dass MessageBoxA als externe Funktion definiert ist (#include <windows.h>), wird Platz für deren Adresse reserviert, der beim Laden der Dll mit der dynamisch herausgefundenen Adresse beschrieben wird.
Das heißt, dass &MessageBoxA dann diesen Wert zurückliefert.
GetProcAddress würde auf das gleiche Ziel hinauslaufen, nur hättest du damit wahrscheinlich ein paar unnötige Aufrufe und Strings mehr.
(Extra ohne Fachworte, um es leicht verständlich zu halten ;-)
MS Detours 1.5 07/16/2010 - Kal Online - 10 Replies hi,
i'm having problem trying to compile my dll using ms detours 2.1 (not 1.5, sorry)
detours.lib(detours.obj) : error LNK2001: unresolved external symbol "struct HINSTANCE__ * __stdcall Detoured(void)" (?Detoured@@YGPAUHINSTANCE__@@XZ)
G:\KalOnline\d3dx9_29.dll : fatal error LNK1120: 1 unresolved externals
could someone tell me how to solve it?
could not google it.
Can EDX Detours be used for multibotting 06/19/2010 - SRO Private Server - 12 Replies After editing source code can this be done? In EDX Detours thread he wrote this app can be used for another programs after tweaking the source. But i don't have any programming skills,so anyone who knows c++ please take a look at it http://www.elitepvpers.com/forum/sro-guides-templat es/308740-guide-using-windows-detours-redirect-sil kroad-proxy.html