Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DLL für fremde Applikation entwerfen (https://www.delphipraxis.net/103623-dll-fuer-fremde-applikation-entwerfen.html)

dizzler 18. Nov 2007 17:29


DLL für fremde Applikation entwerfen
 
Hallo Leute,
ich möchte gerne versuchen, ein Plugin (DLL) für ein Freeware-Programm zu entwerfen.
Dieses Programm checkt bei jedem Start einen Plugin-Ordner und listet dann später alle gefundenen Plugins auf.

Jetzt stellt sich mir die Frage: Wie muss mein Plugin aufgebaut sein, damit es vom Programm erkannt wird?
Und kann man das überhaupt ohne weiteres (ohne Kontakt zum Entwickler, etc) bewerkstelligen?

Ich könnte mir vorstellen, dass man mittels Debugger ein paar Programm-Funktionen, welche durch Plugins angesprochen werden können, ermitteln kann. Jedoch müsste ich es erstmal schaffen, dass mein "Plugin" vom Programm erkannt wird.

Ich konnte leider keine Hilfestellungen dazu finden... womöglich fallen mir auch einfach nicht die richtigen Suchbegriffe ein.


Ich hoffe hier kann mir Jemand helfen. Danke schonmal.


MfG,
dizzler

Apollonius 18. Nov 2007 17:38

Re: DLL für fremde Applikation entwerfen
 
Wenn dieses Programm für Plugins ausgelegt ist, sollte es eigentlich die benötigten Funktionen dokumentieren.
Im unwahrscheinlichen Fall, dass dem nicht so ist, könntest du vorhandene Plugin-DLLs auf die exportierten Funktionen hin untersuchen. Luckie hat dazu mal eine Klasse geschrieben.

dizzler 18. Nov 2007 18:30

Re: DLL für fremde Applikation entwerfen
 
Zitat:

Wenn dieses Programm für Plugins ausgelegt ist, sollte es eigentlich die benötigten Funktionen dokumentieren.
Leider nicht. Auf der Homepage ist nichts derartiges vorzufinden.

Zitat:

Im unwahrscheinlichen Fall, dass dem nicht so ist, könntest du vorhandene Plugin-DLLs auf die exportierten Funktionen hin untersuchen.
Mein Disassembler listet mir zwar viele Imports auf, aber sagt mir, die Anzahl der Exports sei 0.

Zitat:

Luckie hat dazu mal eine Klasse geschrieben.
Was genau soll diese Klasse machen?

Apollonius 18. Nov 2007 18:38

Re: DLL für fremde Applikation entwerfen
 
Wie soll denn eine DLL funktionieren, die nichts exportiert? Mir fallen hier nur Resourcen-DLLs ein, die wohl nicht für Plugins taugen.
Luckies Klasse untersucht eine DLL auf ihre Exporte.

lbccaleb 18. Nov 2007 18:48

Re: DLL für fremde Applikation entwerfen
 
Zitat:

Zitat von dizzler
Hallo Leute,
ich möchte gerne versuchen, ein Plugin (DLL) für ein Freeware-Programm zu entwerfen.

wie heisst denn das programm??? vllt kann man dir dann mehr weiter helfen..;-)

und programme die plugins zulassen haben oft direkt im pluginordner nen bsp mit quellcode, hast du da schon mal nachgesehen??

mfg

Relicted 19. Nov 2007 07:16

Re: DLL für fremde Applikation entwerfen
 
der zeigt dir auch einige infos an: dependency walker

Luckie 19. Nov 2007 08:26

Re: DLL für fremde Applikation entwerfen
 
Die Exports werden dir nicht viel helfen, da du keine Informationen über eventuelle Parameter bekommst. Aber wenn es zu einem Programm eine Pluginschnittstelle gibt, dann sollte diese auch irgendwo dokumentiert sein. Sollte sich beim Programm oder auf der Herstellerseite nichts finden lassen, wirst du wohl den Entwickler direkt ansprechen müssen.

dizzler 20. Nov 2007 13:25

Re: DLL für fremde Applikation entwerfen
 
Zitat:

Zitat von lbccaleb
Zitat:

Zitat von dizzler
Hallo Leute,
ich möchte gerne versuchen, ein Plugin (DLL) für ein Freeware-Programm zu entwerfen.

wie heisst denn das programm??? vllt kann man dir dann mehr weiter helfen..;-)

und programme die plugins zulassen haben oft direkt im pluginordner nen bsp mit quellcode, hast du da schon mal nachgesehen??

mfg

Das Programm heißt "AltDVB" und ist eine Software zum TV schauen am PC. Auf der Homepage ( altdvb.ro ) gibt es die Version 2.1 zum Download - dort gibt es sogar eine kleine Readme im Plugin-Ordner. Mit der konnte ich allerdings nicht viel anfangen.

Mein Plugin soll zu bestimmten Zeiten Kanäle umschalten können und Sendungen automatisch aufnehmen (im Optimalfall dazu die EPG-Daten überwachen um so zu sehen, wann die Sendung beginnt/endet).



Mit diesem "Dependency Walker" konnte ich jetzt auch einige Export-Funktionen ausfindig machen... jetzt muss ich noch herausfinden, welche davon relevant sind und dann reversen, welche Parameter übergeben werden müssen. Leichter wäre es sicherlich, wenn man die Informationen irgendwo im Netz finden würde :]


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz