[تمرين] حماية ذاتية : البرنامج معطوب، مصاب بفيروس او تم العبث به
#4
السلام عليكم و رحمة الله

إقتباس :أظف اجراء لبرنامجك لكي يفحص نفسه عند التنفيذ، فان تم العبث به او اصابه فيروس اوعطب يظهر رسالة خطأ و يخرج

اليك هذه المحاولة اخي دلتا Smile
الاجراء يعتمد على الفحص بــ CRC32 لـــ Stream ، التطبيق يفحص نفسه بنفسه دون الحاجة الى وسائط خارجية...
PHP كود :
procedure TMain.CheckItSelf;
var 
MyStream: TMemoryStream;
  
StoredChecksum, CalculateChecksum: integer;
begin
  MyStream 
:= TMemoryStream.Create;
  
MyStream.LoadFromFile(Application.ExeName);
  
MyStream.Seek(-4, soFromEnd);
  
MyStream.Read(StoredChecksum, 4);
  
StoredChecksumEdt.Text := IntToHex(StoredChecksum, 8);
  
MyStream.Seek(0, soFromBeginning);
  
MyStream.SetSize(MyStream.Size - 4);
  
CalculateChecksum := GetMemoryStreamCrc32(MyStream);
  
MyStream.Free;
  
CalculateChecksumEdt.Text := IntToHex(CalculateChecksum, 8);
  if 
StoredChecksum <> CalculateChecksum then
  begin
    MessageBox
(Handle, 'File Corrupted | Please scan your System | Maybe Virus infection.'#13 +
      
'Reinstall application to fix problem.'#13#13 +
      
'STRELiTZIA | AT4RE'#13 +
      
'www.delphi4arab.net', 'File Corrupted', MB_ICONWARNING);
    
Application.Terminate;
  
end;
end; 

استدعاء الاجراء في حدث OnCreate
PHP كود :
procedure TMain.FormCreate(Sender: TObject);
begin
  CheckItSelf
;
end; 

المرفق يحتوي على الملفات المصدرية + التطبيق.
لتجربة المرفق يجب محاولة العبث به اولا او جعله ضحية لفيروسات الملفات التنفيذية Big Grin


الملفات المرفقة
.rar   TestItSelf.rar (الحجم : 198.44 ك ب / التحميلات : 713)
[-] كل من 1 user says قال شكرا ل STRELiTZIA على المشاركة المفيدة
  • ELARAPY
الرد


الردود في هذا الموضوع
[تمرين] حماية ذاتية : البرنامج معطوب، مصاب بفيروس او تم العبث به - بواسطة STRELiTZIA - 16-01-2009, 09:30 AM
بخصوص [تمرين] حماية ذاتية - بواسطة I3CT - 28-06-2022, 12:47 PM
RE: بخصوص [تمرين] حماية ذاتية - بواسطة Delphi4Us - 28-06-2022, 01:10 PM

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


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