با سلام
می خواستم بدونم چطوری میشه محتویات یک فایل exe را خوند و ویرایش کرد.
مثلا یک برنامه هست با VisualC++ نوشته شده. در ریسورس ها dialogs نشون داده نمیشه، ولی caption این dialog در فایل exe موجود هست، بالفرض می خوام اونو عوض کنم. چطوری میشه؟؟
با سلام
می خواستم بدونم چطوری میشه محتویات یک فایل exe را خوند و ویرایش کرد.
مثلا یک برنامه هست با VisualC++ نوشته شده. در ریسورس ها dialogs نشون داده نمیشه، ولی caption این dialog در فایل exe موجود هست، بالفرض می خوام اونو عوض کنم. چطوری میشه؟؟
اگر می شد این کار رو به راحتی انجام داد که فاتحه قفلهای سخت افزاری و نرم افزاری خونده بود همه ما هم می شدیم Hacker.
ابزارهائی برای این کار وجود دارد که زبان ماشین رو به کد اسمبلی تبدیل می کند از جمله این برنامه ها ollydebug است.
موفق باشید.
دوست عزيز فكر نكنم اين بحث در اين قسمت ( Delphi ) مناسب باشه ...
ولي اگر ميخوايين با dlephi اين كار رو بكين و فقط دوست داريد اون قسمت مورد نظرتون رو از بين باينري ها تغيير بدين شيوه ي كلي رو بهتون ميگم ...
يك متغيير از كلاس TFileStream تعريف كن و سپس فايلت رو با Mod نوشتن باز كن ... بعد با استفاده Seek رو به محل دلخواه ببر و نشتن رو در اون محل اغاز كن ...
يك نمونه كد هم برات نوشتم كه اشاره گر فايل رو به 0 ميبره بعد اونجا كلمه ي Test رو جايگزين كلمه قبلي ميكنه ...
var
File1: TFileStream;
i: Integer;
Caption: string;
begin
Caption := 'Test';
File1 := TFileStream.Create('C:\Test.txt', fmOpenWrite);
File1.Seek(0, soFromBeginning);
for i := 1 to Length(Caption) do
File1.Write(Caption[i], 1);
File1.Free;
اره .. فقط Mod خوندن ( fmOpenWrite ) رو تغيير بده .. بعد از read استفاده كن ...
ممنون! قبل از این که بپرسم این کارو کردم نشد، نا امید شدم ولی بعد که شما هم همینو گفتی، دوباره با دقت بیشتری این کارو انجام دادم عمل داد.
آخرین ویرایش به وسیله Delphi-Man : چهارشنبه 08 خرداد 1387 در 23:39 عصر