Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Frage zu Dateien

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 24.05.2007, 17:27    Titel: Frage zu Dateien Antworten mit Zitat

Ist es möglich in Qbasic eine Datei zuerzeugen und diese kann dann nur von einem bestimmten Programm geöffnet werden z.B.: ein selbst geschriebenes ?

MfG

Franz
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 24.05.2007, 17:43    Titel: Antworten mit Zitat

Nö. Du kannst A) verschlüsseln (bei XOR o.ä. unknackbar lächeln)B) an einem freien Ort auf einem Datenträger (RAMDISK grinsen dann rebooten Zunge rausstrecken) speichern (OHNE MFT eintrag, sondern einfach per LBA drauf zugreifen oder (unsicher) C) einen neuen benutzter erstellen (ohne Icon etc.) dein prog. auf diesem benutzterkonto ausfürhren + den zugriff für andere nutzter sperren (unsicher)
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 24.05.2007, 19:21    Titel: Antworten mit Zitat

genau genommen nein, im prinzip aber ja (oder andersrum? durchgeknallt )
meine variante wäre:
- eigenes dateiformat entwickeln. das kann man, ohne sich näher damit zu beschäftigen, als außenstehender unter Umständen nicht knacken.
- Leichere Variante: Bei bekannten Formaten (BMP, WAV) einfach den header entfernen oder einen eigenen Header erfinden.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 24.05.2007, 21:00    Titel: Antworten mit Zitat

Okay und das jetzt nochmal auf deutsch
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 24.05.2007, 21:04    Titel: Antworten mit Zitat

csderats hat Folgendes geschrieben:
Nö. Du kannst A) verschlüsseln (bei XOR o.ä. unknackbar lächeln)B) an einem freien Ort auf einem Datenträger (RAMDISK grinsen dann rebooten Zunge rausstrecken) speichern (OHNE MFT eintrag, sondern einfach per LBA drauf zugreifen oder (unsicher) C) einen neuen benutzter erstellen (ohne Icon etc.) dein prog. auf diesem benutzterkonto ausfürhren + den zugriff für andere nutzter sperren (unsicher)



A)= eine verschlüsselung anwenden Wikipedia 1
Wikipedia 2 (hilfreich)
B)= Kompliziert und Datensicherheit gering => nicht empfohlen
C)= " " " " => genausowenig zwinkern

Ich denke Vernam oder Autokey verfahren wären für dich das richtige: einfach zu proggen und relativ ( grinsen ) sicher

Pseudo-Code für Vernam:
Code:
 
'Verschluesseln
dim as string klar
dim as string schluessel * len(klar)
dim verschluesselt as string
dim cache as string * 1
dim n as uinteger 'negative schluessellängen sind nicht sinnvoll :D

for n = 1 to len(klar)
randomize timer
cache = chr(int((rnd * 255) + 1)
schluessel += cache
next n

open "schluessel.txt" for output as #1
print #1, schluessel
close #1


verschluesselt = klar XOR schluessel


Code:
 
'Entschluesseln
dim as string klar
dim as string schluessel = "hier den schluessel hin"


open "datei.dat" for binary access read as #1
dim as string verschluesselt * lof(1)
get #1,,verschluesselt
close #1

klar = verschluesselt XOR schluessel

open "output.dat" for output as #1
print #1, klar
close #1


achja nochwas: mit qb kann so verschluesselt / entschluesselt nur 32 KB groß sein, es sei denn du baust das ganze zu einer Block-Chiffre um (einfach+ bringt viel nutzten)
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 25.05.2007, 08:45    Titel: Antworten mit Zitat

Ich würde an der Stelle "unknackbar" und "kann ich nur selbst öffnen" ein bisschen auseinanderhalten. Letztes erstrebt eine Abschirmung, aber nicht eine absolute, einbruchsichere.

Im letzteren Fall reicht es oft schon, seine Daten im Binary-Format abzuspeichern. Ohne irgendwelche sonstigen Verrenkungen. Ist bei Spielen für die Config- und Spielstandsdateien nützlich. Eine txt- oder xml-Datei lädt zum Cheaten ein; eine Binary-Datei braucht meist schon mind. zwei Stunden, um dechiffriert zu werden. Und das wendet i.d.R. keiner für ein Privat-Game auf. Da ist es leichter, den Programmierer zu fragen zwinkern

Grüsse!

Croco
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 25.05.2007, 14:09    Titel: Antworten mit Zitat

Achja, noch was die Vernam-Verschlüsselung IST unknackbar. (Und ist damit auch die einzige die man wirklich NUR mit BF knacken kann.)
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 25.05.2007, 14:12    Titel: Antworten mit Zitat

Zitat:
Achja, noch was die Vernam-Verschlüsselung IST unknackbar.


Zitat:
Und ist damit auch die einzige die man wirklich NUR mit BF knacken kann.


durchgeknallt durchgeknallt
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 25.05.2007, 14:15    Titel: Antworten mit Zitat

Wikipedia (Polyalphabetische Substitution) hat Folgendes geschrieben:

Der Spezialfall, dass der Schlüssel genauso lang ist wie der zu verschlüsselnde Text, heißt Vernam-Verschlüsselung, wobei der Schlüssel XOR mit dem Klartext verknüpft wird. Handelt es sich bei dem Schlüssel um eine zufällige Folge von Buchstaben, und wird der Schlüssel nur ein einziges Mal verwendet, nennt man das Verfahren auch One-Time-Pad. Bei diesem ist eine Dechiffrierung ohne Kenntnis des korrekten Schlüssels absolut unmöglich.


ich liebe dich, wikipedia.
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 25.05.2007, 14:52    Titel: Antworten mit Zitat

Okay ....

Ich wollte nämlich ein Programm schreiben was eine Datei aufruft die den Code für die Aufgabe enthält (z.B. eine Linie zeichnen). Das Programm soll dann den Code ausführen.
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 25.05.2007, 15:57    Titel: Antworten mit Zitat

csderats hat Folgendes geschrieben:
Achja, noch was die Vernam-Verschlüsselung IST unknackbar. (Und ist damit auch die einzige die man wirklich NUR mit BF knacken kann.)


Sagt das der Erfinder des Codes? mit dem Kopf durch die Mauer wollen lachen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 25.05.2007, 17:42    Titel: Antworten mit Zitat

OMFG Hammer
Also, OTP (oder von mir aus auch einfach nur XOR) ist theoretisch unknackbar, da bei jedem Versuch alles mögliche herauskommen kann. *Allerdings* gibt es die Schwachstelle "Schlüssel". Zunge rausstrecken
Und bei einem Computerprogramm wird der zu 'ner hohen Wahrscheinlichkeit im Programm untergebracht sein, was mit einem Disassembler eine Arbeit von ein paar Minuten ist. Das wäre, wenn die Verschlüsselung für den User transparent erfolgt.
Soll der User den Schlüssel eingeben, ist das wieder was anderes.
So, zweitens, irgendwo auf einen "freien" Bereich der Platte zu schreiben, ist eine wirklich schlechte Idee. Zum einen müsstest du dann das komplette Dateisystem quasi "parsen" (bei allen FAT-Systemen möglich, aber wirklich schwer, da du eine Tabelle mitführen musst, was belegt ist - bei NTFS unmöglich) und dann: wer sagt dir, dass das Betriebssystem den Block nicht schon in der nächsten Sekunde mit irgend 'ner anderen Dateien bzw. einem anderen FAT-Eintrag überschreibt? Zunge rausstrecken
Du kannst zwar Blöcke als reserviert markieren, allerdings sollte ein gutes Werkzeug aufdecken, wenn Blöcke fehlerhaft sind. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 25.05.2007, 22:24    Titel: Antworten mit Zitat

csderats hat Folgendes geschrieben:
B) an einem freien Ort auf einem Datenträger (RAMDISK grinsen dann rebooten Zunge rausstrecken) speichern (OHNE MFT eintrag, sondern einfach per LBA drauf zugreifen oder (unsicher)


Unsicher für die Daten habe ich gemeint zwinkern

so tschuess ich habe hier im Schloss Auel nur 15 Minuten on zeit peinlich
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 27.05.2007, 13:43    Titel: Antworten mit Zitat

So, ich habe mich nochmal drangesetzt, und mal einen kompletten FB-Source dafür geschrieben; allerdings ist das entschluesselte = das doppelte des uprsprünglichen, k.A. warum.
Code:

dim as string klar, ver
dim cache as string * 1
dim cache2 as integer
dim cache3 as integer
dim n as integer

input "Klartext:             ", klar

dim schlu as string * sizeof(klar)

for n = 1 to len(klar)
        cache = ""
        cache = chr(int(rnd * 255) + 1)
        schlu = schlu + cache
next n

open "schluessel.txt" for output as #1
print #1, schlu
close #1

print "Schl?ssel:            "; schlu


for n = 1 to sizeof(klar)
    cache2 = asc(mid(klar,n,1))
    cache3 = asc(mid(schlu, n,1))
    ver = ver + chr(cache3 XOR cache2)
next n
      

print "Verschl?sselt:        "; ver

for n = 1 to sizeof(ver)
    cache2 = asc(mid(ver,n,1))
    cache3 = asc(mid(schlu,n,1))
    klar= klar + chr(cache2 xor cache3)
next n

print "Entschluesselt:       "; klar

sleep
end

_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 27.05.2007, 14:12    Titel: Antworten mit Zitat

Hallo

csderats hat Folgendes geschrieben:
So, ich habe mich nochmal drangesetzt, und mal einen kompletten FB-Source dafür geschrieben; allerdings ist das entschluesselte = das doppelte des uprsprünglichen, k.A. warum.


Vielleicht, weil Du die Variable klar nicht löscht und den entschlüsselten einfach an den ursprünglich eingegebenen Text anhängst?

Aber einerseits sind wir hier bei QBasic, zum Anderen geht es Franz, jedenfalls soweit ich das verstanden habe, um etwas ganz anderes. Natürlich wäre es einfacher, wenn er sich mal etwas ausführlicher äussern würde, aber das:

Franz hat Folgendes geschrieben:
Ich wollte nämlich ein Programm schreiben was eine Datei aufruft die den Code für die Aufgabe enthält (z.B. eine Linie zeichnen). Das Programm soll dann den Code ausführen.


hört sich eher nach einer Art Interpreter an, als nach Verschlüsselung. Mein Vorschlag dazu wäre, jedem Befehl eine Nummer zu geben. Also z.B. Linie zeichnen = 17. Das ausführende Programm weiss, wieviele und welche Parameter zu erwarten sind. Vielleicht Anfangs-, Endkoordinaten und Farbe. In der "Datendatei" stünde dann ...17,100,100,200,100,8... Mit dieser Zahlenfolge kann kein anderes Programm etwas anfangen, als der selbstgeschriebene Interpreter. Wie gesagt wäre es aber nicht schlecht, wenn Franz mal etwas genauer beschreiben würde, was er machen will.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 27.05.2007, 14:17    Titel: Antworten mit Zitat

Skilltronic hat Folgendes geschrieben:
Vielleicht, weil Du die Variable klar nicht löscht und den entschlüsselten einfach an den ursprünglich eingegebenen Text anhängst?

Aber einerseits sind wir hier bei QBasic, zum Anderen geht es Franz, jedenfalls soweit ich das verstanden habe, um etwas ganz anderes.


Ah, danke für den Hinweis lächeln
Aber das von FB nach QB zu konvertieren ist nicht sonderlich schwer lächeln
Aber ein Interpreter wäre natürlich auch eine gute möglichkeit... ist evtl. nur schwerer zu realisieren
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 28.05.2007, 12:10    Titel: Antworten mit Zitat

Ein Interpreter muss keine schwer zu realisierende Sache sein. zwinkern
Schau dir mal die (abgelaufene) Interpreter-Aufgabe beim QB-Wettbewerb an. Da gibt's eine eher einfach gehaltene Scriptsprache mit nur ein bisschen mehr als 100 Zeilen und einen recht umfangreichen Interpreter, der trotzdem noch zu verstehen ist. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 04.11.2007, 15:13    Titel: Antworten mit Zitat

Eine Frage: Wie baue ich den ersten Code ein? Ich will beim Verschlüsseln eine Variable zum verschlüsseln festlegen und die beim Entschlüsseln entschlüsselt ausgeben.

Danke.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz