AGB  ·  Datenschutz  ·  Impressum  







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

Konstanten verändern

Ein Thema von Meflin · begonnen am 24. Mai 2004 · letzter Beitrag vom 26. Mai 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#11

Re: Konstanten verändern

  Alt 24. Mai 2004, 17:38
Sprich du willst die Stelle im Speicher überschreiben?
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 16. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Konstanten verändern

  Alt 24. Mai 2004, 17:46
Zitat von phlux:
Sprich du willst die Stelle im Speicher überschreiben?
Dann hat er's aber nicht wie gewünscht auch beim nächsten Programmstart.
[Spekulation ON]
Er will per selbstgeschriebenen Programm eine andere Exe-Datei manipulieren ---> Bytes austauschen sozusagen.
[Spekulation OFF] ...oder auch nicht ....
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Konstanten verändern

  Alt 24. Mai 2004, 17:58
Angenommen, du weißt den Offset: Dann ist es kein Problem, das zu tun, wenn es sich nicht um die eigene EXE handelt.
Zu beachten ist dabei nur, dass der neue Wert genau so lang ist wie der alte Wert, sprich dass er die gleiche Byte-Zahl hat. Bei Zahlen mag das einfach sein, bei Strings ist das schon eher ein Problem.
Ist dein String kürzer, könntest du versuchen, den übrigbleibenden Raum mit 0en aufzufüllen. Ist er größer, kannst du ihn nicht ungekürzt reinschreiben, da ansonsten die nachfolgenden Adressen nicht mehr stimmen würden.

Wilst du deine eigene EXE verändern, musst dir ein paar Tricks einfallen lassen.
Eine Möglichkeit wäre, die laufende Datei zu kopieren, die kopierte zu verändern und beim Schließen des Programms eine BAT anzulegen, die dann die original-EXE löscht und die kopierte Datei in dem Originalnamen umbenennt.

Wie auch immer, der Sinn bleibt fraglich. Wenn du das bei einer anderen EXE machen willst, sieht das nach einer Art Patchengine aus. Da gibt es schon fertige, bessere, bestimmt sind auch welche OS und für Delphi.
Und wenn du so die Einstellungen deines Programms verändern willst, würd ich mir mal Gedanken um mein Programmdesign machen. Veränderbare Einstellungen sollten in der Registry, in Datenbanken, INI-Dateien etc. gespeichert werden, aber nicht in der EXE.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
PhaTTy

Registriert seit: 16. Mai 2004
Ort: Laupheim
40 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Konstanten verändern

  Alt 24. Mai 2004, 18:27
^^^ Sorry zu spät gesehen das es schon jemand geschrieben hat...trotzdem ^^^

Also ich weis das String-Konstanten bei Delphi Anwendungen im Klartext über einen Disassembler oder HEXeditor zu lesen sind (also besser keine Passwörter als Strings in die EXE). Wenn du deine fertige EXE nun dazu bewegen kannst sich selbst du editieren (wie mit einem HEXeditor) dann geht es. In C++ habe ich das schon mal gemacht und es hat funktioniert.
Make it idiot-proof and someone will invent a better idiot...
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#15

Re: Konstanten verändern

  Alt 25. Mai 2004, 15:19
sinn und zweck ist es tatsächlich die einstellungen in der exe zu speichern, da ich sowenig "datenmüll" wie möglich hinterlassen will, wenn die exe gelöscht wird. und das wär dann wohl mit der beste und most foolproof weg. oder hat jemand ne bessere idee?
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Konstanten verändern

  Alt 25. Mai 2004, 15:33
Ach, ich denke, die Probleme, die der Benutzer kriegen wird bei Veränderung in der EXE (Virenscanner u.a. Sicherheitstools) sind weitaus größer als die, dass du irgendwo eine ini-Datei oder sowas erzeugst.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#17

Re: Konstanten verändern

  Alt 25. Mai 2004, 15:35
unter dem gesichtspunkt hab ichs noch garnicht betrachtet. aber das problem ist nicht die erzeugung der ini oder wasauchimmer, sondern eher dass das teil auch wieder gelöscht wird (bei registry kann man das ganz vergessen, da bleibt alles bis zur nächsten apokalypse drin ohne setup oder pflege seitens des users)
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Konstanten verändern

  Alt 25. Mai 2004, 15:38
Die Benutzer, die sich darüber aufregen, dass z.B. im Programmverzeichnis eine INI-Datei steht, wissen auch, wie man diese löschen kann.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#19

Re: Konstanten verändern

  Alt 25. Mai 2004, 15:40
gehe davon aus,dass mein tool kein eigenes programmverzeichnis hat. da könnte das aufspühren der zugehörigen ini schon schwer werden...
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#20

Re: Konstanten verändern

  Alt 26. Mai 2004, 08:33
mach doch einfach nen button in dein prog "registry säubern" den der user drücken muss bevor er es löscht, sonst hat er halt pech. 8)
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22:19 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