Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Spezielles

Spezielles Für die Bereiche API, Subclassing, Inline-Assembler, Prozesse, ect.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26915, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3326, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 312, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7643, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 20, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 23, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 58, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 146, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 71, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50944, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29.11.2009, 21:39   #1 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard DLL erkennen

Hallo alle zusammen! Mal zwei Fragen...

1.) Gibt es eine einfache Möglichkeit festzustellen, ob eine beliebiege Datei ausführbar - also ein Treiber, eine EXE oder eine DLL ... - ist?

2.) Besteht Interesse an einer einfachen Möglichkeit, dies mit Profan zu testen - also an einer PCU?
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 29.11.2009, 22:44   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Ich würde sagen, ein einfaches LoadLibrary() genügt für so eine Erkennung schon fast.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 29.11.2009, 23:34   #3 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Schon mal ausprobiert? Was passiert zum Beispiel, wenn man versucht eine Textdatei mittels LoadLibrary zu laden?
Code:
IF FileExists($Progdir+"Include"+"\"+"Windows.ph")
 UseDLL($Progdir+"Include"+"\"+"Windows.ph")
endif
WaitKey
Code:
 
Declare File$
File$=$Progdir+"Include"+"\"+"Windows.ph"
IF FileExists(File$)
 Print External("Kernel32","LoadLibraryExA",addr(File$),0,$1)
endif
WaitKey
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT

Geändert von AHT (29.11.2009 um 23:42 Uhr)
AHT ist offline   Mit Zitat antworten
Alt 30.11.2009, 05:20   #4 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

Das funktioniert mal für exe und nicht ausführbare Dateien, nur dll's werden nicht als solche erkannt.
External("Kernel32.dll","GetBinaryTypeA",addr(file$),flag#)
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Alt 30.11.2009, 06:35   #5 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Zitat:
Schon mal ausprobiert? Was passiert zum Beispiel, wenn man versucht eine Textdatei mittels LoadLibrary zu laden?
Es wird 0 zurück gegeben.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 30.11.2009, 11:17   #6 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Hab's grad gefunden: Es wird aber nur 0 zurückgeben, wenn man LoadLibraryEx mit dem Flag LOAD_LIBRARY_AS_DATAFILE benutzt, ansonsten gibt es eine Messagebox (siehe Quelltexte weiter oben).
Für meine Zwecke wollte ich die "DLL" nicht gerne laden - ich habe da nach einer anderen Möglichkeit gesucht. Wie Bangkok schon berichtet hat, geht GetBinaryType nicht, denn das liefert keine DLLs. SHGetFileInfo liefert zwar einen String bezüglich der Datei zurück, es ist aber etwas schwierig den vernünftig auszuwerten. Ich habe mir also was gebaut, das die Info ob es nun eine DLL ist oder nicht direkt aus dem "Header" der Datei holt.

Es lohnt sich jetzt für mich nicht, aufs geratewohl daraus eine PCU zu bauen. Sollte jemand das aber für seine Anwendung brauchen, kann ich das noch nachholen.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT

Geändert von AHT (30.11.2009 um 11:19 Uhr)
AHT ist offline   Mit Zitat antworten
Alt 30.11.2009, 11:31   #7 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Die MessageBox, die da erscheint, enthält übrigens einen witzigen Übersetzungsfehler:

__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 30.11.2009, 16:57   #8 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

Bei mir kommt keine Meldung.

Ich glaub auch, dass sich eine Unit kaum lohnen wird. Liesst du nur die beiden ersten Bytes aus? MZ.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 30.11.2009, 18:00   #9 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Nein, natürlich nicht.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Alt 30.11.2009, 19:45   #10 (Direktlink)
Stammuser
 
Benutzerbild von Andreas Miethe
 
Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
Standard

Diese Dateien sollten doch alle einen PE-Header haben. Wie wäre es wenn Du den ausliesst ?

Code:
Declare File#
set("Filemode",0)
CLS
Var FName$ = $SysPath+"\\Kernel32.dll"
Var Size& = Filesize(FName$)

Dim File#,Size&
Assign #1, FName$
OpenRW #1
BlockRead(#1, File#,0,Size&)
Close #1
If MemPos(File#,0,"PE") > 0
Print "ausführbar"
Else
Print "nicht ausführbar"
Endif
Dispose File#

Waitinput
end
__________________
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
Andreas Miethe ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 30.11.2009, 20:31   #11 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.786
Standard

Zitat:
Zitat von Andreas Miethe Beitrag anzeigen
Diese Dateien sollten doch alle einen PE-Header haben. Wie wäre es wenn Du den ausliesst ?
Jo, richtig, das tue ich ja - ich gehe aber noch einen Schritt weiter.
Ich kontrolliere zuerst e_magic des IMAGE_DOS_HEADER auf "MZ", dann hohle ich mir e_lfanew aus IMAGE_DOS_HEADER und Springe zum IMAGE_NT_HEADERS. Dort kontrolliere ich auf "PE" und rutsche dann zum IMAGE_OPTIONAL_HEADER herunter, wo ich auf IMAGE_NT_OPTIONAL_HDR32_MAGIC bzw. IMAGE_NT_OPTIONAL_HDR64_MAGIC kontrollierre. Das ist schon recht sicher.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Spezielles

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
unnötige SW erkennen?! frage Software - Allgemein 1 02.06.2006 22:32
CPU erkennen??? Syck Hardware - Kaufempfehlungen 9 20.03.2006 22:53
Erkennen des 2.ten Monitors darkstar04 Windows XP 13 03.05.2005 09:11
laufwerke erkennen? Kwäik Hardware - Problemlösungen 3 23.02.2005 15:49
CPU-Kern erkennen! Sandro Hardware - Problemlösungen 1 07.02.2005 16:39



Alle Zeitangaben in WEZ +2. Es ist jetzt 06:06 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2