![]() |
|
كيف عن قيمة هيكس في ملف bin ثم استبدالها ؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف عن قيمة هيكس في ملف bin ثم استبدالها ؟ (/showthread.php?tid=7809) |
كيف عن قيمة هيكس في ملف bin ثم استبدالها ؟ - salah07230 - 08-05-2016 السلام عليكم عندي ملف اريد ان ابحث داخله عن قيمة معية هي بالهكس مثلا: BF0300E0008C بعد ايجادها اريد تحديد الاوفسات الخاص بها وتغييرها بقيمة اخرى بحثت سابقا كثيرا ولم اجد حلا الى الان ان شاء الله اجد حلا هنا وشكرا لكم RE: البحث في ملف bin - محمدعلى - 09-05-2016 (08-05-2016, 09:46 PM)salah07230 كتب : السلام عليكم تفضل اخى على باضافة مكون MPHexEditor1 فى المشروع كود : procedure TForm1.Button1Click(Sender: TObject);
begin
If OpenDialog1.Execute then
begin
caption := ExtractFileName(OpenDialog1.FileName);
MPHexEditor1.LoadFromFile(OpenDialog1.FileName);
MPHexEditor1.SelStart := 259477 ;
MPHexEditor1.SelEnd := 259504 ;
EDit1.text := MPHexEditor1.SelectionAsText ;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
MPHexEditor1.SelStart := 259477 ;
MPHexEditor1.SelEnd := 259504 ;
MPHexEditor1.SelectionAsText := EDit1.Text ;
MPHexEditor1.SaveToFile(OpenDialog1.FileName);
Showmessage('Save Ok !');
end;RE: كيف عن قيمة هيكس في ملف bin ثم استبدالها ؟ - salah07230 - 09-05-2016 مشكور اخي محمد على ردك وحشتني كثير ان شاء الله تكون بالف خير وعافية تحياتي لك جاري التجريب RE: كيف عن قيمة هيكس في ملف bin ثم استبدالها ؟ - محمدعلى - 09-05-2016 تفضل اخى unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, XPMan; type a = array [0..1000000] of char; type TForm1 = class(TForm) Button1: TButton; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; Edit3: TEdit; Timer1: TTimer; ProgressBar1: TProgressBar; Edit1: TEdit; Button3: TButton; Button2: TButton; Edit2: TEdit; XPManifest1: TXPManifest; Label1: TLabel; Label2: TLabel; StatusBar1: TStatusBar; procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public f:file of a; s:file of a; d: a; { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i : integer ; begin if OpenDialog1.Execute then begin Button1.Enabled:=false; Button3.Enabled := True; Edit1.Text := Edit1.Text + ' ' + ExtractFileName(OpenDialog1.FileName); AssignFile (f, OpenDialog1.FileName); reset(f); Read(f, d); for i := 0 to 15 do begin Edit3.Text := Edit3.Text + IntToHex(Ord(d[I]),2); end; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin progressbar1.Position := 0; caption := caption[Length(caption)] + Copy(caption, 1,Length(caption) - 1); end; procedure TForm1.Button3Click(Sender: TObject); var sTemp,fTemp,aTemp,bTemp,cTemp,dTemp : string; var soft,soft1,soft2,soft3,soft4,soft5: char; begin if Edit1.Text='File Name' then MessageBeep($00000040); Messagedlg('Ok Ali Extractor File',mtInformation,[mbOk],0); sTemp:=edit3.Text; if length(sTemp)<>32 then begin MessageDlg('Invalid Key', mtError,[mbOk], 0); exit; end; begin copyFile(pchar(opendialog1.filename),pchar(opendialog1.filename + '.BAK'),true); AssignFile (F, OpenDialog1.FileName); reset(f); soft:=chr(strtoint('$' + copy(sTemp,1,2))); d[4]:=soft; soft:=chr(strtoint('$' + copy(sTemp,3,2))); d[5]:=soft; soft:=chr(strtoint('$' + copy(sTemp,5,2))); d[6]:=soft; soft:=chr(strtoint('$' + copy(sTemp,7,2))); d[7]:=soft; soft:=chr(strtoint('$' + copy(sTemp,9,2))); d[8]:=soft; soft:=chr(strtoint('$' + copy(sTemp,11,2))); d[9]:=soft; soft:=chr(strtoint('$' + copy(sTemp,13,2))); d[10]:=soft; soft:=chr(strtoint('$' + copy(sTemp,15,2))); d[11]:=soft; soft:=chr(strtoint('$' + copy(sTemp,17,2))); d[12]:=soft; soft:=chr(strtoint('$' + copy(sTemp,19,2))); d[13]:=soft; soft:=chr(strtoint('$' + copy(sTemp,21,2))); d[14]:=soft; soft:=chr(strtoint('$' + copy(sTemp,23,2))); d[15]:=soft; soft:=chr(strtoint('$' + copy(sTemp,25,2))); d[16]:=soft; soft:=chr(strtoint('$' + copy(sTemp,27,2))); d[17]:=soft; soft:=chr(strtoint('$' + copy(sTemp,29,2))); d[18]:=soft; soft:=chr(strtoint('$' + copy(sTemp,31,2))); d[19]:=soft; if length(fTemp)<>32 then begin Write(f,d); CloseFile(f); Edit1.Text:='File Name'; begin end; //end; //end; //end; //end; //end; begin timer1.Enabled := True; progressbar1.Position := progressbar1.Position + 100 ; end; if progressbar1.Position = progressbar1.Max then begin timer1.Enabled := True; end; end; end; Button1.Enabled:=true; end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; end. RE: كيف عن قيمة هيكس في ملف bin ثم استبدالها ؟ - salah07230 - 09-05-2016 مشكور اخي محمد اتعبتك معي ساحاول التعديل على المثال الاول RE: كيف عن قيمة هيكس في ملف bin ثم استبدالها ؟ - محمدعلى - 09-05-2016 تفضل اخى الملف RE: كيف عن قيمة هيكس في ملف bin ثم استبدالها ؟ - salah07230 - 09-05-2016 مشكور اخي محمد وبارك الله فيك |