AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

String in Exe ändern

Ein Thema von jacky213 · begonnen am 19. Feb 2019 · letzter Beitrag vom 26. Feb 2019
Antwort Antwort
Seite 1 von 3  1 23   
jacky213

Registriert seit: 2. Mär 2011
87 Beiträge
 
#1

String in Exe ändern

  Alt 19. Feb 2019, 21:53
Moin,

ich habe in meiner Anwendung einen String gespeichert. Dieser String hat einen festen wert. Allerdings muss genau dieser String auch mal erneuert werden, sodass er aber auch nach einen Neustart den neuen wert besitzt.

Mir ist klar, dass dies zur Laufzeit nicht möglich ist, also wollte ich euch fragen wie ich die Änderung des Strings mit einem zweiten Programm bewerkstelligen kann, während die Hauptanwendung geschlossen ist.

Die zweite kleine Anwendung soll also meine Haupt Exe datei durchsuchen und den String finden, mit dem neuen wert beschreiben und alles speichern, sodass mein Hauptprogramm beim nächsten start den neuen String nutzt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.053 Beiträge
 
Delphi 2006 Professional
 
#2

AW: String in Exe ändern

  Alt 19. Feb 2019, 22:27
Warum speicherst du ihn nicht in einer Datei oder der Registry?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: String in Exe ändern

  Alt 19. Feb 2019, 22:30
... wie ich die Änderung des Strings mit einem zweiten Programm bewerkstelligen kann, während die Hauptanwendung geschlossen ist.
Da wird dein AntiViren-Programm möglicherweise etwas dagegen haben ...

Es gibt zwar eine Möglichkeit, die aber etwas aufwendig ist: Erstelle eine eigene Signatur, welche den gewünschten String enthält und signiere das Programm damit. Zum Ändern des Strings musst du dann nur das Programm neu signieren.
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (19. Feb 2019 um 22:35 Uhr)
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
66 Beiträge
 
#4

AW: String in Exe ändern

  Alt 19. Feb 2019, 23:10
Also den String in der Registry oder Ini speichern ist der einfachste Weg die Aufgabe zu lösen.

Allerdings gibt es auch die Möglichkeit einen String als Ressource zu speichern. Diese Ressource kann man dann ändern. Ich weiß, dass das geht, hab es mal gemacht, weiß aber aktuell nicht wie das geht. Da findet sich aber vermutlich irgendwo ein Tipp zu dem Thema.

Aber wie gesagt - Registry ist einfacher.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
6.908 Beiträge
 
Delphi XE4 Professional
 
#5

AW: String in Exe ändern

  Alt 20. Feb 2019, 00:14
Hallo,
Zitat:
Allerdings muss genau dieser String auch mal erneuert werden, sodass er aber auch nach einen Neustart den neuen Wert besitzt.
Wie man das hinbekommt, weiss ich, aber deine Intentition ist nicht schlüssig.

Erzähl mal mehr über Dein Problem.
Heiko
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

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
6.908 Beiträge
 
Delphi XE4 Professional
 
#7

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
6.695 Beiträge
 
Delphi 10.3 Rio
 
#8

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.266 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

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: 61440 Oberursel
98 Beiträge
 
Delphi XE5 Professional
 
#10

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
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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