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
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von kuba
kuba

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

File patchen

  Alt 4. Apr 2009, 20:25
Hallo,

ich möchte in einer Datei eine HEX-Zeichenkette finden und durch eine andere ersetzen.
Gibt es da nicht eine einfache Möglichkeit ? Kann mir jemand einen Hinweis geben (am besten Codebeispiel) ?

KUBA
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#2

Re: File patchen

  Alt 4. Apr 2009, 21:03
Wenn du fragst "gibt es keine einfachere Möglichkeit" heißt es, dass du schon eine Möglichkeit hast --> Poste die mal. Ich kann leider nicht

Noch ne Frage: Was meinst du mit Datei ? Windows Executables ?
Falls ja, dann wird das umständlich, wenn die zu ersetzende Zeichenkette kürzer ist als die Neue, denn die Section im PE-Header muss dann eben angepasst werden!

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

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

Re: File patchen

  Alt 4. Apr 2009, 21:08
Zitat von mr_emre_d:
Wenn du fragst "gibt es keine einfachere Möglichkeit" heißt es, dass du schon eine Möglichkeit hast
Er frägt ja auch nur nach einer einfachen

FileSeek, Fileread, FileWrite, Blockread und BlockWrite könnten weiterhelfen - aber wie schon erwähnt, ala "Suchen und Ersetzen" wirds je nach Dateityp nicht unbedingt zum gewünschten Ergebnis führen.
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

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

Re: File patchen

  Alt 4. Apr 2009, 21:16
Hy,

bisher habe ich nur Textdateien ausgelesen, jetzt will ich den ntldr patchen, und zwar so:

search for the Hex value "CD 16 0F 85 09." When the value is located, replace it with "CD 16 90 90 90." Now when you reboot, press f8 for safe mode, you will not be able to select any options on the menu.

Da ich diese Geschichte in mein Softwarepaket integrieren will benötige ich "Examplecode"

kuba
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#5

Re: File patchen

  Alt 4. Apr 2009, 23:01
TmpCode: (keine Suche)
Delphi-Quellcode:
var
  F: File of Byte;
begin
  AssignFile( F, 'C:\Beispielsdatei.beispielsendung' );
  //-- wenn datei existiert, dann resetten:
  Reset( F );
  //-- wenn es sie nicht gibt, kann nichts resettet werden -> erstellen (überschreiben):
  Rewrite( F );
  //-- Zu einem bestimmten Byte gehen (Offset):
  Seek( F, Offset );
  //-- Folgende zwei Instruktionen erhöhen den Offset um jeweils >Anzahl der Bytes, die eingelesen werden sollen<:
  //-- Lesen:
  BlockRead( F, Variable in die eingelesen werden soll, Anzahl der Bytes die eingelesen werden sollen );
  //-- Schreiben:
  BlockWrite( F, .. siehe BlockRead
  //-- Wichtig -> schließen nie vergessen, da Änderungen sonst nicht angenommen werden:
  CloseFile( F );
end;
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

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

Re: File patchen

  Alt 4. Apr 2009, 23:34
Hallo,

ich finde bereits die Sequenz im ntldr, die Funktion ScanFile habe ich hier im Forum gefunden:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  thepos: integer;
begin
  version := '';
  thepos := ScanFile('c:\ntldr',(#205+#22+#15+#133+#9),true);
  if thepos = -1 then showmessage('Code gefunden');
end;
KUBA
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#7

Re: File patchen

  Alt 4. Apr 2009, 23:37
Warum schreibst du dir diese Routinen nicht selbst ?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: File patchen

  Alt 4. Apr 2009, 23:42
Code:
if thepos = -1 then showmessage('Code [color=#ff0000][b]NICHT [/b][/color]gefunden');
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

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

Re: File patchen

  Alt 4. Apr 2009, 23:44
Zitat von mr_emre_d:
Warum schreibst du dir diese Routinen nicht selbst ?
Die Routine ScanFile ?

Wozu das Rad zweimal erfinden, ich entwickle meine Software wie jeder andere Programmierer unter zuhilfenahme von Komponenten und bereits bestehenden Public Domain Auszügen.

Mit Binären Dateien habe ich bisher noch nicht gearbeitet, daher meine Frage hier im Forum.

KUBA
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

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

Re: File patchen

  Alt 4. Apr 2009, 23:47
Zitat von himitsu:
Code:
if thepos = -1 then showmessage('Code [color=#ff0000][b]NICHT [/b][/color]gefunden');
stimmt, Mist

KUBA
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 01:37 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