summaryrefslogtreecommitdiff
path: root/plugins/Dbx_mmap_SA/Cryptors/Athena/md5_mod256_unit.pas
blob: 53b2d996dacc3a6b85cd46eac4477882dd4456da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
unit md5_mod256_unit;
interface

Uses
   MD5_Unit, sysutils, classes, windows;
Const
   MSize = 256;
Type
   tiAr = array [0..255] of integer;

Function MD5_Mod(s: String): String;
Function MD5_Matrix(s: string): tArr;
Function str_back(s: String): String;

implementation
//==============================================================================
Function str_back(s: String): String;
Var
   i: integer;
Begin
   result := '';
   for i := Length(s) downto 1 do result := result + s[i];
end;
//==============================================================================
Function MD5_Mod_back(s: String): String;
Var
   s1, s2 : String;
   k      : word;
Begin
   s1 := str_back(s)+s;
   s2 := md5(str_back(s)+str_back(md5(s))+
             str_back(md5(s+s))+
             str_back(md5(s+s+s))+
             str_back(md5(s+s+s+s))+
             str_back(md5(s+s+s+'asddsa'+s)));
   For k:=1 to trunc(sqrt(MSize))-1 do
   Begin
      s1 := md5(s1 + s2 + md5(s1+s1+s2+s) + md5(s2+s2+s1+s) + s);
      s2 := str_back(s2 + str_back(md5(s1+s2+md5(s))));
   End;
   result:=s2;
end;
//==============================================================================
Function MD5_Mod(s: String): String;
Var
   s1, s2 : String;
   k      : word;
Begin
   s1 := s + AnsiUpperCase(s) + AnsiLowerCase(s);
   s2 := md5(s+md5(s)+md5(s+s)+md5(s+AnsiUpperCase(s)+s)+md5(s+AnsiLowerCase(s+s)+s)+md5(s+s+str_back(s+s+'qweewq')));
   For k:=1 to trunc(sqrt(MSize))-1 do
   Begin
      s1 := md5(s1 + str_back(s2) + md5(s1+s1+s2+s) + str_back(md5(s2+s2+s1+s)) + s);
      s2 := str_back(s2 + md5(s1+AnsiUpperCase(s2+md5(s))));
   End;
   result:=s2;
end;
//==============================================================================

//==============================================================================
end.