Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Unbekannte DLL Funktionsaufbau ermitteln (https://www.delphipraxis.net/115153-unbekannte-dll-funktionsaufbau-ermitteln.html)

chaosben 6. Jun 2008 21:01


Unbekannte DLL Funktionsaufbau ermitteln
 
nAbend!

Ich brauch mal einen Tip oder Schubbs in die richtige Richtung. Ich habe eine DLL von der ich nur die Funktionen kenne, die sie exportiert. Auf welchem Weg bekomme ich heraus, wie die Funktions-Köpfe (Parameter, Rückgabe, stdcall|cdecl) aussehen?
Sieht man sowas im Dissassembler? Und wenn ja, woran? Oder geht es einfacher?

Werft mir einfach mal ein paar Stichworte an den Kopf - vielleicht reicht das schon. :)

sirius 6. Jun 2008 21:09

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Aus einer normalen DLL bekommst du nix raus. Auch der ASM-Code hilft dir recht wenig. Der könnte dir zwar ein paar Hinweise geben, aber i.A. reichen die nicht aus.

Remko 6. Jun 2008 21:28

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Your best bet is using Ida, there is a freeware version @http://www.hex-rays.com/idapro/idadownfreeware.htm. Ida will tell you at least the calling convention and the number of parameters. If you have a PDB (eg if it's a microsoft dll, IDA will download the PDB from Microsoft for you) for the file chances that you might get some of the parameters are likely.

What DLL is it?

chaosben 7. Jun 2008 05:55

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Its the WirelessService.dll from a HTC Smartphone running Window Mobile 6 (The dll is was developed by HTC). I still tried IDA but it crashes while "setting traget processor to 'arm'".

brechi 7. Jun 2008 09:09

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
darfst sie uppen? dann mach das mal bzw schick sie mir :)

Noinini 7. Jun 2008 11:57

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Schon mal mit Dependency Walker versucht? Ein ziemlich cooles Tool, dass Dir alle notwendigen Informationen geben sollte!

chaosben 7. Jun 2008 13:14

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Hmmm .. der Dependency-Walker sagt mir die Funktionen. Kann er mir aber auch sagen, wie diese aufgebaut sind?

Noinini 7. Jun 2008 15:05

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Verdammt! Ich habe das Ding ewig nicht mehr gebraucht und daher vergessen, dass es leider nicht bei allen Funktionen die gewünschten Informationen liefert.
Hab's gerade noch mal ausprobiert, wenn Du in der aktuellen Version unter "View" "Undecorate C++ Commands", bzw. über den Button oder F10 gehst, kannst Du bei einigen dlls, z.B. der msvcrt.dll tatsächlich die Parameter zu den C++ Funktionen sehen.
Sorry, dass ich Dich da auf die falsche Fährte geführt habe...
:duck:

chaosben 7. Jun 2008 15:07

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Ist ja kein Problem. :) Danke für den Hinweis.

Besser einen misslungener Versuch, als gar keiner.

OldGrumpy 7. Jun 2008 21:00

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Was willst Du denn eigentlich mit dem Wireless Monitor Service anstellen? Das Ding wird doch sicherlich eine entsprechende API haben, oder?

chaosben 7. Jun 2008 22:01

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Eine API-Doku konnte ich bisher nicht auftreiben.

Im Prinzip suche ich ein Möglichkeit, WLAN-Packete zu capturen. Mehr nicht. Und bei der Suche bin ich auf diese DLL gestoßen, deren exportierte Funktionen vielversprechend aussehen.

Christian Seehase 7. Jun 2008 23:57

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Moin Benjamin,

vielleicht wäre dann WinPCap was für Dich.

Remko 8. Jun 2008 08:30

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
The DLL seems to be for Windows Mobile, so do you want to run the capturing on a Windows Mobile device?

chaosben 8. Jun 2008 10:20

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Ja, ich will mit dem PDA capturen.

Ich weiß, eigentlich müsste ich erstmal den WLAN-Chip untersuchen, ob der das unterstützt. Dann müsste ich eventuelle den Treiber modden (so ich Sourcen bekomme) oder einen neuen Treiber schreiben.

Aber ganz ehrlich: Dafür reichts im Moment noch nicht (rein vom Wissen her). Es sei denn, einer von euch sagt: "Hey, das ist doch easy. Nimm dies und das und jenes, kompilier es und spiel dann an diesem Paramter rum." Dann würde ich doch den richtigen Weg gehen. :)

Olli 15. Jun 2008 23:51

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Zitat:

Zitat von Remko
Ida will tell you at least the calling convention and the number of parameters.

It'll only tell you its best guess. For most standard (not packed/not crypted) files this is a fairly good bet, but for others it might be very wrong. Especially when __fastcall (aka register in Delphi) in its variations comes in, the whole thing can become quite tricky. I've come across some pretty neat variations recently where code is being created in memory and the register variations are completely different from any compiler known to me.

But with the newest IDA version Ilfak had implemented custom calling conventions and that works pretty well :mrgreen:

@chaosben: Die DLL ist für einen anderen (nicht x86/x64) Prozessor kompiliert?

chaosben 16. Jun 2008 05:25

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Joa, die DLL ist für einen ARM (wahrscheinlich v4) compiliert.

Olli 16. Jun 2008 11:32

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Jupp, dafür brauchst du mindestens IDA Pro Standard. Die Freeware-Version kann nur x86 und nur PE-Dateien.

chaosben 16. Jun 2008 12:02

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Hmmm ich dachte es mir fast. Danke für die Hilfe.

Ich habs nun aufgegeben, weil ich festgestellt habe, das der WLAN-Chip keinen Monitor-Mode kann.

Olli 16. Jun 2008 14:37

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Ich kann gern mal versuchen reinzugucken, auch wenn meine Kenntnisse fuer diesen Prozessortyp begrenzt sind. Habe eine Lizenz von IDA Pro Advanced ;) ... aber in jedem Fall kann ich mir die Datei nicht aus den Rippen schneiden. Wenn Interesse, dann schick es mir per Email zu und nenne mir die Funktion(en) welche von Interesse ist/sind.

chaosben 18. Jun 2008 05:35

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Danke Olli, für das Angebot. Aber wie gesagt, ich habs inzwischen aufgegeben. Da würdest du dir sinnlos Mühe machen.

richard_boderich 18. Jun 2008 11:19

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Kann mir mal einer sagen was hier los ist? Leute ihr solltet euch mal festlegen welche Sprache ihr nutzt. Teils Deutsch
teils Englisch kanns nun wirklich nicht sein, oder?

Zum Thema

Wie meine DP Kollegen schon sagten, wird hier nur "Reverse Engeneering" etwas bringen. (Außer du findest eine Doku der DLL Funktionen im Inet). Besagte Tools wie Dependency Walker und ein Dissassembler leisten da gute Dienste. IDA Pro bietet sich
besonders für statische Dissassemblierung an, da es eine Menge Funktionen zur Analyse bietet. (Procedure/Funktionsnamen, Api Calls usw.

mfG Richard

Olli 18. Jun 2008 11:43

Re: Unbekannte DLL Funktionsaufbau ermitteln
 
Zitat:

Zitat von richard_boderich
Kann mir mal einer sagen was hier los ist? Leute ihr solltet euch mal festlegen welche Sprache ihr nutzt. Teils Deutsch teils Englisch kanns nun wirklich nicht sein, oder?

Remko versteht zwar Deutsch, ist aber nicht so sicher beim verfassen von Texten in Deutsch. Da ich ein Zitat von ihm beantwortet habe, war es in Englisch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 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