![]() |
Eigenes Programm "patchen"
Ich habe ein Programm, welches ich verändern will (auf EXE ebende)
Das heisst also ich habe in meiner Exe zb. einen Button, der beim Klick eine ShowMEssage anzeigt. Nun möchte ich die EXE so verändenr, dass diese ShowMEssage nicht mehr angezigt wird. Möglich? |
Re: Eigenes Programm "patchen"
Ja, aber warum?
Willst du jetzt die Exe zur Laufzeit im RAM oder auf der Platte ändern? |
Re: Eigenes Programm "patchen"
nee Auf Platte nicht im Ram....
Warum? Hmm in erster Linie zum weiter lernen in Delphi |
Re: Eigenes Programm "patchen"
:gruebel: Klingt für mich verdächtig nach ner ShareWare mit nem nervigen Popup :zwinker:
Zitat:
|
Re: Eigenes Programm "patchen"
NEIN! Es geht wahrlich um ein Prgramm von mir - daher kenne ich ja auch die ProgrammierZeile die ich verändern wollen würde nur weiss ich nicht wie ich das in eienr fertigen EXE mache!
|
Re: Eigenes Programm "patchen"
ja das ist aber glaub ich nicht das was hier unbedingt auf grosse beführwortung stößt, denn das ist mehr ne seche die in den untergrund bereich der szene geht, behaupte ich jetzt mal so...
also vllt nicht das wahre für dieses forum... |
Re: Eigenes Programm "patchen"
Zitat:
|
Re: Eigenes Programm "patchen"
Das wäre aber nicht sinnd er Übung *g*
|
Re: Eigenes Programm "patchen"
ja aber allein das aufzählen der sachen die du dafür benötigst, ist hier schon fehl am platze sorry..
|
Re: Eigenes Programm "patchen"
|
Re: Eigenes Programm "patchen"
Wenn Du ein Programm patchen willst (um einen Fehler zu beheben oder ähnliches)
mußt Du eine Differenz (Byteweise) vom jetzigen Programm zum neuen Programm bilden. Mit dem Patchprogramm wird das alte Programm dann so angepasst, das es dem neunen entspricht. Aber es ist schon recht ungewöhnlich. Auf PC werden in der Regel die Dateien ausgetauscht. Gepatcht wird eher auf Großrechnern (das wird auch im RAM repatcht). Grüße Klaus |
Re: Eigenes Programm "patchen"
Vor allem lernst du da Windows kennen.
Also du musst den Aufruf von showmessage unterbinden. Das sind 5 Bytes. U den Stack brauchen wir uns nicht zu kümmern, weil wir haben weniger als 4 Argumente. Jetzt müssen wir nur noch den Aufruf im Programm finden. Also Varianten: 1. Du legst eine Konstante (am besten in ASM) vor oder nach den Aufruf und durchsuchst dann die Exe. 2. Du erfasst die Adresse im ausführbaren Code und rechnest danna uf den Patz in der Exe zurück 3. Kombination aus 1 und 2 Allerdings kannst du natürlich nicht in deiner Exe rumwerkeln solange das Programm läuft. Das bedeutet, du musst einen neuen Process starten, der dann die Exe verändert und dann dein geändertes Programm startet. |
Re: Eigenes Programm "patchen"
bei den JEDIS gibts nen TJvPatchFile, vllt hilft das weiter
|
Re: Eigenes Programm "patchen"
Zitat:
Wenn du ersteres üben willst, dann nimm - wie schonmal gesagt wurde - die ShowMessage raus und ersetze halt die alte Exe mit der neuen. Alles andere wäre (vorallem zum üben) wahnsinn. Ich behaupte mal, du stehst grad auf dem Schlauch. :P Auch wenn hier Leute von Disasm usw. reden, für'n Anfänger ist das garantiert nix. Weiterhin kannst du damit auch nur kleine Stellen auf Assembler-Ebene der Exe ändern, aber kaum große Änderungen vornehmen. |
Re: Eigenes Programm "patchen"
öhm, ich will ja nicht bei eurer Diskussion stören, aber reicht zu dem Spaß nicht eine Batch-file o.ä. , die nach dem Beenden des Programms die neue Exe drüberkopiert?
...gruß alias5000 |
Re: Eigenes Programm "patchen"
Klar geht das. Unter Windows 95, 98, ... unter NT+ nur mit Adminrechten und unter Vista garnicht mehr.
|
Re: Eigenes Programm "patchen"
Zitat:
Aber der TE wollte ja nicht kopieren, sondern patchen. und [roter Kasten] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 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