WinFuture-Forum.de: Programmvorstellung: Steganoproject - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Programmvorstellung: Steganoproject Hiermit möchte ich mein Programm SteganoProject vorstellen :)


#1 Mitglied ist offline   firegate 

  • Gruppe: aktive Mitglieder
  • Beiträge: 753
  • Beigetreten: 12. April 05
  • Reputation: 0
  • Geschlecht:Männlich

  geschrieben 27. Januar 2009 - 23:37

Guten Abend!

Ich habe ein einfaches Steganographie-Programm geschrieben. Es wäre nett, wenn ihr nach Bugs Ausschau halten würdet. Weitere Anregungen sind auch erwünscht, allerdings habe ich vorläufig nicht geplant, Kryptographie oder ähnliches einzubauen.

Das Programm funktioniert nach der LSB-Methode:

Die Farbwerte eines Pixels werden ausgelesen und jeweils wird nur das letzte Bit eines Farbkanals, das den Wert 1 hat (oder eben nicht), ersetzt.
Die dadurch hervorgerufene Farbveränderung fällt optisch nicht auf.

Den Text zerlege ich in einzelne Zeichen und diese kodiere ich mit 8 Bits in die Farbkanäle.

Der letze Farbkanal jedes dritten Pixels bleibt zunächst frei. Am Ende wird die Anzahl der versteckten Zeichen mit 24 Bits in die ersten 24 freigelassenen Farbkanäle kodiert. Dies ist der Header, der für die automatische Textlängenzuweisung verwendet werden kann.


Soweit zum Prinzip, nun seid ihr als Tester gefragt!


Danke im Voraus
firegate


PS: Getestet werden soll nicht auf Sicherheit der verwendeten Methode, sondern auf Bugs im Programm <_<

PPS: Zum Ausführen wird das Java Runtime Environment (JRE, java.com) benötigt.

PPPS: Aktuelle Versionen weiter unten :D

EDIT:
Titel des Topics in Programmvorstellung geändert.

Angehängte Datei(en)


Dieser Beitrag wurde von firegate bearbeitet: 29. Januar 2009 - 20:50

0

Anzeige



#2 Mitglied ist offline   firegate 

  • Gruppe: aktive Mitglieder
  • Beiträge: 753
  • Beigetreten: 12. April 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Januar 2009 - 12:15

Hier die aktuelle Version 1.7.7

Changelog:
- Override für Header beim Encoden
- Button zum Auslesen der Textlänge selektierten Textes
- Einige Bugfixes


Ich bitte nochmals um eure Mithilfe :(

Angehängte Datei(en)


Dieser Beitrag wurde von firegate bearbeitet: 28. Januar 2009 - 12:24

0

#3 Mitglied ist offline   m4rkus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 316
  • Beigetreten: 28. Juni 06
  • Reputation: 0

geschrieben 28. Januar 2009 - 12:24

Ich habs ausprobiert. Aber entweder bin ich zu blöd oder das teil funzt bei mir ned.

ich kann zwar ne datei auswählen, aber egal was ich drücke, es passiert nix.
ins textfeld kann ich auch nicht schreiben.

Außerdem finde ich du solltest das System Look&Feel benutzen. Das von Sun sieht wirklich grässlich aus.


Gruß,
markus
2*3=4
0

#4 Mitglied ist offline   firegate 

  • Gruppe: aktive Mitglieder
  • Beiträge: 753
  • Beigetreten: 12. April 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Januar 2009 - 12:29

Wenn du eine Bilddatei auswählst, sollte eigentlich IRGENDWAS ausgelesen werden können. Und beim schreiben sollte jede übliche Bilddatei funktionieren und in bmp konvertiert werden.

Mit dem Look&Feel hab' ich mich noch nich auseinandergesetzt. So schlimm finde ich das auch gar nicht, allerdings bist du nicht der erste, der das nich ab kann. Ich werd gleich mal gucken, wie man das anpasst.

Danke erst mal für das Testen!


EDIT:

Bei mir gibt der das Standard-Look&Feel als System-Look&Feel zurück. Ich weiß nicht, ob das ein Fehler von mir ist ("UIManager.getSystemLookAndFeelClassName()").
Ich verwende jetzt motif. Ich hoffe, das stößt nicht auf solche Abneigung :(

Angehängte Datei  stegano_1.7.8.zip (10,33K)
Anzahl der Downloads: 113


EDIT2:

Version 1.7.9

Changelog:
- Browser zeigt nur *.bmp und Ordner
- kleiner Bugfix

Angehängte Datei  stegano_1.7.9.zip (11,05K)
Anzahl der Downloads: 123

Dieser Beitrag wurde von firegate bearbeitet: 28. Januar 2009 - 15:41

0

#5 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 28. Januar 2009 - 17:25

[Bissel-Off]
Wegen L&F...
Ich stehe ja total auf Business Black Steel: https://substance.de.../toneddown.html :(
[/Bissel-Off]
0

#6 Mitglied ist offline   Daniel88 

  • Gruppe: aktive Mitglieder
  • Beiträge: 124
  • Beigetreten: 02. März 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Backnang
  • Interessen:Ich hab ICQ und MSN ;) gibts aber net öffentlich.<br />Ich interessiere mich für (fast) alles was mit PCs und so weiter zu tun hat.

geschrieben 28. Januar 2009 - 18:25

Ich versteh au net so ganz was mir das Programm bringen soll ...
Aber:

Ich hab einfach mal getestet wie es mit anderen Bildformaten klar kommt ...
Also rein mit nem *.jpg
-> Ok geklickt -> Freeze ...
Screen von der Anwendung im Anhang und die Zeile ausm Taskmanager.
CPU-Auslastung konstant 25%

Und noch was: Wir sind doch hier im Programmieren Forum. Ich dachte bei Programmvorstellungen soll man seinen Quellcode angeben.
Wirst du das noch tun?
Würde mich dafür interessieren ;)

Angehängte Miniaturbilder

  • Angehängtes Bild: steganoProjekt.jpg
  • Angehängtes Bild: TaskManager.jpg

Dieser Beitrag wurde von Daniel88 bearbeitet: 28. Januar 2009 - 18:26

It´s nice to be important, but it´s more important to be nice.
(Einer der dollen Sätze von Scooter)
Take care to get what you like, or you will be forced to like what you get.
(nochmal so einer)
0

#7 Mitglied ist offline   firegate 

  • Gruppe: aktive Mitglieder
  • Beiträge: 753
  • Beigetreten: 12. April 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Januar 2009 - 20:25

Zitat

Ich versteh au net so ganz was mir das Programm bringen soll ...

Ok, habe iich wohl nicht so deutlich beschrieben ;)
Das Programm schreibt text so in eine Bilddatei, dass es optisch nicht sichtbar wird aber mit demselben Programm wieder ausgelesen werden kann.

Das Prinzip funktioniert nur mit *.bmp-Dateien.

Jedoch können auch andere Bilddateien eingelesen werden, es kommt nur nichts Sinnvolles dabei raus.

Beim schreiben können auch andere Bilddateien verwendet werden, es wird jedoch immer in das BMP-Format konvertiert (bei gleichbleibendem Dateinamen, also evtl. falscher Endung).

Bei nicht-präparierten Dateien wird meistens ein sehr langer Header interpretiert, was zu sehr langen Auslesezeiten führen kann, evtl. wird der Vorgang auch abgebrochen, wenn der Header keinen Sinn ergibt.

Zitat

-> Ok geklickt -> Freeze ...

Die lange Auslesezeit hast du evtl. als Freeze interpretiert oder du hast einen Bug entdeckt? Lass es ruhig mal ne Weile laufen und korrigier vllt. mal die Textlänge auf eine geringere Länge, damit es nach endlicher Zeit fertig wird.

Zitat

Und noch was: Wir sind doch hier im Programmieren Forum. Ich dachte bei Programmvorstellungen soll man seinen Quellcode angeben.
Wirst du das noch tun?
Würde mich dafür interessieren ;)

Sobald das Programm in einem befriedigenden Status ist (was jetzt langsam der Fall ist) werde ich den Quellcode auch freigeben.

Allerdings muss ich mir auch noch mal die Zeit nehmen, die Kommentare zu überarbeiten und etwas den Code aufzuräumen.


Danke für deinen Test ;)


So long
firegate
0

#8 Mitglied ist offline   Django2 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.336
  • Beigetreten: 09. Dezember 08
  • Reputation: 9
  • Geschlecht:Männlich

geschrieben 28. Januar 2009 - 20:30

Geht bei mir gar nicht (XP mit SP2, Java 1.5)

Angehängtes Bild: Error.JPG

Angehängtes Bild: Java.JPG
0

#9 Mitglied ist offline   firegate 

  • Gruppe: aktive Mitglieder
  • Beiträge: 753
  • Beigetreten: 12. April 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 28. Januar 2009 - 20:36

Achso, das Problem ist mir bekannt. Mit der Java-Version 1.5 läuft das Prog leider nicht. Dadurch lief das bei ein paar Kumpels nicht, da es unter Mac scheinbar nur 1.5 und noch nicht 1.6 gibt!

Unter Windows sollte ein Update helfen ;)
0

#10 Mitglied ist offline   Django2 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.336
  • Beigetreten: 09. Dezember 08
  • Reputation: 9
  • Geschlecht:Männlich

geschrieben 28. Januar 2009 - 20:41

Zitat

Unter Windows sollte ein Update helfen wink.gif


Geht nicht, ist ein Arbeitsrechner und den brauch ich halt mit XP SP2 in Französich und Java 1.5 ;)

Dieser Beitrag wurde von Django2 bearbeitet: 28. Januar 2009 - 20:41

0

#11 Mitglied ist offline   firegate 

  • Gruppe: aktive Mitglieder
  • Beiträge: 753
  • Beigetreten: 12. April 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 29. Januar 2009 - 16:20

Zitat

-> Ok geklickt -> Freeze ...

Das Problem ist gelöst und ein paar kleinere Änderungen sind vorgenommen worden ;)
(Hatte an entsprechender Stelle ein return vergessen)

Also neue Version: SteganoProject 1.8.0

Changelog:
- Bugfix (siehe oben)
- Kleinere visuelle Anpassungen

Angehängte Datei  stegano_1.8.0.zip (11,15K)
Anzahl der Downloads: 109

Ich bitte wieder um Tests ;)


Gruß
firegate
0

#12 Mitglied ist offline   werosey 

  • Gruppe: aktive Mitglieder
  • Beiträge: 199
  • Beigetreten: 10. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 29. Januar 2009 - 16:45

wie starte ich das Programm.?

wenn ich dein Rar entpacke bekomme ich ein jar Datei.

und in dieser sind einpaar Ordner. ?
Eingefügtes Bild
Eingefügtes Bild
0

#13 Mitglied ist offline   Django2 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.336
  • Beigetreten: 09. Dezember 08
  • Reputation: 9
  • Geschlecht:Männlich

geschrieben 29. Januar 2009 - 17:19

Zitat

wie starte ich das Programm.?


Draufklicken oder in der Kommandozeile eingeben:
java SteganoProject_1.8.0.jar

Dieser Beitrag wurde von Django2 bearbeitet: 29. Januar 2009 - 17:20

0

#14 Mitglied ist offline   firegate 

  • Gruppe: aktive Mitglieder
  • Beiträge: 753
  • Beigetreten: 12. April 05
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 29. Januar 2009 - 17:36

Zitat

Draufklicken

Meistens klappt das, habe es gestern unter Windows probiert. Neuste Java-Version installiert und es ging ohne Probleme.

Zitat

oder in der Kommandozeile eingeben:
java SteganoProject_1.8.0.jar

Über die Kommandozeile oder Ausführen-Zeile muss soweit ich weiß folgender Befehl verwendet werden:
java -jar SteganoProject_1.8.0.jar


EDIT:
Natürlich Pfad mit angeben oder mit cd <pfad> vorher in den Ordner wechseln.

EDIT2:

Ich habe den Code noch mal durchgesehen und etwas umgestellt. Ich hoffe, alles läuft noch, wie es soll ;)

Version 1.8.1

Changelog:
- Strukturierung des Codes

Angehängte Datei  stegano_1.8.1.zip (11,01K)
Anzahl der Downloads: 191

Dieser Beitrag wurde von firegate bearbeitet: 29. Januar 2009 - 17:58

0

#15 Mitglied ist offline   firegate 

  • Gruppe: aktive Mitglieder
  • Beiträge: 753
  • Beigetreten: 12. April 05
  • Reputation: 0
  • Geschlecht:Männlich

  geschrieben 29. Januar 2009 - 20:45

Hallo WinFuture-Gemeinde.

Da das Programm inzwischen in einem recht brauchbaren Stadium angelangt ist, habe ich mich entschlossen, den Quellcode freizugeben.

Eingefügtes Bild
Ich veröffentliche ihn unter der GNU GPL v3, die hier nachzulesen ist: http://www.gnu.org/l...es/gpl-3.0.html

Ich hoffe, dass Ihr in meinem Code durchblickt :(


Mit Stolz veröffentliche ich hiermit mein erstes halbwegs sinnvolles Programm in der Programmiersprache Java:

Angehängte Datei  SteganoProject_1.8.2.zip (45,81K)
Anzahl der Downloads: 183

Mit dem Programm SteganoProject 1.8.2 ist es möglich, beliebigen Text in einer Bilddatei vom Typ BMP zu verstecken, ohne dass einem beim Betrachten des Bildes Änderungen auffallen.

Der Text kann mit demselben Programm wieder ausgelesen werden.

Beim Verstecken der Texte wird ein sogenannter Header mit abgespeichert, der angibt, wie viele Zeichen versteckt sind und auf den beim auslesen zurückgegriffen werden kann.

Sowohl beim Speichern, als auch beim Auslesen der Texte ist es möglich, den gesetzten Header zu umgehen.
Es ist also möglich, einen Text einzugeben und beispielsweise nur die Länge des halben Textes für den Header zu übergeben. Beim normalen Auslesen würde also nur die erste Hälfte des Textes angezeigt werden und der Rest würde erst sichtbar, wenn man die Textlänge manuell entsprechend vergrößert.
Um einen bestimmten Text in den Header zu übernehmen, kann man diesen auswählen und dann den Button [ selektiert ] klicken. Die Textlänge wird dann durch die Länge des markierten Textes ersetzt. Es wird allerdings immer vom Anfang ausgelesen. Es macht also keinen Sinn, einen Text in der Mitte zu markieren und zu hoffen, dass dieser beim Auslesen angezeigt wird. Des weiteren ist darauf zu achten, den Haken bei "automatisch" zu entfernen, wenn der Header angepasst werden soll.


Hinweise:

- Verlasst euch nicht auf das Programm, wenn ihr etwas wichtiges, z.B. eure Passwörter, zu verbergen habt! Es ist keine sichere Technik, mehr eine Spielerei.

- Bilddateien werden ohne weitere Nachfrage überschrieben. JPEGs und andere Formate werden dabei in BMP konvertiert.

- Zum Ausführen wird eine aktuelle Java-Laufzeitumgebung (Version 1.6) benötigt. Diese könnt ihr unter Java.com herunterladen.

- Eventuell ist es sinnvoll, das Programm mit dem Befehl "java -jar /pfad/zur/datei.jar" über die Konsole/Eingabeaufforderung zu starten.


Sollten irgendwelche Fragen entstehen, die hier noch nicht geklärt wurden, bitte ich euch, sie zu stellen :D


Bis dann
firegate


An die Mods und selbsternannte Sheriffs:
Ich hoffe, ihr könnt mir den Fauxpas nachsehen, zwei mal so schnell hintereinander zu Posten. Ich konnte mich nicht dazu durchringen, ein Neues Thema für die Vorstellung meines Programms zu eröffnen, wo hier schon so viel besprochen wurde.

Dieser Beitrag wurde von firegate bearbeitet: 29. Januar 2009 - 20:54

0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0