![]() |
Anzeige:
|
|
|||||||
| Helfer & Tools Programme für und in XProfan und Fragen dazu. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
|
Ein kleines Utility, um aus einer Dll eine XProfan-Include-Datei zu generieren. Liegt als Exe und in Dll-Form vor. Die Dll hat eine zusätzliche Funktion, um gezielt die Parameteranzahl einer bestimmten Funktion zu ermitteln.
Dll2Inc - zu finden bei den Dll's auf meiner Webpage.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. Geändert von Frabbing (30.01.2011 um 16:03 Uhr) |
|
|
|
|
|
|
#2 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.078
|
Geiles Teil...
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3 |
|
|
|
|
|
#3 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
|
Sehr schön, kann ich brauchen
__________________
Gruß Thomas Wenn mir früher jemand gesagt hätte, ich würde freiwillig eine Wanze mit mir herum tragen und sie auch noch selbst aufladen, hätte ich laut gelacht. Heute habe ich ein Smartphone. http://realsource.de |
|
|
|
|
|
#4 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Bei der Exe Version muss scheinbar noch etwas schief laufen. Ich hatte eine DLL mit sehr vielen Funktionen geladen. (Audiogenie3.dll). Das Programm hat sich ohne Kommentar verabschiedet. Die DLL Version hat dagegen funktioniert.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#5 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 07.12.2009
Beiträge: 18
|
mein Testbericht:
habe mir die Audiogenie3.dll (aktuell 2.0.3.1) 32Bit heruntergeladen und getestet: im Verzeichnis der Audiogenie3.dll befindet sich ordnungsgemäß die AudioGenie3_dll2inc.inc mit 452 Definitionen bei der 64-Bit Version der AudioGenie3.dll kommt der Fehler: die Datei kann nicht zur Analyse verwendet werden |
|
|
|
|
|
|
#6 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 07.12.2009
Beiträge: 18
|
@Frank: wenn du das selbst testen willst:
Download von AudioGenie |
|
|
|
|
|
#7 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 07.12.2009
Beiträge: 18
|
|
|
|
|
|
|
#8 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
|
Das liegt daran, dass ein 32 Bit-Programm keine 64 Bit-Dll per LoadLibrary laden kann.
Wenn ich Zeit habe, erstelle ich auch noch eine 64 Bit-Version des Utility. Die Audiogenie werde ich heute abend testen. Hatte auch lange Zeit Andreas' Tool verwendet. Bringt mir aber in letzter Zeit öfters Virenwarnungen und ich wollte einfach testen, ob und wie man die Anzahl Parameter ermitteln kann.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#9 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
Solange es kein 64er XProfan gibt, denke ich, dass kein Bedarf an einer 64Bit-Version besteht, oder?
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
#10 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 07.12.2009
Beiträge: 18
|
ja, dachte schon, dass das ein 32/64-Bit Problem ist
Ob eine 64-Bit version der DLL2Inc gebraucht wird, ob Bedarf, Zeit und Lust dazu ist, dazu kann sich Frank seine Gedanken machen Dieter/Bankok eine Fehlfunktion bei der Audiogenie3.dll gemeldet hat |
|
|
|
|
|
|
#11 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Muss mich berichtigen, nach einem Neustart des Rechners hat die Exe auch geklappt. Ich hatte wohl Probleme mit einer Videoschnittsoftware, die 4 x im Speicher hing nach dem Beenden. Habe nachdem ich den anderen Testbericht gelesen hatte mal den Taskmanager gestartet und sah dann die Leichen dort hängen.
Ich habe das Ergebnis mal mit dem Tool verglichen, das Andreas in seinen Editor eingebaut hat. Andreas Tool konnte nur 448 Funktionen erkennen, 452 Scheint aber richtig zu sein da ImportDLL(".....","*") ebenfalls 452 erkennt. Dafür scheint die Erkennung der Parameteranzahl etwas besser zu sein. @Frank, dein Tool scheint insbesondere Schwächen bei 0 Parametern zu haben, hier kommen sehr viele falsche Werte, so gut wie immer kommt 1. Getestet wieder mit audiogenie, da ich da viele Parameter im Kopf habe, weil ich einen Wrapper dazu geschrieben habe.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#12 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
|
Also Interesse an einer 64-Bit Version besteht schon
die DLL, aber ich denke die Anzahl der Parameter lässt sich bei Fastcall genausowenig ermitteln wie bei CDECL und 64-Bit DLLs sind immer Fastcall!
__________________
Gruß Thomas Wenn mir früher jemand gesagt hätte, ich würde freiwillig eine Wanze mit mir herum tragen und sie auch noch selbst aufladen, hätte ich laut gelacht. Heute habe ich ein Smartphone. http://realsource.de |
|
|
|
|
|
#13 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
|
Zitat:
Zur Erklärung: Da eine Dll nirgendwo die Anzahl der Funktionsparameter gespeichert hat, ist es nötig, den Austritt aus der Dll-Funktion zu erkennen und dort auszulesen, um wieviele Bytes der Stack beim Rücksprung zurückgesetzt wird. Ich werde mich mal auf die Dll konzentrieren und versuchen, meinen Algo weiter zu verbessern. Gedacht ist mein Tools aber als Utility für XPIA. Die Funktionen, die mit XPIA erstellt wurden, werden sehr sicher erkannt.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. Geändert von Frabbing (26.01.2011 um 16:16 Uhr) |
|
|
|
|
|
|
#14 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
|
Zwischen 32 und 64 Bit gibt es ja doch starke Unterschiede, hier mal ein und die gleiche kleine Funktion:
32 Bit: mov eax, dword ptr [esp+8H] ; 10010DC0 _ 8B. 44 24, 08 mov ecx, dword ptr [esp+4H] ; 10010DC4 _ 8B. 4C 24, 04 push eax ; 10010DC8 _ 50 push ecx ; 10010DC9 _ 51 call ?_05979 ; 10010DCA _ E8, 00022A31 movzx eax, al ; 10010DCF _ 0F B6. C0 neg eax ; 10010DD2 _ F7. D8 sbb eax, eax ; 10010DD4 _ 1B. C0 ret 8 ; 10010DD6 _ C2, 0008 64 Bit: sub rsp, 40 ; 800144D0 _ 48: 83. EC, 28 call ?_05103 ; 800144D4 _ E8, 00022AE7 neg al ; 800144D9 _ F6. D8 sbb ecx, ecx ; 800144DB _ 1B. C9 movzx eax, cx ; 800144DD _ 0F B7. C1 add rsp, 40 ; 800144E0 _ 48: 83. C4, 28 ret ; 800144E4 _ C3 Unter 32 Bit erkennt man am Rücksprung (hinter RET), dass 2 LongInts zurückgesprungen wird, dass die Funktion also 2 Parameter haben muß. Unter 64 Bit wird der Stack benutzt, allerdings würden 40 Bytes bedeuten, dass die Funktion 5 Parameter haben soll, hä? Selbst wenn ich einen Align rausrechne, ist die Anzahl immer noch zu hoch. Scheinbar ist dort der Rücksprung nicht mehr nachzuvollziehen...
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#15 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Zitat:
DllCanUnloadNow DllGetClassObject DllRegisterServer DllUnregisterServer
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher |
|
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Ordner an Startmenü heften bzw. generieren | Unregistriert | Windows 7 | 14 | 14.12.2009 16:54 |
| Include | P!lle | PHP/MySQL | 11 | 28.06.2007 17:56 |
| Punktwolke generieren | Frau gast | C/C++, Visual C++, Visual C++.NET | 0 | 06.07.2006 11:07 |
| Tabellen und Formulare automatisch generieren | Bamba | PHP/MySQL | 9 | 29.05.2006 17:07 |
| Grafiken generieren | quartett | C/C++, Visual C++, Visual C++.NET | 1 | 20.11.2004 01:47 |