![]() |
exe Datei erstellen
Ich habe schonmal Programme gesehen in dem man z.B erst ein fenster öffnet und dort seine einstellungen z.B die von seinem Betribssystem dann auf OK drückt und man dann eine auf sein System zugeschnittene software hat .
Dies war ja nur ein Beispiel ich wollte jetzt nur wissen wie man sowas machen kann den einige meiner Programme Funktionieren nur auf Windows XP Home und einige nur auf Professional . wenn ich sowas mit einprogrammieren könnte würde es viel leichter sein , den dann könnte der User einfach selber seine einstellungen angeben . In der exe müssen nur geringe einstellungen vorgenommen werden z.B der Benutzername des Users oder der Name des Hauptverzeichnisses . Also wie kann man aus einer Anwendung heraus eine exe Datei erstellen. |
Re: exe Datei erstellen
Da du die Exe kompilieren müsstest, denke ich nicht, dass es so einfach geht, kann mich aber auch irren.
Ansonsten könntest du auch einfach das Betriebssystem auslesen und entsprechend die Pfade etc. anpassen, falls man die version auslesen kann. :? |
Re: exe Datei erstellen
Zitat:
Aber du kannst sehr einfach in Delphi mittels dynamischer DLL-Laden Funktionen einbinden die z.B. nur unter XP zur verfügung stehen und trotzdem läuft dein Programm auch mit 98. Schau dir einfach mal die Win32API-Units in der Jedi an. Dort wird praktisch jede WinAPI-Funktion dynamisch einbunden. Du mußt nur noch mittels If IsWin2000Up-Abfragen entscheiden ab wann du die Funktion/den Dialog bereitstellen kannst, da das Betriebssystem neu genug ist. |
Re: exe Datei erstellen
@N47R0N: bist du dir sicher dass, das programm angepasst wird und nicht nur die einstellungen in der Registry etc. gespeichert werden?
|
Re: exe Datei erstellen
es geht ja jetzt nicht darum wie man herausfindet unter welchem betribssystem man die Anwendung startet sondern wollte ich einfach mal wissen wie man solche exe dateien aus einem Programm heraus erstellt .
ODER Wie man eine bereits existierende exe Datei die gerade nicht löuft Editieren kann und seine Einstellungen so Changen kann. |
Re: exe Datei erstellen
die meisten Programme die wirklich sowas machen patchen die Exe einfach. So ist die original-Exe als Ressource in der Konfigurationsexe enthalten. Je nach dem welche einstellungen vorgenommen werden, wird die Exe (aus der Ressource) an den entsprechenden stellen geändert und anschließend auf die Festplatte geschrieben
|
Re: exe Datei erstellen
Joa sowas in der richtung wollte ich wissen . Gibt es Anleitungen wie man eine exe Patcht????
|
Re: exe Datei erstellen
du musst einfach nur wissen was du ändern willst und diese stelle schreibst du dann um. Also einfach Datei mit TFileStream öffnen (oder TRessourceStream wenns noch als Ressource im Speicher ist) und dann an die entsprechnden Stellen in der exe die neuen Werte schreiben (und die alten damit überschreiben)
|
Re: exe Datei erstellen
Ja ich danke dir erstmal , nur kannst du mir ein paar tuts zeigen worin erklärt wird wie man sowas anstellt.
|
Re: exe Datei erstellen
Hi,
dazu wär's wahrscheinlich nicht schlecht, sich erstmal mit Assembler zu beschäftigen. Ein recht umfangreiches Tutorial dazu gibt's zum Beispiel ![]() Grüße, Niko |
Re: exe Datei erstellen
Kann man ein Patch nicht auch in Delphi Coden den , ich komme mit Assembler überhaupt nicht klar , werd einfach nicht schlau daraus.
|
Re: exe Datei erstellen
Du möchtest also eine exe, die erst einen Konfigurationsdialog anzeigt, und wenn der ausgeführt wurde, dass Prog ?
Ich würde es so machen: Eine Exe, die prüft, ob bsw. config.ini vorhanden ist. wenn ja, normales Programm. Wenn nicht, stattdessen ein Konfigurationsdialog, der sie erstellt. Alternativ vll. den Konfigdialog in eine eigene Exe, mit Hauptapp. als Ressource, config.ini wird erstellt, Ress. entpackt ... Die Exe zu patchen trifft imho nicht ganz den Sinn ... (overkill) |
Re: exe Datei erstellen
Zitat:
Sicher kannst den auch in Delphi schreiben. Frag mich jetzt bitte nicht wie Niko auf die Idee kommt, dass dies nur mit Assembler ginge... Du mußt lediglich die Unterschiede reinschreiben, wie auch schon die Vorredner schrieben. Die Unterschiede findest einfach durch Vergleich der Versionen. Mir persönlich würde eine Lösung mit verschiedenen DLLs mehr zusagen, aber ich weiß auch nicht wirklich, für was Du sowas überhaupt willst. |
Re: exe Datei erstellen
Ich möchte einfach wissen wie man in eine exe schreiben kann???
wie ist mir egal hauptsache man bekommt es mit Delphi hin . Das vorhin war nur ein Beispiel , ich weis wohl das ich das ganse auch mit dll's und INI's erledigen kann aber ich möchte nun mal was neues dazu lehrnen . |
Re: exe Datei erstellen
Zitat:
|
Re: exe Datei erstellen
patchen muss nicht unbedingt viel source sein. du kannst zum beispiel im Programm eine Konstante verwenden welche du durch patchen änderst (einfach die stelle finden wo die konstante in der Exe steht und durch eine neue Konstante überschreiben)
|
Re: exe Datei erstellen
Najut dann werd ich das mal tuhen
|
Re: exe Datei erstellen
Zitat:
Wenn man eine exe-Datei verändern will, ist es aber sicher nicht schlecht, wenn man weiß wie eine solche eigentlich aussieht. Wie sonst sollte man herausfinden können, wo man was wie verändern muss, um einen anderen Ablauf zu erhalten? Die Idee mit der Konstanten vereinfacht das natürlich erheblich. (Wobei man das dann wohl wieder erheblich einfacher über eine Konfigurationsdatei umsetzen könnte ...) |
Re: exe Datei erstellen
Zum Thema Exe-patchen :
Du kannst ja einfach eine neue Section in die Exe Datei einfügen und dann deinen jmp-Wert ändern. Ein wenig ASM musst du dafür zwar mitbringen aber hey - ![]() |
Re: exe Datei erstellen
Verwenden Programme die Installationen erstellen die gleiche Technik. Dort kann ich ja auch sagen das ich diesen Dailog mit dem Bild und dem Text haben möchte. Haben die auch eine exe als Resource angehängt die sie dann einfach bearbeiten?
|
Re: exe Datei erstellen
Zitat:
Ich hab mal spasseshalber ein Setup geschrieben, das Config-Infos in eine INI speichert, die entsprechenden Dateien kopiert, alles zusammen dann komprimiert und an eine EXE anhängt. Bei der Installation wird dann zuerst der Anhang entpackt, die INI-Datei ausgelesen und dementsprechend verfahren. Leider hab ich das Prog gelöscht... :( mfg |
Re: exe Datei erstellen
Hi,
![]() |
Re: exe Datei erstellen
Nein, gibts nicht mehr... ;)
Ich hab da mal im MSDN was gesehen, ein Beispiel, wo eine Dialogressource (KEIN Delphi-Form) von einer EXE zu einer anderen Kopiert wurde. War in C geschrieben. Ich finds leider nicht mehr, aber da wurden die exe's mit LoadLibrary geladen (!) und dann über irgendeine API-Funktion kopiert. Wenn du jedoch nicht die Ressourcen, sondern den Code deiner EXE ändern willst, würde ich empfehlen, falls dein Programm wirklich nur unter manchen Systemen läuft, mehrere Exen anzuhängen und dann eine davon in eine Datei zu schreiben (Windowsversion ermitteln :-) oder eine EXE für Win32, eine für .NET 1.0 und eine für .NET 1.1, ...). Für die Styles usw. kannst du dann immer noch noch Ressourcen ändern. |
Re: exe Datei erstellen
Zitat:
Das Beispiel gibt's aber trotzdem noch, hier der ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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