AGB  ·  Datenschutz  ·  Impressum  







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

File patchen

Ein Thema von kuba · begonnen am 4. Apr 2009 · letzter Beitrag vom 27. Jan 2023
Antwort Antwort
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#1

Re: File patchen

  Alt 5. Apr 2009, 00:21
Hallo,

vielen, vielen Dank !!!

Es funktioniert prima, anbei der "Patcher"

KUBA

PS: winexec ersetzt durch FileSetReadOnly('c:\ntldr', False);
Angehängte Dateien
Dateityp: zip nof8_982.zip (214,7 KB, 34x aufgerufen)
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
721 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Re: File patchen

  Alt 26. Jan 2023, 12:14
Hallo,
vielen, vielen Dank !!!
Es funktioniert prima, anbei der "Patcher"
...;
Hallo Community,
ich versuche den betagten "Patcher" (nof8_982.zip aus dem Jahr 2009) von Kuba zum Laufen zu bringen, aber der Code läßt sich selbst mit meinem recht alten XE5 (aus 2013) nicht kompilieren.
Hat jemand von Euch eine angepaßte Version davon?

Danke im Voraus!
Viele Grüße
Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: File patchen

  Alt 26. Jan 2023, 13:10
.. das liegt an dem hier:

SearchFor := StrAlloc(Length(SearchString) + 1); searchFor ist ein pAnsiChar
StrAlloc liefert ein pWideChar

vielleicht funktioniert es so:
SearchFor := pAnsiChar(StrAlloc(Length(SearchString) + 1)); Grüße
Klaus
Klaus

Geändert von Klaus01 (26. Jan 2023 um 13:22 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
721 Beiträge
 
Delphi XE5 Professional
 
#4

AW: File patchen

  Alt 26. Jan 2023, 13:17
Vielen Dank, Klaus!
Das war's.

Viele Grüße
Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
721 Beiträge
 
Delphi XE5 Professional
 
#5

AW: File patchen

  Alt 26. Jan 2023, 14:30
Ja das Programm läuft zwar (natürlich mit harmlosen Testdateien), aber es wird gar nichts gepatcht: Weder eine Exe, noch eine simple TXT-Datei.

Weiß jemand einen Rat?
Danke im Voraus!

Viele Grüße
Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#6

AW: File patchen

  Alt 26. Jan 2023, 15:17
vielleicht funktioniert es so:
SearchFor := pAnsiChar(StrAlloc(Length(SearchString) + 1));
Das mag vielleicht "erstmal" so halbwegs gehen, aber richtig ist es so
SearchFor := AnsiStrAlloc(Length(SearchString) + 1); .

Außerdem noch StrPCopy zu StrPCopyA usw.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (26. Jan 2023 um 15:20 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
721 Beiträge
 
Delphi XE5 Professional
 
#7

AW: File patchen

  Alt 26. Jan 2023, 16:26
Danke Himitsu,
es wird schon besser!
StrPCopyA kennt XE5 noch nicht (oder vielleicht nicht mehr?), aber
ich habe:
Delphi-Quellcode:
StrPCopy(..) durch System.AnsiStrings.StrPCopy(..)
StrEnd(..) durch System.AnsiStrings.StrEnd(..)
StrDispose(..) durch System.AnsiStrings.StrDispose(..)
ersetzt und benutzt. Damit konnte ich eine TXT-Datei erfolgreich patchen, nicht jedoch eine EXE, auch nicht dann, wenn der neue String dieselbe Länge hatte wie der alte in der EXE.
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#8

AW: File patchen

  Alt 26. Jan 2023, 17:30
Hab den Code nicht komplett angesehn, aber ich denke mal er wird immer abrauchen, sobald ein #0 vorkommt, was in der EXE garantiert der Fall sein wird.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: File patchen

  Alt 26. Jan 2023, 19:56
Im Anhang ein total simpler byte patcher.
Delphi-Quellcode:
       Offsets : ARRAY [1..8] OF LONGINT = ($2e57, $2e58, $42b4, $42b5, $63a4, $67bf, $68ff, $6c4e);
     OrgValues : ARRAY [1..8] OF BYTE = ($7c, $0f, $7c, $18, $85, $85, $8d, $75);
     NewValues : ARRAY [1..8] OF BYTE = ($90, $90, $90, $90, $84, $84, $85, $eb);
darüber wird der ablauf gesteuert.
Geschrieben vor einer Ewigkeit, gerade nur mal kurz getestet ob es kompiliert und noch das tut was es soll.
Vielleicht hilft es Dir?
Angehängte Dateien
Dateityp: dpr PATCH.dpr (5,3 KB, 7x aufgerufen)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:26 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