Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TResourceStream ver/entschlüsseln (https://www.delphipraxis.net/91391-tresourcestream-ver-entschluesseln.html)

endeffects 4. Mai 2007 10:17


TResourceStream ver/entschlüsseln
 
Juuuhu =)

ich bin grad auf der suche nach einer möglichkeit
binärdaten in einem TResourceStream zu ver/entschlüsseln.
bisher leider ohne großen erfolg. mit folgenden beiden
methoden füge ich resource daten in eine exe datei hinzu
bzw extrahiere sie wieder. irgendwie müßte ich da nun
noch eine ver/entschlüsselung einbauen, nur wie?

Delphi-Quellcode:
  function ExtractRes(ResType, ResName, ResNewName: string): Boolean;
  var
    Res: TResourceStream;
  begin
    Result := False;
    if FindResource(hInstance, PChar(Resname), RT_RCDATA) <> 0 then
    begin
      Res := TResourceStream.Create(hInstance, Resname, RT_RCDATA);
      try
        Res.SavetoFile(ResNewName);
        Result := True;
      finally
        Res.Free;
      end;
    end;
  end;

  function AddRes(SourceFile, Location: String): Boolean;
  var
    FS: TFileStream; ResourceHandle: THandle;
    DataLength: DWord; Data: PBuffer; Ok: Boolean;
  begin
    Result:= False;
    ResourceHandle := BeginUpdateResource(pChar('Setup.exe'), False);
    if (ResourceHandle <> 0) then
    begin
      FS := TFileStream.Create(SourceFile, fmOpenRead);
      FS.Seek(0, soFromBeginning);
      DataLength := FS.Size;
      GetMem(Data, DataLength);
      FS.Read(Data^, DataLength);
      FS.Free;

      Ok := True;

      if (not UpdateResource(ResourceHandle, RT_RCDATA, pChar(Location), LANG_NEUTRAL {MakeLangID(LANG_NEUTRAL, SUBLANG_NEUTRAL)}, Data, DataLength)) then Ok := False;
      if (not EndUpdateResource(ResourceHandle, False)) then Ok := False;
      if (Ok) then Result:= True;

      FreeMem(Data);
    end;
  end;
ich hab schonmal ein wenig nach möglichkeiten gesucht
einen stream zu verschlüssen aber hinbekommen hab ich es
bisher leider nicht. die verschlüsselung an sich
muß auch nicht sehr sicher sein, es geht nur darum
das niemand mit einem reshacker an brauchbare daten kommt.

mfg

Olli 9. Sep 2007 00:50

Re: TResourceStream ver/entschlüsseln
 
Dito: http://www.delphipraxis.net/internal...ct.php?t=16340 (siehe auch #23)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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