STRELiTZIA
27-11-2008, 06:04 PM
بسم الله الرحمن الرحيم
درس تمهيدي بتنسيق PDF مع الملفات المصدرية يتحدث على عملية الهاش Hash باستعمال خوارزمية MD5 توليد و مقارنة، و تخطي MD5 Collision.
المرفق يحتوي على :
- درس بتنسيق PDF.
- ملفات مصدرية و الأداة MD5 Equality
- ملفات مصدرية و الأداة MD5 Collision Bypassing.
جزء من الكود :
procedure TMain.CmpHashImg5Click(Sender: TObject);
begin
if OpenDialog.Execute then
begin
FileNameEdt.Clear;
FirstHashEdt.Clear;
FileNameEdt.Text := OpenDialog.FileName;
{ Custom Magic Values }
if Trim(MagicValEdt1.Text) <> '' then
if Trim(MagicValEdt2.Text) <> '' then
if Trim(MagicValEdt3.Text) <> '' then
if Trim(MagicValEdt4.Text) <> '' then
begin
MagicVal1 := StrToInt('$' + MagicValEdt1.Text); //$67452301;
MagicVal2 := StrToInt('$' + MagicValEdt2.Text); //$efcdab89;
MagicVal3 := StrToInt('$' + MagicValEdt3.Text); //$98badcfe;
MagicVal4 := StrToInt('$' + MagicValEdt4.Text); //$10325476;
{ Get MD5 Hash }
FirstHashEdt.Text := MD5Print(MD5File(FileNameEdt.Text));
end;
end;
end;
procedure MD5Init(var Context: MD5Context); { Modified by STRELiTZIA | AT4RE }
begin
with Context do begin
State[0] := Main.MagicVal1; //$67452301;
State[1] := Main.MagicVal2; //$efcdab89;
State[2] := Main.MagicVal3; //$98badcfe;
State[3] := Main.MagicVal4; //$10325476;
Count[0] := 0;
Count[1] := 0;
ZeroMemory(@Buffer, SizeOf(MD5Buffer));
end;
end;
بالتوفيق ان شاء الله
درس تمهيدي بتنسيق PDF مع الملفات المصدرية يتحدث على عملية الهاش Hash باستعمال خوارزمية MD5 توليد و مقارنة، و تخطي MD5 Collision.
المرفق يحتوي على :
- درس بتنسيق PDF.
- ملفات مصدرية و الأداة MD5 Equality
- ملفات مصدرية و الأداة MD5 Collision Bypassing.
جزء من الكود :
procedure TMain.CmpHashImg5Click(Sender: TObject);
begin
if OpenDialog.Execute then
begin
FileNameEdt.Clear;
FirstHashEdt.Clear;
FileNameEdt.Text := OpenDialog.FileName;
{ Custom Magic Values }
if Trim(MagicValEdt1.Text) <> '' then
if Trim(MagicValEdt2.Text) <> '' then
if Trim(MagicValEdt3.Text) <> '' then
if Trim(MagicValEdt4.Text) <> '' then
begin
MagicVal1 := StrToInt('$' + MagicValEdt1.Text); //$67452301;
MagicVal2 := StrToInt('$' + MagicValEdt2.Text); //$efcdab89;
MagicVal3 := StrToInt('$' + MagicValEdt3.Text); //$98badcfe;
MagicVal4 := StrToInt('$' + MagicValEdt4.Text); //$10325476;
{ Get MD5 Hash }
FirstHashEdt.Text := MD5Print(MD5File(FileNameEdt.Text));
end;
end;
end;
procedure MD5Init(var Context: MD5Context); { Modified by STRELiTZIA | AT4RE }
begin
with Context do begin
State[0] := Main.MagicVal1; //$67452301;
State[1] := Main.MagicVal2; //$efcdab89;
State[2] := Main.MagicVal3; //$98badcfe;
State[3] := Main.MagicVal4; //$10325476;
Count[0] := 0;
Count[1] := 0;
ZeroMemory(@Buffer, SizeOf(MD5Buffer));
end;
end;
بالتوفيق ان شاء الله