Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eigenes Programm "patchen" (https://www.delphipraxis.net/103062-eigenes-programm-patchen.html)

delphinia 9. Nov 2007 12:18


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?

sirius 9. Nov 2007 12:21

Re: Eigenes Programm "patchen"
 
Ja, aber warum?
Willst du jetzt die Exe zur Laufzeit im RAM oder auf der Platte ändern?

delphinia 9. Nov 2007 12:23

Re: Eigenes Programm "patchen"
 
nee Auf Platte nicht im Ram....

Warum? Hmm in erster Linie zum weiter lernen in Delphi

leddl 9. Nov 2007 12:24

Re: Eigenes Programm "patchen"
 
:gruebel: Klingt für mich verdächtig nach ner ShareWare mit nem nervigen Popup :zwinker:
Zitat:

Zitat von delphinia
Warum? Hmm in erster Linie zum weiter lernen in Delphi

:lol: Jetzt wirds mysteriös... Was hat denn das cracken einer EXE mit Delphi zu tun? ;)

delphinia 9. Nov 2007 12:25

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!

lbccaleb 9. Nov 2007 12:25

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...

leddl 9. Nov 2007 12:27

Re: Eigenes Programm "patchen"
 
Zitat:

Zitat von delphinia
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!

Wenn es ein Programm von dir ist, dann nimm einfach das ShowMessage raus und fertig :zwinker:

delphinia 9. Nov 2007 12:28

Re: Eigenes Programm "patchen"
 
Das wäre aber nicht sinnd er Übung *g*

lbccaleb 9. Nov 2007 12:29

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..

divBy0 9. Nov 2007 12:30

Re: Eigenes Programm "patchen"
 
Nimm doch die EXE und einen Disassembler und dann viel Spaß!

Hier gibt den MASM32: MASM32

Klaus01 9. Nov 2007 12:37

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

sirius 9. Nov 2007 12:48

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.

dominikkv 9. Nov 2007 12:51

Re: Eigenes Programm "patchen"
 
bei den JEDIS gibts nen TJvPatchFile, vllt hilft das weiter

Nuclear-Ping 9. Nov 2007 13:48

Re: Eigenes Programm "patchen"
 
Zitat:

Zitat von delphinia
Das wäre aber nicht sinnd er Übung *g*

Was willst du denn üben? Delphi oder ASM und PE/COFF-Formate?

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.

alias5000 9. Nov 2007 14:29

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

Nuclear-Ping 9. Nov 2007 14:31

Re: Eigenes Programm "patchen"
 
Klar geht das. Unter Windows 95, 98, ... unter NT+ nur mit Adminrechten und unter Vista garnicht mehr.

sirius 9. Nov 2007 14:32

Re: Eigenes Programm "patchen"
 
Zitat:

Zitat von alias5000
ö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?

Du kannst gerne stören :cyclops:
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