|
You last visited: Today at 17:16
Advertisement
[Delphi] Dll-Injection
Discussion on [Delphi] Dll-Injection within the Coding Tutorials forum part of the General Coding category.
07/31/2011, 00:15
|
#1
|
elite*gold: 0
Join Date: Sep 2010
Posts: 10,215
Received Thanks: 5,781
|
[Delphi] Dll-Injection
under construction
|
|
|
07/31/2011, 16:14
|
#2
|
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
|
Was ist, wenn der Prozess kein Fenster hat?
Und warum gibst du den alloziierten Speicher nicht wieder frei oder erwaehnst es zumindest?
Ausserdem sind das alles WinAPI-Funktionen, heisst sie werden nicht von Delphi bereitgestellt, sondern vom OS.
Du erklaerst die Parameter teilweise falsch oder ueberhaupt nicht, sondern drueckst dich mit Ausreden davor, und den eigentlichen Vorgang einer Dll-Injection erklaerst du ebenso nicht, die von dir gewaehlte Methode auch nur sporadisch, da du eigentlich nur die benoetigten API-Funktionen beschreibst.
Zusaetzlich gibt es noch einige Methoden mehr, seine Dll in einen Zielprozess einzuschleusen, die du auch nicht erwaehnst.
"Ich würde euch ja jetzt gerne damit quälen dass ihr das selbst machen müsst, aber leider gibt es dafür in Delphi mal wieder eine wundertolle Function"
Wie willst du das sonst machen? Du benoetigst fuer eine solche Aufgabe eine Funktion des OS'
"hoffen das der Compiler was damit anfangen kann"
Die Funktion selber arbeitet mit der 0, der Compiler macht da nur push 0 drauss.
Desweiteren gibt es zu diesem Thema halt schon viele Tutorials, die 1. alle oder mehrere Methoden abdecken, 2. das Thema intensiver behandeln, 3. Beispielcode bereitstellen und ueber Google auch sehr leicht zu finden sind..
Ich weiss, dass du wohl mit deinem Tutorial nur helfen moechtest, aber mir scheint irgendwie, dass du selber nicht wirklich Ahnung davon hast..
|
|
|
07/31/2011, 16:54
|
#3
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
Also ich finde wenigstens CreateRemoteThread hätte man man komplett mit Beispiel machen sollen. Die Funktion sollte man vertehen, was sie tut.
Quote:
|
lpParameter: Hier übergeben wir das Ergebnis von VirtualAllocEx, damit LoadLibrary auch mal ein Parameter abbekommt.
|
Ist richtig, aber sehr unverständlich ausgedrückt. Der Parameter ist ein Pointer zu unserem Path der Dll, den wir in den Speicher des andern Programmes geschrieben haben.
MfG
|
|
|
07/31/2011, 22:08
|
#4
|
elite*gold: 0
Join Date: Sep 2010
Posts: 10,215
Received Thanks: 5,781
|
Quote:
Originally Posted by link
Was ist, wenn der Prozess kein Fenster hat?
|
Wie wärs mit GetPID? Stichwort TlHelp32. Process snapen und dann per First/Next sein Glück versuchen :>
Quote:
Originally Posted by link
Und warum gibst du den alloziierten Speicher nicht wieder frei oder erwaehnst es zumindest?
|
Die paar Bytes? Aber okay.
Quote:
Originally Posted by link
Ausserdem sind das alles WinAPI-Funktionen, heisst sie werden nicht von Delphi bereitgestellt, sondern vom OS.
|
Und weiter? Die Syntax bleibt Delphi, ob WinAPI oder nicht ;o
Quote:
Originally Posted by link
Du erklaerst die Parameter teilweise falsch oder ueberhaupt nicht, sondern drueckst dich mit Ausreden davor, und den eigentlichen Vorgang einer Dll-Injection erklaerst du ebenso nicht, die von dir gewaehlte Methode auch nur sporadisch, da du eigentlich nur die benoetigten API-Funktionen beschreibst.
|
Das soll auch kein in-depth Tutorial sein, es gibt eine Leute die sowas besser erklären können als ich. Aber das was ich da oberflächlich ankratze reicht für einen eigenen Injector.
Quote:
Originally Posted by link
Desweiteren gibt es zu diesem Thema halt schon viele Tutorials, die 1. alle oder mehrere Methoden abdecken, 2. das Thema intensiver behandeln, 3. Beispielcode bereitstellen und ueber Google auch sehr leicht zu finden sind..
|
Boardsuche findet nichts zum Thema Delphi und Dll-Injection.
Quote:
Originally Posted by link
Ich weiss, dass du wohl mit deinem Tutorial nur helfen moechtest, aber mir scheint irgendwie, dass du selber nicht wirklich Ahnung davon hast..
|
Du ich bin zwar kein Delphi-Guru aber ich glaube um das Thema zu meistern reicht es gerade noch
Achja und @Beispielsource: Ich unterstütze keine Copypasta ...
€: Ich will jetzt nicht defensiv klingen, ich danke euch für die Kritik aber ich sehe nun mal nicht so wie ihr ...^^
|
|
|
07/31/2011, 23:28
|
#5
|
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
|
"Wie wärs mit GetPID? [...]"
Wieso schreibst du dazu dann nichts in deinem Tutorial?
"Die paar Bytes? [...]"
Ist auf jeden Fall unsauber, auch wenn es nur ein paar Bytes sind
"[...] Die Syntax bleibt Delphi, ob WinAPI oder nicht ;o"
Was hat das mit der Syntax zu tun?
Sicherlich ist die Syntax der Funktionsdeklarationen die von Delphi, diese Funktionsheader sind ja schließlich dazu da, seinem Programm, das man in Delphi schreibt, die Funktionen bekannt zu machen
Letztlich hat die Funktionsdeklaration dennoch nichts mit der Funktion an sich zu tun. Es ist nun mal eine Funktion, die von Windows bereit gestellt wird, was unter dem Begriff WinAPI zusammengefasst wird.
Somit ist "Dazu gibt es in Delphi die schöne Function OpenProcess" und "aber leider gibt es dafür in Delphi mal wieder eine wundertolle Function" falsch.
"Das soll auch kein in-depth Tutorial sein [...]"
Wenn man etwas programmiert, allerdings gar nicht versteht, was es eigentlich macht bzw. wie es funktioniert, hört sich das eher nach Copy and Paste an, und wenn du so etwas erreichen möchtest, kannst du dein Post nicht als Tutorial bezeichnen und hättest auch eigentlich direkt 'nen fertigen Code zur Verfügung stellen können.
Erkläre doch einfach die Dinge soweit es von Nöten ist und verweise auf weiterführende Informationen. Und das mit dem 'von Nöten' finde ich kommt bei dir zu kurz. Wenn du nämlich einfach mal hier oder da einen Parameter nicht erklärst/auslässt, hat man die Funktion im Endeffekt nicht vollständig verstanden, was irgendwie auch teilweise mit Copy and Paste gleichkommt.
"Boardsuche findet nichts zum Thema Delphi und Dll-Injection."
1. meinte ich jetzt auch eher über Google nach Tutorials suchen und weniger auf elitepvpers
2. 
Benutzt zwar nicht Delphi, aber da du keinen Beispielcode gepostet hast, hat dein Tutorial außer nil jetzt auch nicht viel mit Delphi zu tun.
"Ich will jetzt nicht defensiv klingen [...]"
Arguing on the internet is like running in the Special Olympics. Even if you win, you're still retarded. :P
|
|
|
07/31/2011, 23:36
|
#6
|
elite*gold: 0
Join Date: Sep 2010
Posts: 10,215
Received Thanks: 5,781
|
Quote:
Originally Posted by link
"Wie wärs mit GetPID? [...]"
Wieso schreibst du dazu dann nichts in deinem Tutorial?
|
Ganz ehrlich? Weil ich die Funktion für meine eigenen Programme nutzte. Mag egoistisch sein, aber naja ...
Quote:
Originally Posted by link
"Die paar Bytes? [...]"
Ist auf jeden Fall unsauber, auch wenn es nur ein paar Bytes sind
|
Ja ich habs ja verstanden
Quote:
Originally Posted by link
"[...] Die Syntax bleibt Delphi, ob WinAPI oder nicht ;o"
Was hat das mit der Syntax zu tun?
Sicherlich ist die Syntax der Funktionsdeklarationen die von Delphi, diese Funktionsheader sind ja schließlich dazu da, seinem Programm, das man in Delphi schreibt, die Funktionen bekannt zu machen
Letztlich hat die Funktionsdeklaration dennoch nichts mit der Funktion an sich zu tun. Es ist nun mal eine Funktion, die von Windows bereit gestellt wird, was unter dem Begriff WinAPI zusammengefasst wird.
Somit ist "Dazu gibt es in Delphi die schöne Function OpenProcess" und "aber leider gibt es dafür in Delphi mal wieder eine wundertolle Function" falsch.
|
Nein. Ich verstehe was du meinst aber da muss ich dir widersprechen. Nicht in jeder Programmiersprache gibt es Lokalisierungen von dieser und jener API und wenn es welche gibt, so sind sie Lokalisierungen einer API in der Sprache X, also stellt Sprache X sie bereit.
Quote:
Originally Posted by link
"Das soll auch kein in-depth Tutorial sein [...]"
Wenn man etwas programmiert, allerdings gar nicht versteht, was es eigentlich macht bzw. wie es funktioniert, hört sich das eher nach Copy and Paste an, und wenn du so etwas erreichen möchtest, kannst du dein Post nicht als Tutorial bezeichnen und hättest auch eigentlich direkt 'nen fertigen Code zur Verfügung stellen können.
Erkläre doch einfach die Dinge soweit es von Nöten ist und verweise auf weiterführende Informationen. Und das mit dem 'von Nöten' finde ich kommt bei dir zu kurz. Wenn du nämlich einfach mal hier oder da einen Parameter nicht erklärst/auslässt, hat man die Funktion im Endeffekt nicht vollständig verstanden, was irgendwie auch teilweise mit Copy and Paste gleichkommt.
|
Okay evtl. editiere ich es noch ... Das Tutotrial hatte ich mal für ein anderes Umfeld geschrieben, bei dem ich davon ausging das es Ahnung von dem Thema hat. Aus purer Faulheit hab ich nicht viel geändert, wollte es euch dennoch nciht vorenthalten. Dachte vllt. interessiert es ja den ein oder anderen.
Quote:
Originally Posted by link
"Boardsuche findet nichts zum Thema Delphi und Dll-Injection."
1. meinte ich jetzt auch eher über Google nach Tutorials suchen und weniger auf elitepvpers
2. 
Benutzt zwar nicht Delphi, aber da du keinen Beispielcode gepostet hast, hat dein Tutorial außer nil jetzt auch nicht viel mit Delphi zu tun.
|
Google findet viel ;o
Und zu letzterem: Kann ich nicht ganz nachvollziehen.
Quote:
Originally Posted by link
"Ich will jetzt nicht defensiv klingen [...]"
Arguing on the internet is like running in the Special Olympics. Even if you win, you're still retarded. :P
|
true words
|
|
|
08/01/2011, 00:57
|
#7
|
elite*gold: 196
Join Date: Nov 2005
Posts: 625
Received Thanks: 192
|
// Nichts Neues, da alles was mir auffällt, link schon viel früher aufgefallen ist...
Quote:
Originally Posted by Nomad'
"Tutorial"
|
Ist ja schon krass, wie sehr du auf Delphi eingegangen bist.
Quote:
Originally Posted by Nomad'
Dazu gibt es in Delphi die schöne Function OpenProcess.
|
Nicht nur in Delphi (da Funktion der WinAPI).
Quote:
Originally Posted by Nomad'
Ich würde euch ja jetzt gerne damit quälen dass ihr das selbst machen müsst, aber leider gibt es dafür in Delphi mal wieder eine wundertolle Function: WriteProcessMemory.
|
Jo, in C++ auch, welch' Überraschung.
Nachvollziehen, warum du nicht gleich alle angesprochenen Funktionen implizit als Delphi-exklusiv bezeichnest, kann ich nicht - will ich auch gar nicht.
Quote:
Originally Posted by link
Und warum gibst du den alloziierten Speicher nicht wieder frei oder erwaehnst es zumindest?
|
Nerdbonzen scheißen auf die paar Bytes, link.
Quote:
Originally Posted by Nomad'
Und weiter? Die Syntax bleibt Delphi, ob WinAPI oder nicht ;o
|
Du hast nicht verstanden, worauf link hinauswollte.
Quote:
Originally Posted by Nomad'
es gibt eine Leute die sowas besser erklären können als ich.
|
Wenn du es so siehst, hättest du es gleich sein lassen können.
Quote:
Originally Posted by Nomad'
Achja und @Beispielsource: Ich unterstütze keine Copypasta ...
|
So kann man sich natürlich auch herausreden (welchen Grund dazu du auch immer haben magst).
Quote:
Originally Posted by Nomad'
Ganz ehrlich? Weil ich die Funktion für meine eigenen Programme nutzte. Mag egoistisch sein, aber naja ...
|
Wie alt bist du eigentlich? Und viel wichtiger: Was erhoffst du dir davon? Dass, nur weil du diese Möglichkeit nicht ansprichst, niemand darauf kommen wird und dein Programm ganz doll besonders bleibt?
Quote:
Originally Posted by Nomad'
Das Tutotrial hatte ich mal für ein anderes Umfeld geschrieben, bei dem ich davon ausging das es Ahnung von dem Thema hat.
|
Wow.
Quote:
Originally Posted by Nomad'
Und zu letzterem: Kann ich nicht ganz nachvollziehen.
|
Was ist daran denn nicht nachzuvollziehen? Es ist doch offensichtlich, dass mit leichten (ausschließlich syntaktischen?) Abänderungen dein "Tutorial" auf eine andere Programmiersprache portierbar ist et vice versa.
|
|
|
08/01/2011, 03:12
|
#8
|
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
|
Es ist falsch zu sagen, dass Delphi z.B. WriteProcessMemory bereit stellt.
Da der Funktionsheader dem Linker lediglich sagt, dass ein Eintrag in der Import Table anzulegen ist, um die Funktion aus den Windows Dlls zu importieren.
Diese Deklaration für Compiler und Linker könntest du dir aber auch einfach selber schreiben, wenn sie jetzt nicht in den Delphi-Includes vorhanden sein sollte.
Die Funktion an sich hat also nichts mit Delphi zu tun und jede Sprache, die als PE Datei läuft (bei Skriptsprachen wäre das dann der Interpreter, der die Funktionen importiert oder zumindest GetProcAddress) kann auf diese Funktion zugreifen.
"Und zu letzterem: Kann ich nicht ganz nachvollziehen."
Damit nahm ich Bezug auf "Boardsuche findet nichts zum Thema Delphi und Dll-Injection." und wollte sagen, dass es sein kann, dass du nichts zu Dll-Injection in Verbindung mit Delphi gefunden hast, aber halt was zu Dll-Injection, und dass dein Tutorial jetzt auch nicht sehr Delphi-spezifisch ist, außer halt nil und die PAnsiChar-Casts
Bau dein Tutorial doch einfach noch etwas aus, indem du evtl. noch schreibst, was zu tun ist, wenn kein Fenster vorhanden ist, Erklärungen für die ausgelassenen Parameter nachholst und einen Beispielcode dazu packst, der dann nicht so komplett ist, dass C&P reicht, oder der ein, zwei kleine Fehler enthält, die man schnell entdeckt, wenn man das Tutorial wirklich durchgegangen ist
|
|
|
08/01/2011, 10:54
|
#9
|
elite*gold: 0
Join Date: Nov 2009
Posts: 343
Received Thanks: 45
|
Wenn du dein ersten Post noch mal überarbeitest und noch andere Methoden hinzufügst, kannste dein Tutorial retten.
MfG
|
|
|
08/01/2011, 18:28
|
#10
|
elite*gold: 0
Join Date: Sep 2010
Posts: 10,215
Received Thanks: 5,781
|
Quote:
Originally Posted by link
Es ist falsch zu sagen, dass Delphi z.B. WriteProcessMemory bereit stellt.
Da der Funktionsheader dem Linker lediglich sagt, dass ein Eintrag in der Import Table anzulegen ist, um die Funktion aus den Windows Dlls zu importieren.
Diese Deklaration für Compiler und Linker könntest du dir aber auch einfach selber schreiben, wenn sie jetzt nicht in den Delphi-Includes vorhanden sein sollte.
Die Funktion an sich hat also nichts mit Delphi zu tun und jede Sprache, die als PE Datei läuft (bei Skriptsprachen wäre das dann der Interpreter, der die Funktionen importiert oder zumindest GetProcAddress) kann auf diese Funktion zugreifen.
|
Okay, leuchtet mir ein. Aber ist schön ein bisschen Erbsen-gezählt, oder?
Quote:
Originally Posted by link
"Und zu letzterem: Kann ich nicht ganz nachvollziehen."
Damit nahm ich Bezug auf "Boardsuche findet nichts zum Thema Delphi und Dll-Injection." und wollte sagen, dass es sein kann, dass du nichts zu Dll-Injection in Verbindung mit Delphi gefunden hast, aber halt was zu Dll-Injection, und dass dein Tutorial jetzt auch nicht sehr Delphi-spezifisch ist, außer halt nil und die PAnsiChar-Casts
|
Achso ok. Jaah, mag sein ...
Quote:
Originally Posted by link
ein Tutorial doch einfach noch etwas aus, indem du evtl. noch schreibst, was zu tun ist, wenn kein Fenster vorhanden ist, Erklärungen für die ausgelassenen Parameter nachholst und einen Beispielcode dazu packst, der dann nicht so komplett ist, dass C&P reicht, oder der ein, zwei kleine Fehler enthält, die man schnell entdeckt, wenn man das Tutorial wirklich durchgegangen ist
|
Quote:
Originally Posted by yihaaa
Wenn du dein ersten Post noch mal überarbeitest und noch andere Methoden hinzufügst, kannste dein Tutorial retten.
|
Jo ihr habt Recht, werde ich wohl bei Gelegenheit machen. Und danke für den Tipp für den Aufbau @link
|
|
|
08/01/2011, 19:26
|
#11
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,911
Received Thanks: 25,411
|
Quote:
|
Okay, leuchtet mir ein. Aber ist schön ein bisschen Erbsen-gezählt, oder?
|
Nein, Delphi stellt die Funktion nicht bereit und basta 
Delphi stellt nur den Delphi-Standard bereit, so wie für C++ auch nur der C++-Standard bereitgestellt wird.
Die WindowsAPI besteht aus den Includes und Windows Dlls, welche du in Delphi nutzen kannst, aber ganz sicher nicht von dieser Sprache bereitgestellt werden.
Das ist auch der feine Unterschied zwischen Funktion/API und Befehl.
Ich krieg immer Kopfschmerzen, wenn ich sehe, wie jemand WriteProcessMemory als C++ Befehl bezeichnet ;f
#closed on request
|
|
|
 |
Similar Threads
|
DELPHI - Who make Exploits, Hacks and Tools with DELPHI?
05/15/2013 - CO2 Programming - 13 Replies
Hi all.
Iwith DELPHI, but a dont now.
hello, I use Delphi to program and i like someone put here source code of make Exploits, Hacks and Tools bot here, or part of the code.
ty to all
|
Direct Injection Codes - Delphi/C++/AutoIt
11/08/2011 - PW Hacks, Bots, Cheats, Exploits - 49 Replies
Since all pro people here is a bit selfish... i decided to made my own guide and share with the forum!!
OK... This is the best way to make your bot or whatever you making work well for you!!!
STOP being eMo and just changing addresses!! Lets play hard!!!:D
ALL INFORMATION HERE IS BASED ON PERFECT WORLD INTERNACIONAL (LAST VERSION)
Before Start:
|
[DELPHI&METIN]Wie sind die Delphi Befehle für einen Bot?
03/07/2010 - General Coding - 3 Replies
Hallo liebe com,
ich habe mal eine Frage: Ich möchte einen Metin Bot in Delphi schreiben aber ich weiß nicht die Befehle für
eine bestimmte Taste senden etc.
könnt ihr mir die pls sagen oder per pn geben
MfGGGGGG
|
Delphi?
06/02/2005 - Off Topic - 2 Replies
Hi everyone, im new here and i would like to know where i can get delphi and where i can find a tutorial for it
|
All times are GMT +1. The time now is 17:17.
|
|