AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Große datenmenge in den Source-Code einbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Große datenmenge in den Source-Code einbinden

Ein Thema von wendelin · begonnen am 2. Sep 2014 · letzter Beitrag vom 5. Sep 2014
Antwort Antwort
Seite 1 von 2  1 2      
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#1

Große datenmenge in den Source-Code einbinden

  Alt 2. Sep 2014, 22:56
Hallo,
ich möchte ca. 300.000 Bytes im Source-Code (ähnlich wie bei Data von Glyph's) direct in den
Source-Code einbinden. Also NICHT in einer Datei speichern.
Zur Laufzeit möchte ich diese Daten dann in ein dyn. Array laden. Wie geht das, und was ist der
effektivste Weg.

Wendelin
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.138 Beiträge
 
Delphi 12 Athens
 
#2

AW: Große datenmenge in den Source-Code einbinden

  Alt 2. Sep 2014, 23:01
Ab in die Resourcen und dann TResourceStream (oder Gergleichen).

Man kann natürlich auch von einem Programm die Daten in Quellcode umwandeln, genauer in die Deklaration einer Konstante eines statischen Bxtearrax, oder du bastelst dir eine Komponente, welche das wie bei einer TImageList in der DFM speichert, aber das wäre dann doch zu krank.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 2. Sep 2014 um 23:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#3

AW: Große datenmenge in den Source-Code einbinden

  Alt 2. Sep 2014, 23:45
ich möchte ca. 300.000 Bytes im Source-Code (ähnlich wie bei Data von Glyph's) direct in den
Source-Code einbinden. Also NICHT in einer Datei speichern.
Zur Laufzeit möchte ich diese Daten dann in ein dyn. Array laden.
Aus welchem Grund muss es unbedingt im Source sein?

Brauchst du das hier für Delphi 7 oder geht auch ein aktuelles?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#4

AW: Große datenmenge in den Source-Code einbinden

  Alt 3. Sep 2014, 06:52
oder du nimmst eine MemTable z.B. TVirtualTable von Devart
Die Tabelle Kannst Du im Editor bearbeiten und auch Daten eintragen die im Source gespeichert werden.
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Große datenmenge in den Source-Code einbinden

  Alt 3. Sep 2014, 08:32
Als Resource anlegen und bei dieser Größe die Daten vorher komprimieren.
z.B. mit TCompressionStream, TDecompressionStream
Beispiel zum Daten lesen:
Delphi-Quellcode:
var
  MyData: packed array of Byte;
begin
  lStream1 := TResourceStream.Create(HInstence, 'MyData', RT_RCDATA);
  lStream2 := TDecompressionStream.Create(lStream1);
  SetLentgth(MyData, lStream2.Size);
  lStream2.ReadBuffer(MyData[0], lStream2.Size);
  lStream2.Free;
  lStream1.Free;
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Große datenmenge in den Source-Code einbinden

  Alt 3. Sep 2014, 10:51
Hallo,
zunächst einmal vielen Dank für Eure vielfältigen Antworten.
Ich muß mich erst einmal mit allen den angesprochenen Möglichkeiten beschäftigen.

An Herrn Raabe : Ich bin Hobby-Programmierer und habe nur Delphi 2,5,6,7 zur Verfügung.
Um zu verhindern, dass eine gespeicherte Datei einfach gelesen werden kann
(auch komprimiert) möchte ich die Daten im Source haben; ich brauche sie für
mein Crypto-Tool.

nochmals vielen Dank
Wendelin
Wolfgang
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: Große datenmenge in den Source-Code einbinden

  Alt 3. Sep 2014, 11:00
Das geht aber fast genauso einfach, wenn die Daten in der EXE sind. Da müsstest Du dich schon sehr bemühen, die Daten verteilen, zerstückeln, mischen usw, um sie dann in Memory wieder zusammen zu basteln. Und dann kann man das auch knacken.

Security by obscurity ist keine gute Strategie bei der Verschlüsselung.
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Große datenmenge in den Source-Code einbinden

  Alt 4. Sep 2014, 17:10
Hallo, Dejan Vu

wenn man die Kenntnisse und Fähigkeiten hat, kann man sicher fast alles knacken ! Es kostet allerdings Zeit, unter Umständen auch sehr viel Zeit und natürlich auch Geld.

Und vielleicht kann man dann z.B. im Klartext lesen : 'Ich freue mich, wenn OMA uns morgen besucht!'
Das blöde Gesicht des Kryptoanalytikers möchte ich dann sehen.

Gruß Wendelin
Wolfgang
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#9

AW: Große datenmenge in den Source-Code einbinden

  Alt 4. Sep 2014, 17:20
Dejan Vu hat nur zu Recht darauf hingewiesen, dass es sicherheitstechnisch keinen Unterschied macht, ob diese Daten im Source gespeichert werden oder woanders. Aber sowas von keinen...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.138 Beiträge
 
Delphi 12 Athens
 
#10

AW: Große datenmenge in den Source-Code einbinden

  Alt 4. Sep 2014, 18:03
Die Daten liegen dann so oder so in der EXE und das wo ist somit vollkommen egal.
Als Konstante wird die Position schön in der Realocation-Tabelle verlinkt und in den Resourcen in im Resourcen-Index.

Nur daß man du Dataien leichter in die Resourcen bekommst, als in den Quellcode.

Außerdem müssen die Daten im Quellcode auch noch durch den Compiler, während sie als Resource nurden Linker passieren müssen.
Und glaub es mir, du willst nicht daß der Compiler das behandeln muß und ihm vermutlich noch der RAM aus geht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Sep 2014 um 19:22 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:53 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