AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi "Login" für eigenes Programm realisieren
Thema durchsuchen
Ansicht
Themen-Optionen

"Login" für eigenes Programm realisieren

Ein Thema von fkerber · begonnen am 22. Jul 2004 · letzter Beitrag vom 27. Jul 2004
Antwort Antwort
Seite 6 von 6   « Erste     456   
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#51

Re: "Login" für eigenes Programm realisieren

  Alt 25. Jul 2004, 12:56
Hi

@Sharky: das sollte keineswegs abwertend wirken...

tipp von mir:
1. die Inidatei noch simpel verschlüsseln (zB XOR)
2. Die Inidatei komplett hinter die Main-Exe oder eine andere datei deines Programms schreiben (Code dazu weiter unten)
3. Die Checksumme der Main-Exe (incl. Ini-datei) gesondert speichern und bei programmstart überprüfen...

Damit hängt man eine Datei hinter eine andere (besser gesagt einen MemoryStream hinter eine datei)
Delphi-Quellcode:
function AttachToFile(const AFileName: String; MemoryStream: TMemoryStream): Boolean;
var
  aStream: TFileStream;
  iSize: Integer;
begin
  Result := False;
  if not FileExists(AFileName) then
    Exit;
  try
    aStream := TFileStream.Create(AFileName, fmOpenWrite or fmShareDenyWrite);
    MemoryStream.Seek(0, soFromBeginning);
    // seek to end of File
    // ans Ende der Datei Seeken
    aStream.Seek(0, soFromEnd);
    // copy data from MemoryStream
    // Daten vom MemoryStream kopieren
    aStream.CopyFrom(MemoryStream, 0);
    // save Stream-Size
    // die Streamgröße speichern
    iSize := MemoryStream.Size + SizeOf(Integer);
    aStream.Write(iSize, SizeOf(iSize));
  finally
    aStream.Free;
  end;
  Result := True;
end;

Und damit bekommt man seinen Stream aus der Datei zurück:
Delphi-Quellcode:
function TForm1.LoadFromFile(const AFileName: String; MemoryStream: TMemoryStream): Boolean;
var
  aStream: TFileStream;
  iSize: Integer;
begin
  Result := False;
  if not FileExists(AFileName) then
    Exit;

  try
    aStream := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite);
    // seek to position where Stream-Size is saved
    // zur Position seeken wo Streamgröße gespeichert
    aStream.Seek( - SizeOf(Integer), soFromEnd);
    aStream.Read(iSize, SizeOf(iSize));
    if iSize > aStream.Size then
    begin
      aStream.Free;
      Exit;
    end;
    // seek to position where data is saved
    // zur Position seeken an der die Daten abgelegt sind
    aStream.Seek( - iSize, soFromEnd);
    MemoryStream.SetSize(iSize - SizeOf(Integer));
    MemoryStream.CopyFrom(aStream, iSize - SizeOf(iSize));
    MemoryStream.Seek(0, soFromBeginning);
  finally
    aStream.Free;
  end;
  Result := True;
end;

MfG
Boombuler
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#52

Re: "Login" für eigenes Programm realisieren

  Alt 25. Jul 2004, 12:57
Zitat von fkerber:
BTW: der "Crack" funktioniert bei mir nicht: siehe Anhang.
Ähäm, welcher Anhang?
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#53

Re: "Login" für eigenes Programm realisieren

  Alt 25. Jul 2004, 13:00
Hi!

Wenn ich die Ini verschlüssele muss ich sie doch auch wieder entschlüsseln um sie einlesen zu können.
Kann man dann nicht in dem Moment wo sie entschlüsselt ist, eh darauf zugreifen?

Wenn ich sowas an die Exe dranhänge, ändert sich dann nicht auch die Größe der Exe-Datei immer wieder, sodass da Virenscanner Alarm schlagen? (Oder z.B. meine Firewall Kerio).

Ciao fkerber

@S2B , ich hängs grad hier dran
Miniaturansicht angehängter Grafiken
bild1_188.png  
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#54

Re: "Login" für eigenes Programm realisieren

  Alt 25. Jul 2004, 13:09
Hi

Zitat von fkerber:
Wenn ich die Ini verschlüssele muss ich sie doch auch wieder entschlüsseln um sie einlesen zu können.
Kann man dann nicht in dem Moment wo sie entschlüsselt ist, eh darauf zugreifen?

Wenn ich sowas an die Exe dranhänge, ändert sich dann nicht auch die Größe der Exe-Datei immer wieder, sodass da Virenscanner Alarm schlagen? (Oder z.B. meine Firewall Kerio).
zu erstem:
unter diesem aspekt gesehn würde ich alle strings(usw.) in der ini verschlüsseln. (sorry dumme idee von mir *einsicht*)

zu zweitem:
hab mit der function recht gute erfahrungen gemacht nur solltest du die schreib-function noch ein wenig editieren damit man nicht immer eine neue datei anhängt sondern die alte immer überschreibt...

Greetz
Boombuler
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#55

Re: "Login" für eigenes Programm realisieren

  Alt 25. Jul 2004, 13:22
HI!

Ich werde es mal testen.
Was ist mit deinem "Crack"?

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#56

Re: "Login" für eigenes Programm realisieren

  Alt 25. Jul 2004, 13:37
Der sagt dir Filesize missmach...
würde sagen deine exe datei ist nicht so groß wie meine deswegen blockt das patch programm...
einfach mal mit hex-editor die beiden oben angegebenen offsets ändern ...

Greetz
Boombuler
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#57

Re: "Login" für eigenes Programm realisieren

  Alt 27. Jul 2004, 05:37
Hi!

Habe es jetzt in mein Programm eingebaut und es funktioniert super.
Herzlichen Dank, Sharky, bekommst ein extra

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 6   « Erste     456   


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 18:20 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