Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 14:26

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++] Eigene Detours Teil2

Discussion on [C++] Eigene Detours Teil2 within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old 04/18/2011, 00:45   #16
 
schrillismus's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 47
Received Thanks: 11
Hm, wenn ich an das laufende Programm attache, sind alle Adressen anders und ich kann die Funktion nicht finden.
schrillismus is offline  
Old 04/18/2011, 10:16   #17


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Du meinst die Opferfunktion? Die Adresse sollte immer gleich sein, es sei denn, du hast einen polymorphen Virus geschrieben o.O
MrSm!th is offline  
Old 04/18/2011, 11:03   #18
 
schrillismus's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 47
Received Thanks: 11
Sehr interessant

Nein, so wie es aussiet war ich einfach in der ntdll
Aber die Adressen sind trotzdem bei jedem Progrmmstart anders.
Ich habe mit VS 2010 Debug kompiliert.
schrillismus is offline  
Old 04/18/2011, 22:16   #19


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Kompilier mal als Release (auch wenn es daran nicht liegen sollte)
Du meinst also, immer wenn du das Programm in Olly startest, ist die Opferfunktion an einer anderen Adresse?
MrSm!th is offline  
Thanks
1 User
Old 04/18/2011, 23:04   #20
 
schrillismus's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 47
Received Thanks: 11
Also es ist so (Jetzt mit Release): Wenn ich das Opferprogramm in Olly aufmache, Olly wieder schliesse und wieder von Vorne anfange, dann bleibt die Adresse gleich. Wenn ich dazwischen aber das Programm einfach so starte, dann ändert sich die Adresse.

Also
Olly->Olly->Olly->Gleiche Adressen
Olly->Programm normal starten->Olly->neue Adressen

Wobei die Adressänderung etwa so aussieht:
002211D9->012B11D9->001B11D9->001211D9->011911D9->013411D9->002011D9 usw.
schrillismus is offline  
Old 04/19/2011, 01:11   #21


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Lol langsam klingt es echt nach nem polymorphen Virus =D

Du meinst auch sicher die Opferfunktion und nicht das Trampolin? Hmpfff, da kann ich dir auch nicht helfen, das klingt sehr seltsam o.ô
Jedenfalls wird das wohl der Grund für den Crash sein: Die Adresse ändert sich.
MrSm!th is offline  
Old 04/20/2011, 08:31   #22
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Da der Adressbereich der Funktion schon ziemlich "hoch" ist, habe ich die Vermutung, dass die Funktion in einer DLL ausgelagert ist? Evtl. kannst du mal versuchen, ob die Funktion einen konstanten "Abstand" zur Base-Adresse der DLL hat, z.b.: DLL_BASE_ADDRESS + 0x11D9.
Falls ja, dann hättest du ja eine Lösung. Du musst die Adresse dann nur dynamisch berechnen.
xNopex is offline  
Thanks
2 Users
Old 04/20/2011, 18:45   #23
 
schrillismus's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 47
Received Thanks: 11
Hab ich auch schon versucht, der Abstand zur Base verändert sich auch.
schrillismus is offline  
Old 04/24/2011, 14:13   #24
 
elite*gold: 95
Join Date: Aug 2010
Posts: 2,254
Received Thanks: 279
Dumme Frage, wurde hier auch schon mal gestellt, aber ich komm nicht mehr weiter; Wie finde ich heraus, wieviele Bytes ein Funktionsaufruf belegt?

mono0 is offline  
Old 04/25/2011, 19:52   #25
 
schrillismus's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 47
Received Thanks: 11
In der Spalte ganz links (in Olly) stehen die Adressen der Befehle. Ich habe es so gemacht: Die Adresse nach der Funktion minus die Adresse am Anfang der Funktion.
Wenn ich die Grösse der ganzen Funktion herausfinden will, rechne ich so:
Rechner auf Hex stellen, "004114CD-00411470 = 5d" oder in dezimal 93 Bytes.

Das funktioniert auch mit einzelnen Befehlen: z.b. "push ebp" am Anfang geht von 00411470 bis 00411471. Also 1 Byte.

Bitte korrigiert mich, wenn ich flasch liege
schrillismus is offline  
Thanks
1 User
Old 06/21/2011, 16:41   #26
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
nett

erstmal danke für dieses tolle tutorial!

kleiner warnhinweis:

wenn ihr im debugmodus in visual studio kompiliert ändern sich die adressen...
wenn ihr im releasemodus kompiliert, rationalisiert er die funktion raus...

sähe dann so in c++ wieder aus:

Code:
int main( int argc, char** argv )
{
    while( true )
    {
        cout << "Von EXE\n";
        Sleep( 250 );
    }

    return 0;
}
mit dem ergebnis, dass man beim suchen vom string immer in der cout methode landet, anstatt in der funktion^^
jaja, visual studio ist böööse

kann man allerdings ausstellen:

Projekt->Eigenschaften->Konfigurations Einstellungen(oben Release einstellen)->C/C++->Optimization->Optimization->Disabled

MfG
Dr. Coxxy is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[Tutorial] Microsoft Detours
07/24/2013 - Coding Tutorials - 74 Replies
Eine kleine .dll wird geschrieben, die mithilfe der Microsoft Detours Library die MessageBoxA Funktion detourt, und den Text ersetzt, sobald sie in einen Prozess injeziert wird. Ich hoffe ich konnte es einigermaßen verständlich erklären (mein Gedankenfluss ist manchmal etwas wirr). Es ist auf Deutsch. Detours Video Tutorial
[C++] Eigene Detours Teil1
04/13/2011 - Coding Tutorials - 23 Replies
Ein dickes Hallo an alle :D, Ich möchte euch mit diesem Tutorial den Umgang mit Detours zeigen. Zu allererst klären wir die spannende Frage, was ein Detour ist: Ein Detour führt eine bestimmte Funktion von dir aus, sobald eine andere Funktion, die von dir bestimmt wird, aufgerufen wird. So ruft man bei Trainer mit einem D3D-Menü immer dann die eigene Methode zum Zeichnen des Menüs auf, wenn die Funktion EndScene() aus der D3D.dll aufgerufen wird. Also brauchst du für ein Ingame-Menü ein...
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
making cheatsss!!... help detours
08/15/2009 - Soldier Front - 0 Replies
im making my own cheat in FPS game called special force and everytime i compiled and test the dll gameguard detect it i already know that function is detected and its in detours or the function DetourFunction <<<---- i want to make undetected detours but i dont know where to start i already use the goolge



All times are GMT +2. The time now is 14:26.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.