Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 10:28

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

Advertisement



DLL Injection -> Funktion aus externem Programm nutzen (c++)

Discussion on DLL Injection -> Funktion aus externem Programm nutzen (c++) within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
MaxMilimeter's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 422
Received Thanks: 164
Exclamation DLL Injection -> Funktion aus externem Programm nutzen (c++)

Huhu allerseits,
ich habe da eine relativ simple Frage, auf die ich bei Google einfach keine Antwort finde. Undzwar möchte ich eine Funktion, die sich im Opferprogramm (das Programm in das die DLL injiziert wird) befindet, mit meinen eigenen Argumenten aufrufen. Ziel ist es in einem MMORPG die Send Funktion zu nutzen, ohne diese nachbauen zu müssen.

Habe es mal mit inline ASM probiert, also mein Paket in das Register geschrieben und die entsprechende Funktion gecalled. Mein Spiel stürzte daraufhin ab. Allerdings konnte ich im Debugger meine eigene Funktion nicht finden um sie anschließend Schritt für Schritt zu debuggen, wie komm ich an die Adresse?

War mein Ansatz richtig und wenn nicht, wie ich so etwas mit C++ realisieren?

Danke im Voraus,
MaxMilimeter
MaxMilimeter is offline  
Old 11/02/2011, 20:11   #2
 
elite*gold: 0
Join Date: Apr 2006
Posts: 6,597
Received Thanks: 1,830
Ist problemlos realisierbar . Ist aber unschön mit inline asm. Würde aber inline asm vermeiden wenn es sich um standard calling conventions handelt. Ist eigentlich ziemlich simpel du musst nur in der lage sein folgende sachen zu reversen:

*Adresse der Funktion
*Calling Convention
*Argumente der Funktion

sagen wir du hast folgende Funktion reversed (richtige calling convention,richtige reihenfolge der argumente und den rückgabewert)
Code:
void __stdcall SendPacket(int length,BYTE* pPacket);
Adresse:
Code:
0xDEADBEEF
dann:
Code:
 typedef void (__stdcall *tSendPacket)(int length,BYTE* pPacket);
tSendPacket SendPacket = (tSendPacket)(0xDEADBEEF);
jetzt kannst du die funktion einfach so in deinem code aufrufen:

Code:
SendPacket(length,pPacket);
Wenns crashed:
*Calling convention nochmal überprüfen
*Funktionsadresse überprüfen
*Reihenfolge der Argumente überprüfen

habs ausm kopf geschrieben daher kein anspruch auf richtigkeit .
Medix is offline  
Thanks
1 User
Old 11/03/2011, 21:00   #3
 
MaxMilimeter's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 422
Received Thanks: 164
Hey Medix,
ich danke dir für die Codeschnipsel und deine Tipps. Habe mir ein einfaches Programm geschrieben um das Prinzip mal auszuprobieren und es hat funktionert. Werd' mich demnächst dann ransetzen und versuchen die echte Sendfunktion aus meiner DLL heraus zu callen.

Edit: Achja, hast ein e bei typdef vergessen. Der richtige Code lautet typedef, ist aber nicht weiter schlimm. ^^
MaxMilimeter is offline  
Reply


Similar Threads Similar Threads
[HOWTO] ImageSearch - Funktion in VB nutzen
04/22/2014 - Coding Tutorials - 15 Replies
Zuerst müsst ihr die Datei ImagSearch.dll herunterladen (siehe Anhang) und im /bin/debug Ordner eures Projektes ablegen oder auch in "C:\\Windows\System32". Danach müsst ihr folgenden Code zu eurem Projekt (am Besten in einem Modul) hinzufügen. Handhabung: Falls die Koordinaten der linken oberen Ecke des gefundenen Bildes benötigt werden:
[Video]Metin2 Chat Funktion finden & nutzen
11/01/2013 - Coding Tutorials - 66 Replies
Viel Spaß Edit: Video jetzt auch online ansehbar, kleiner Fehler im Script. :rolleyes:
Programm mit Spoiler funktion
08/29/2010 - Main - 2 Replies
Hier bei epvp ist es super mit der spoiler funktion da man dadurch viel platz sparen kann. Nun wollte ich mir diverse anleitungen auch so gestalten nur habe ich in word (2010) das nicht zusammengebracht. Vl könnt ihr mir ein programm sagen was diese funktion unterstützt mfg axi92 EDIT1: Kommt mit bitte nicht mit der Hyperlink funktion die kenne ich bereits =)
Folgen Funktion trotz Multiclient nutzen?
01/13/2010 - Shaiya - 1 Replies
Hallo Leute, wie Ihr sicher wisst, ist das bei Shaiya so, dass sobald man das spiele fenster verlässt, sprich mal kurz zum firefox wechseln o.ä. , dann funzt das mit dem folgen schon nich mehr... Ich habe nen Multiclient und würde gerne das der eine char dem anderen automatisch folgt... sonst muss man immer hin und her switchen und das nervt... gibts da ne möglichkeit? mfg



All times are GMT +1. The time now is 10:30.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.