AGB  ·  Datenschutz  ·  Impressum  







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

String in Exe ändern

Ein Thema von jacky213 · begonnen am 19. Feb 2019 · letzter Beitrag vom 26. Feb 2023
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: String in Exe ändern

  Alt 20. Feb 2019, 01:59
Erzähl mal mehr über Dein Problem.
Ich bin sicher, dass er schon selber auf die Idee gekommen ist, den String in der Reg. oder sonstwo zu speichern. Er muss also einen Grund haben, die Information direkt mit dem Programm zu verbinden. Aus dieser Sicht ist eine Signatur ideal.
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: String in Exe ändern

  Alt 20. Feb 2019, 08:39
Hallo,
oder man packt den String als Ressource in die Exe (siehe Alallart).
Windows bietet dann Funktionen an, den Wert zu ändern.
siehe dazu
https://docs.microsoft.com/de-de/win...ting_Resources

Dann darf die Exe allerdings nicht signiert werden/sein,
weil das Ändern der Exe die Signatur zerschießt.
Heiko

Geändert von hoika (20. Feb 2019 um 08:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: String in Exe ändern

  Alt 20. Feb 2019, 08:57
Sollte die EXE nicht sowieso schreibgeschützt sein? Da könnte sonst ja jede Malware dran basteln.

Ich kenne jetzt die Hintergründe für diese Entscheidung nicht, aber ich würde auch in jedem Fall ein externes Setting (Registry, File, Ressource) vorziehen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: String in Exe ändern

  Alt 20. Feb 2019, 11:00
Sollte die EXE nicht sowieso schreibgeschützt sein? Da könnte sonst ja jede Malware dran basteln.
Völlig richtig. Also kommt nur das Prinzip der Metadaten in Frage, wenn die Anforderung lautet, die Information direkt mit der Exe zu verbinden. Und die einzig erlaubte Form von direkt verbundenen intrinsischen Exe-Metadaten ist eine Signatur.
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  Mit Zitat antworten Zitat
pesi

Registriert seit: 29. Aug 2003
Ort: 36217 Ronshausen
117 Beiträge
 
Delphi XE5 Professional
 
#5

AW: String in Exe ändern

  Alt 20. Feb 2019, 13:20
Hmmm.... ist das ein "geheimer" String? Wenn nicht, wie wäre es denn wenn man dem Programm diesen String einfach als Startparameter übergibt?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: String in Exe ändern

  Alt 20. Feb 2019, 14:09
Hallo,
Zitat:
Da könnte sonst ja jede Malware dran basteln.
Nicht, wenn die Exe signiert ist und die Signatur auch geprüft wird.
Heiko
  Mit Zitat antworten Zitat
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#7

AW: String in Exe ändern

  Alt 20. Feb 2019, 22:10
In dem String befindet sich ein verschlüsselter Text. Der Text wird beim starten des Programms via Passwort abfrage entschlüsselt, sollte der Nutzer das Passwort nicht kennen, kommt er nicht weiter. Die Idee dahinter ist Simpel, wer das Passwort nicht kennt, der wird das Passwort auch nicht im Quelltext finden.

Ich wollte eine Funktion einbauen welche es dem Nutzer ermöglicht das Passwort zu ändern (Natürlich nur wenn er das alte Passwort kennt) und hierfür muss dieser String dann auch geändert werden.

Das mit der Signierung klingt sehr interessant. Danke für die ganze Ansätze ich mach mich mal an die Arbeit.
  Mit Zitat antworten Zitat
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: String in Exe ändern

  Alt 21. Feb 2019, 17:13
Irgendwie erschließt sich mir der Sinn nicht ganz...
Solche Sachen wurden früher mal gerne eingesetzt um die Server diverser Trojaner nachträglich komfortable zu editieren...

Ansonsten würde ich wie Lucky schon schrieb eine zusätzliche Datei oder eben den Weg über die Registry nehmen.

Eine weitere Möglichkeit die ich mal genutzt habe, wäre der Windows Credential Manager.
Die Vorgehensweise war da z.B. mittels BCrypt (gibt es für Delphi, siehe Github MD5 kann ich nicht empfehlen...) das Passwort quasi Pre-hashed dort zu speichern.

Später im Hauptprogramm dann über einen Login Dialog das eingegebene Passwort hashen und diesen Hash mit dem aus dem Windows Credential Manager vergleichen, wäre der meiner Meinung nach eleganterer Weg.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: String in Exe ändern

  Alt 25. Feb 2019, 09:01
Hmmm.... ist das ein "geheimer" String? Wenn nicht, wie wäre es denn wenn man dem Programm diesen String einfach als Startparameter übergibt?
Gute Idee! Obwohl man die Startparameter aus den Prozessdaten auslesen kann. Der übergebene String müsste dann schon verschlüsselt sein.
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#10

AW: String in Exe ändern

  Alt 25. Feb 2019, 09:31
Also ich habe es immer so gemacht, das Programm-Passwörter als Parameter zu übergeben sind (jetzt mal vollkommen ab davon ob nun verschlüsselt oder nicht) und diese werden dann nicht mit einem fix einprogrammierten Wert verglichen, sondern mit einem Wert der in einer Datei im Netzwerk liegt.

Dadurch kannst du das Passwort jederzeit Zentral ändern, falls nötig und wenn du eine Logik (Verschlüsselung) hinterlegst mit der die beiden Werte abgeglichen werden, bist du schon auf einem guten Weg. Und(/Aber): Wenn kein Zugang zum Netzwerk besteht, kann die Anwendung (bei mir) daher nicht gestartet/ genutzt werden.

Natürlich ist dabei zu empfehlen eine Verschlüsselung zu nutzen, da der Wert ja im Netzwerk in einer Datei steht, weshalb ich selber auch nur den SHA2-Hash ablege.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas (25. Feb 2019 um 14:35 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz