AGB  ·  Datenschutz  ·  Impressum  







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

[gelöst] binär lesen und schreiben

Ein Thema von gmc616 · begonnen am 28. Apr 2005 · letzter Beitrag vom 29. Apr 2005
Thema geschlossen
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#1

[gelöst] binär lesen und schreiben

  Alt 28. Apr 2005, 23:15
Hi Delphianer,

ich lese Informationen vom Rechner aus, z.B. die Seriennummer von Windows, verschlüssle diese mittels RC4 (Danke Luckie für das Demo) und möchte diesen verschlüsselten String in einer Datein speichern;

Später möchte ich diese Datei auslesen und mit der Seriennummer wieder vergleichen;
Worauf das hinausläuft, könnt ihr euch sicher vorstellen;

folgendes Problem:
Wieso sind die Strings nicht gleich?


Zunächst mal mein Code:
Delphi-Quellcode:
procedure fWriteFile (psFileName,psContent:string);
var
  FileHandle : integer;
begin
  if FileExists( psFileName ) then deleteFile (pchar(psFileName));
  FileHandle := FileCreate(psFileName);
  FileWrite(FileHandle,psContent,length(psContent));
  FileClose(FileHandle);
end;


function fReadFile (psFileName,psContent:string) : boolean;
var
  FileHandle,nRead,i,FileLength : integer;
  Buffer: PChar;
  bOkay : boolean;
begin
  bOkay := false;
  if FileExists( psFileName ) then begin
    FileHandle := FileOpen(psFileName, fmOpenRead);
    FileLength := FileSeek(FileHandle,0,2);
    FileSeek(FileHandle,0,0);
    Buffer := PChar(AllocMem(FileLength + 1));
    nRead := FileRead (FileHandle,Buffer^,FileLength);
    FileClose(FileHandle);

    for i:=0 to nRead-1 do begin
      if Buffer[i] = psContent[i] then
        bOkay := true
      else begin
        bOkay := false;
        exit;
      end;
    end;
  end;
  result := bOkay;
end;
Meiner Meinung nach wird der String nicht korrekt gespeichert;
Laut meinem HexEditor stimmen die Bytes in der fReadFile-Funktion im Buffer[i] mit denen in der Datei überein, aber nicht mit dem eigendlichem verschlüsselten String;

Verschlüsselt hin und her, das sollte doch beim Speichern, Lesen und Vergleichen kein Thema sein.

Wo mache ich den Fehler beim speichern?

Bin Dankbar für jede Hilfe.

Gruß
gmc
 
Mephistopheles
(Gast)

n/a Beiträge
 
#2

Re: binär lesen und schreiben

  Alt 28. Apr 2005, 23:20
Zeig doch mal ein Beispiel (Hex-Bytes in der Datei und im verschlüsselten String).
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: binär lesen und schreiben

  Alt 28. Apr 2005, 23:25
Moin gmc,

Zitat von gmc616:
Meiner Meinung nach wird der String nicht korrekt gespeichert;
Dem Sourcecode nach zu urteilen möchte ich mich Deiner Meinung anschliessen

Du hast einfach aber der Adresse des Strings alles was danach im Speicher steht weggeschrieben.

Probier's mal so:

FileWrite(....,psContent[1],...);
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
 
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: binär lesen und schreiben

  Alt 28. Apr 2005, 23:28
@Mephistopheles:
Clown gefrühstückt?
 
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: binär lesen und schreiben

  Alt 28. Apr 2005, 23:40
Das funktoniert !!
Danke Chris!!

Bin ich blöde??
Wieso funktioniert das?

psContent[0] = Länge des Strings?
psContent[1] = 1. Char??

Oder?

selbst wenn ich am Offset beim Lesen gedreht habe ... konnte ich nix finden was gleich war *grübel*

Nochmal DANKE!

Gruß
gmc
 
Mephistopheles
(Gast)

n/a Beiträge
 
#6

Re: binär lesen und schreiben

  Alt 28. Apr 2005, 23:45
Zitat von gmc616:
Das funktoniert !!
Danke Chris!!

Bin ich blöde??
Wieso funktioniert das?

psContent[0] = Länge des Strings?
psContent[1] = 1. Char??

Oder?

selbst wenn ich am Offset beim Lesen gedreht habe ... konnte ich nix finden was gleich war *grübel*
Die obige Aussage stimmt nur bei Shortstrings. Zu Ansistrings liest du dir am besten einfach mal das Tutorial von Motzi durch.
 
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: binär lesen und schreiben

  Alt 28. Apr 2005, 23:45
Zitat von Mephistopheles:
Zitat von gmc616:
@Mephistopheles:

Clown gefrühstückt?
Verarschen mag ich überhaupt nicht. Kurzer Satz mit X: War wohl nix. Eigentlich hatte ich erwartet, daß du Hilfe willst. So kann man sich irren :-\
Ich mag mich auch nicht verarschen lassen! Und JA, ich hatte Hilfe erwartet. Die kam aber von dir nicht!

Komisch! Chris wußte mir zu helfen.

Du wolltest mich nur lächerlich aussehen lassen.

[edit] Danke für das Tutorial [/edit]
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: binär lesen und schreiben

  Alt 29. Apr 2005, 01:05
Zitat von gmc616:
@Mephistopheles:
Clown gefrühstückt?
Was soll bitte diese Aussage? Mephistopheles hat seine Hilfe angeboten. Solch ein Kommentar ist wohl kaum eine angemessene Reaktion von dir!

Und dass Christian Seehase dir helfen konnte, war purer Zufall, dass er richtig geraten hat bzw. sich den Quellcode genauer angeguckt hat. Mephistopheles ist davon ausgegangen, dass du solch einen Anfängerfehler nicht machst und hat versucht den Grund wo anders zu suchen. Dass sein Posting dir nicht gleich geholfen hat, ist kein Grund so zu reagieren.

Da dein Problem wohl gelöst ist, mache ich hier zu. Alles weitere per PN.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Thema geschlossen


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 00:43 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