Register for your free account! | Forgot your password?

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

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

Advertisement



Externer Aufruf von Prozessfunktionen

Discussion on Externer Aufruf von Prozessfunktionen within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Externer Aufruf von Prozessfunktionen

Hallo zusammen,

ich bräuchte mal eure Hilfe:

Ich möchte gerne ein Programm schreiben, mit dem ich eine Funktion in einem fremden Prozess (In diesem Fall ist das eine Funktion mit 3 Eingabeparametern, die einen Mapwechsel in einem Spiel frühzeitig ermöglicht) zu einem beliebigen Zeitpunkt per Knopfdruck auslösen kann. Ich habe bereits einige Tutorials zum Thema DLL-Injektion gelesen, mit der das wohl möglich sein soll. Allerdings habe ich nur Tutorials gefunden, die in dem fremden Prozess eine msg-box auslösen. Das ist natürlich auch schön aber hilft mir nicht wirklich weiter
Gibt es eine Möglichkeit das o.g. möglichts einfach zu bewergstelligen?

Noch etwas am Rande:
-Meine bevorzugte Programmiersprache ist VB.net
-Bitte verwendet in euren Antworten möglichts viele Code Beispiele, da ich mir die Funktion daran am ehesten erklären kann

Ich freue mich über jede Hilfe!
Nulpe123 is offline  
Old 08/07/2010, 11:51   #2
 
●ROBBY●'s Avatar
 
elite*gold: 1
Join Date: Jun 2009
Posts: 1,142
Received Thanks: 158
Ich kenn mich damit zwar nicht wirklich aus aber soviel weiß ich: Du musst erstmal mit OllyDbg die Funktion zum Mapwechsel finden und dann mit Dll-Injektion den benötigten Assembler Code injizieren (korrigiert mich wenn ich falsch liege).
Das Thema interessiert mich nämlich auch brennend aber soviel wie ich gehört habe ist das nichts für Anfänger sondern schon eher für Fortgeschrittene.
●ROBBY● is offline  
Old 08/07/2010, 13:11   #3
 
elite*gold: 0
Join Date: Mar 2008
Posts: 747
Received Thanks: 245
Du kannst das mit CreateRemoteThread machen.
Eine Dll injection kannst aber vergessen weill du VB.net benutzt.
Akorn is offline  
Old 08/07/2010, 16:32   #4
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Quote:
Originally Posted by Akorn View Post
Eine Dll injection kannst aber vergessen weill du VB.net benutzt.
Das ist mir schon klar. Ich werde mich natürlich auf die notwendigen Sprachen einstellen.
Nulpe123 is offline  
Old 08/07/2010, 19:04   #5
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Wie ich eine DLL in einen Prozess bekomme habe ich jetzt anhand mehrer Tutorials verstanden.
Allerdings weiß ich immernoch nicht was in der dll stehen soll. Es soll schließlich kein Biep oder eine msg box kommen sondern es soll die Funktion GoZone(int,int,int) (den Namen dieser Funktion kenn ich bereits) aus dem injizierten Prozess ausgeführt werden.
Der Inhalt einer solchen dll würde mich schon enorm weiterbringen.
Nulpe123 is offline  
Old 08/07/2010, 19:06   #6
 
●ROBBY●'s Avatar
 
elite*gold: 1
Join Date: Jun 2009
Posts: 1,142
Received Thanks: 158
●ROBBY● is offline  
Thanks
1 User
Old 08/07/2010, 19:09   #7
 
Bl@ze!'s Avatar
 
elite*gold: 240
Join Date: Dec 2006
Posts: 1,579
Received Thanks: 1,609
Du brauchst die Addresse der GoZone() funktion, die du aufrufen möchtest.
Das ganze Kapitel nennt sich übrigens "Funktionszeiger" , was du dafür kennen musst. (Neben der normalen MsgBox DLL Injektion )
Bl@ze! is offline  
Thanks
1 User
Old 08/07/2010, 23:11   #8
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Quote:
Originally Posted by Unkn0wn0x View Post
Da habe ich die Seite doch tatsächlich in einer deutschen Kurzfassung gefunden:

Stück für Stück komm ich voran, danke euch 2
Nulpe123 is offline  
Old 08/08/2010, 14:27   #9
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
lol.
Aber jetzt mal ernst:
  • die dll solltest du in c++ schreiben
  • Die adresse kannst du mit einer winapi funktion (getprocadress glaub ich) herausfinden
  • gozone ist eine memberfunktion! also thiscall.

Ps: wenn ich zuhause bin kann ich vieleicht auch ein codebeispiel posten.
nkkk is offline  
Thanks
1 User
Old 08/08/2010, 19:35   #10
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Quote:
Originally Posted by nkkk View Post
Ps: wenn ich zuhause bin kann ich vieleicht auch ein codebeispiel posten.
Das wäre super nett
Nulpe123 is offline  
Old 08/08/2010, 19:55   #11
 
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
Schritt 1: Verabschiede dich von VB und .NET.

Ansonsten, wenn du nur 'ne Funktion callen willst, erstelle 'nen Thread im Spiel (CreateRemoteThread) und rufe deine Funktion per inline ASM oder Funktionszeiger auf.
SmackJew is offline  
Old 08/08/2010, 20:18   #12
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
Quote:
Originally Posted by SmackJew View Post
Schritt 1: Verabschiede dich von VB und .NET.

Ansonsten, wenn du nur 'ne Funktion callen willst, erstelle 'nen Thread im Spiel (CreateRemoteThread) und rufe deine Funktion per inline ASM oder Funktionszeiger auf.
Ich hab es mit inline asm gemacht.
nkkk is offline  
Old 08/08/2010, 22:00   #13
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Einen Injector habe ich soeben mit Hilfe eines Tutorials in VB.net 2008 geschrieben. Ob der auch wirklich was taugt kann ich leider nicht sagen, denn es fehlt mir noch die .dll und da habe ich leider keine Ahnung was da jetzt drin stehen soll. Ich werde die Tage noch ein bisschen danach googlen.

Für Tipps bin ich trotzdem immernoch offen


Edit: Der Injektor funktioniert einwandfrei
Nulpe123 is offline  
Old 08/10/2010, 16:07   #14
 
Nulpe123's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 399
Received Thanks: 272
Ich bin jetzt soweit, dass ich meine eigne kleine .dll geschrieben habe. Injekten lässt die sich auch so weit ohne Probleme, allerdings macht sie nicht das, was sie machen soll.

Code:
MessageBox(NULL, TEXT("Erfolgreich injectet"), NULL, MB_OK);

	typedef UINT (CALLBACK* LPFNDLLFUNC1)(UINT, UINT, UINT);

HINSTANCE hDLL;               // Handle to DLL
LPFNDLLFUNC1 lpfnDllFunc1;    // Function pointer
int  uParam1 = 2, uParam2 = 0, uParam3 = 149, uReturnVal;

hDLL = LoadLibrary(TEXT("Engine.dll"));
if (hDLL != NULL)
{
   lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,
                                           "GoZone");

		MessageBox(NULL, TEXT("Startet..."), NULL, MB_OK);

   lpfnDllFunc1(uParam1, uParam2, uParam3);

		MessageBox(NULL, TEXT("Ausgeführt"), NULL, MB_OK);
Die erste msg box erscheint schonmal. Die 2. auch. Dann sollte der ( zumindest ist das in der Beschreibung von dem Code, von der Seite, wo ich den her habe so beschrieben ) die Funktion, die ich zuvor bei GetProcAddress eingegeben habe ausführen. Leider passiert nichts und auch die letzte msg box kommt nicht.
was könnte ich falsch gemacht haben? Habe ich die richtige .dll geladen, ist der Funktionsname "GoZone" überhaupt richtig? Mit ollydbg habe ich die Funktion in der Eninge.dll gefunden, allerdings waren vor und hinter der Funktion noch Sonderzeichen angegeben ( Hier [] ) "[]GoZone[]".
Nulpe123 is offline  
Old 08/10/2010, 17:12   #15
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
Quote:
Originally Posted by Nulpe123 View Post
Ich bin jetzt soweit, dass ich meine eigne kleine .dll geschrieben habe. Injekten lässt die sich auch so weit ohne Probleme, allerdings macht sie nicht das, was sie machen soll.

Code:
MessageBox(NULL, TEXT("Erfolgreich injectet"), NULL, MB_OK);

	typedef UINT (CALLBACK* LPFNDLLFUNC1)(UINT, UINT, UINT);

HINSTANCE hDLL;               // Handle to DLL
LPFNDLLFUNC1 lpfnDllFunc1;    // Function pointer
int  uParam1 = 2, uParam2 = 0, uParam3 = 149, uReturnVal;

hDLL = LoadLibrary(TEXT("Engine.dll"));
if (hDLL != NULL)
{
   lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,
                                           "GoZone");

		MessageBox(NULL, TEXT("Startet..."), NULL, MB_OK);

   lpfnDllFunc1(uParam1, uParam2, uParam3);

		MessageBox(NULL, TEXT("Ausgeführt"), NULL, MB_OK);
ist der Funktionsname "GoZone" überhaupt richtig?
nein
nkkk is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Metin2 pserver externer MySQL Server
08/02/2010 - Metin2 Private Server - 14 Replies
Guten tag ich bin gerade dabei einen PServer mit nem Kumpel einzurichten und wir haben noch eine MySQL Datenbank über. Jetzt würde ich gerne wissen wie man den Server auf diese Datenbank connecten lassen kann.
server geht nicht bei externer db
07/27/2010 - Metin2 Private Server - 4 Replies
hallo erstmal ich weiß zwar nihct ob das der richtige berreich ist aba ich fange erstmal an also ich hab nach dem tut von imer Laggfreien Stabiler sicherer(!) Server bis > 1000 Spieler (mehr nicht tested) naja habe es so gemacht und die sachen geändert allerdings nur die player common db ... nun hab eich allerdiongs das problem das er immer connectrin refused anziegt und nej core fehler hat hier mal der screen daszu http://www4.pic-upload.de/27.07.10/rq9ef5d85apu.j pg naja hier mal der...
Problem mit neuer externer Festplatte
05/04/2010 - Technical Support - 3 Replies
Also ich habe mir Heute eine 1 tb festplatte von TOSHIBA gekauft. http://www.dealgott.de/wp-content/uploads/2009/12 /toshibaPX1396E.JPG nur habe ich nun ein Problem normal sind insgesammt 1000gb verfügbar so darauf war von anfang an McAffe zum Installieren drauf was 280 mb verwenden.Windows zeigt mir aber "nur" 931 gb http://img215.imageshack.us/img215/5653/unbenannt peh.jpg an die frei sind was ja irgendwie nicht stimmen kann. So nach Windows müsste ich ja 931 gb frei(was aber...
Externer Monitor Problem
02/23/2010 - Technical Support - 6 Replies
Hey ich habe folgendes Problem ich hab nen laptop aber der bildschirm ist kaputt also hab ich jetzt nen externen nur vor der anmeldung geht der immer aus und funktioniert nicht mehr. wenn ich aber im abgesicherten modus starte funktioniert der einwandfrei ich kann halt nur nicht starten... hilfe dringend nötig ;)
Externer Hack?
01/20/2010 - World of Warcraft - 2 Replies
Heyho, Ich habe eine ganz kleine frage, welche Hacks bzw Programme sind Extern.. (Wenn WPE PRO extern ist hat es sich erledigt :p ) habe nur keine ahnugn was Extern ist (dumm halt) Ich hoffe ihr könnt mir weiter helfen.. danke und BTW: Es ist für 2.4.3 :rtfm: das Teil, das die protected functions der WoW API freigibt, DAS wäre hilfreich!



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


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.