16-01-2009, 09:30 AM
(آخر تعديل لهذه المشاركة: 16-01-2009, 09:33 AM بواسطة STRELiTZIA.)
السلام عليكم و رحمة الله
اليك هذه المحاولة اخي دلتا
الاجراء يعتمد على الفحص بــ CRC32 لـــ Stream ، التطبيق يفحص نفسه بنفسه دون الحاجة الى وسائط خارجية...
استدعاء الاجراء في حدث OnCreate
المرفق يحتوي على الملفات المصدرية + التطبيق.
لتجربة المرفق يجب محاولة العبث به اولا او جعله ضحية لفيروسات الملفات التنفيذية
إقتباس :أظف اجراء لبرنامجك لكي يفحص نفسه عند التنفيذ، فان تم العبث به او اصابه فيروس اوعطب يظهر رسالة خطأ و يخرج
اليك هذه المحاولة اخي دلتا

الاجراء يعتمد على الفحص بــ 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;
المرفق يحتوي على الملفات المصدرية + التطبيق.
لتجربة المرفق يجب محاولة العبث به اولا او جعله ضحية لفيروسات الملفات التنفيذية


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)