القراءة من ملف ثنائى عند عنوان محدد
#2
وعليكم السلام ورحمة الله
جرب:
PHP كود :
procedure PatchBytes(FileTarget: string; Value: String; Offset: LongInt; IsHex: Boolean = True; MakeBackup: Boolean = True);
var
  
EXEStream: TMemoryStream;
  
Buf: String;
begin
  SetLength
(Buf, Length(Value) div 2);
  if 
IsHex then
    HexToBin
(PChar(Value), @Buf[1], Length(Value))
  else  
Buf := Value;
  
EXEStream := TMemoryStream.Create;
  try
    
EXEStream.LoadFromFile(FileTarget);
    if 
MakeBackup then
      EXEStream
.SaveToFile(ChangeFileExt(FileTarget, '.bak'));
    
EXEStream.Seek(Offset, 0);
    
EXEStream.WriteBuffer(Buf[1], Length(Buf));
    
EXEStream.SaveToFile(FileTarget);
  finally
    
EXEStream.Free;
  
end;  // try
end; 
و:
PHP كود :
procedure PatchBytes(FileTarget: string; Value: String; Offset: LongInt; MakeBackup: Boolean = True);
var
  
EXEStream: TMemoryStream;
  
Bytes: LongWord;
  
I: Integer;
begin
  EXEStream 
:= TMemoryStream.Create;
  try
    
EXEStream.LoadFromFile(FileTarget);
    if 
MakeBackup then
      EXEStream
.SaveToFile(ChangeFileExt(FileTarget, '.bak'));
    
EXEStream.Seek(Offset, 0);
    
I := 1;
    while 
I < Length(Value) do begin
      Bytes 
:=  StrToInt('$'+Value[I] + Value[I+1]);
      
Inc(I, 2);
      
EXEStream.WriteBuffer(Bytes, 1);
    
end;
    
EXEStream.SaveToFile(FileTarget);
  finally
    
EXEStream.Free;
  
end;  // try
end; 
بالتوفيق.
الرد


الردود في هذا الموضوع
القراءة من ملف ثنائى عند عنوان محدد - بواسطة kachwahed - 11-06-2011, 10:56 AM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم