AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ADSReader

Ein Thema von Luckie · begonnen am 11. Okt 2007 · letzter Beitrag vom 24. Nov 2007
Antwort Antwort
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
ADSReader

Nach dem Richard schon seinen Programm zum Anzeigen von Alternate Data Streams (ADS) vorgestellt hat, hier nun meins. Letztendlich ist es nur ein Proof of Concept, weil ich wissen wollte wie es geht und hier schon sehr interessiert nachgefragt wurde wie das mit den Alternate Data Streams funktioniert. Das Programm dient eigentlich nur zum Testen meiner TMpuADS Klasse.

Was sind Alternate Data Streams?
Zitat von sysinternals:
The NTFS file system provides applications the ability to create alternate data streams of information. By default, all data is stored in a file's main unnamed data stream, but by using the syntax 'file:stream', you are able to read and write to alternates. Not all applications are written to access alternate streams, but you can demonstrate streams very simply. First, change to a directory on a NTFS drive from within a command prompt. Next, type 'echo hello > test:stream'. You've just created a stream named 'stream' that is associated with the file 'test'. Note that when you look at the size of test it is reported as 0, and the file looks empty when opened in any text editor. To see your stream enter 'more < test:stream' (the type command doesn't accept stream syntax so you have to use more).
Mein Programm leistet allerdings noch etwas mehr als das von Richard und allen gängigen Programmen, die ich gefunden habe. Der ADSReader kann nicht nur Datenströme anzeigen und löschen, sondern auch Datenströme anhängen und zwar sowohl Text als auch binäre Datenströme. Handelt es sich um einen binären Datenstrom einer Anwendung, lässt sich dieser Datenstrom ausführen. Dabei taucht als Prozess im Taskmanager nur der Name der Exe-Datei an den der binäre Datenstrom angehangen wurde auf. Verständlich dass damn dies auch missbrauchen kann, um einen Prozess zu verstecken. Deshalb über nehme ich keinerlei Verantwortung, sollte mein Programm oder dessen Code missbraucht werden.

Code:
ADSReader 1.0.0.7 Copyright ® Michael Puff
[url]http://www.michael-puff.de[/url]

Alternate Data Stream reader

ADSReader.exe [/r | /w | /d | /b] Filename {File} {/n:Streamname} {/tData}

  /r   Reads the Alternate Data Streams associated with the given file.
  /w   Writes the Alternate Data Stream. Requires /n and /t.
  /d   Deletes the given stream. Requires /n.
  /b   Appends the binary data of <file>. Requires /n.
  /n   Stream name. Required for /w, /d and /b.
  /t   Stream text data. Required for /w.
Beispielaufrufe
Datenströme ausgeben:
Code:
ADSReader /r <dateiname>
Ergibt:
Code:
C:\Dokumente und Einstellungen\mp\Eigene D
>adsreader /r TestApp.exe
:Teststream [30]
Nur ein doofer Text zum testen

ADSReader 1.0.0.7 Copyright ® Michael Puff
[url]http://www.michael-puff.de[/url]
Datenstrom anhängen:
Code:
adsreader /w TestApp.exe /n:Teststream /t:"Nur ein doofer Text zum testen"
Binären Datenstrom anhängen:
Code:
adsreader /b TestApp.exe c:\Windows\notepad.exe /n:notepad.exe
Ausführen des binären Datenstromes:
Code:
start d:\TestApp.exe:notepad.exe
(Wichtig: Es muss der komplette Pfad angegeben werden.)
Angehängte Dateien
Dateityp: zip adsreader_191.zip (28,4 KB, 103x aufgerufen)
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von _frank_
_frank_

 
Delphi 3 Professional
 
#2
  Alt 11. Okt 2007, 17:25
scheint soweit ganz gut zu funktionieren.
fände eine Such-Routine noch ganz praktisch, also einfach auflisten aller ADS in einem Ordner (ggf. rekursiv).

lt. Wikipedia werden u.a. die Vorschaubilder vom Explorer in ADS abgelegt, jedoch konnte ich die noch nicht finden. weder an der Thumbs.db noch an dem Bild selbst...?
So wie es aussieht sind die vorschaubilder direkt in der Thumbs.db (also nicht im ADS) da dort der JPEG-Header (FF D8 FF) öfters auftaucht, was heisen würde, dass dieser Punkt bei WIKI falsch ist...

ich erinnere mich an eine Fehlermeldung, wenn man versucht die Thumbs.db zu verschieben (nur wann...), dass dieser Datei Informationen angehängt sind (:encryptable). Nur unter welchen Bedingungen die Meldung kommt ist mir noch ein Rätsel.hab auch versucht, die datei auf eine Fat32-Partition zu verschieben. aber die meldung kam nicht. Bei meinem Test hing zwar ein encryptable dran, aber mit 0 bytes.

Gruß Frank
Frank Wunderlich
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#3
  Alt 11. Okt 2007, 18:45
Zitat von _frank_:
scheint soweit ganz gut zu funktionieren.
fände eine Such-Routine noch ganz praktisch, also einfach auflisten aller ADS in einem Ordner (ggf. rekursiv).
Dazu gibt es ja schon jede Menge anderer Programme, deswegen habe ich mir diese Aufwand erspart.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#4
  Alt 24. Nov 2007, 19:38
:encryptable klingt nach EFS, die Datei war also vermutlich NTFS-verschlüsselt.


Zitat von _frank_:
ich erinnere mich an eine Fehlermeldung, wenn man versucht die ... zu verschieben (nur wann...)...
wenn man versucht eine Datei mit alternativen Datenströmen irgendwohin verschieben möchte, wo keine ADS möglich sind (z.B kann FAT32 dieses nicht ... nur NTFS und WinFS unterstützen dieses), dann gibt Windows eine warnung aus, da sonst der/die ADS gelöscht würden.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 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