summaryrefslogtreecommitdiff
path: root/security/rcracki_mt/files/patch-HashAlgorithm.cpp
blob: dd1362a5596b726d4a447aeb0ba83d32a00727e3 (plain) (blame)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
--- HashAlgorithm.cpp.orig	2016-04-15 21:23:18 UTC
+++ HashAlgorithm.cpp
@@ -51,9 +51,9 @@
 #endif
 
 #define MSCACHE_HASH_SIZE 16
-void setup_des_key(unsigned char key_56[], des_key_schedule &ks)
+void setup_des_key(unsigned char key_56[], DES_key_schedule &ks)
 {
-	des_cblock key;
+	DES_cblock key;
 
 	key[0] = key_56[0];
 	key[1] = (key_56[0] << 7) | (key_56[1] >> 1);
@@ -65,7 +65,7 @@ void setup_des_key(unsigned char key_56[
 	key[7] = (key_56[6] << 1);
 
 	//des_set_odd_parity(&key);
-	des_set_key(&key, ks);
+	DES_set_key(&key, &ks);
 }
 
 
@@ -83,10 +83,10 @@ void HashLM(unsigned char* pPlain, int n
 		pPlain[i] = 0;
 
 	static unsigned char magic[] = {0x4B, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25};
-	des_key_schedule ks;
+	DES_key_schedule ks;
 	//setup_des_key(data, ks);
 	setup_des_key(pPlain, ks);
-	des_ecb_encrypt((des_cblock*)magic, (des_cblock*)pHash, ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)magic, (DES_cblock*)pHash, &ks, DES_ENCRYPT);
 }
 
 void HashLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash)
@@ -95,7 +95,7 @@ void HashLMCHALL(unsigned char* pPlain, 
 	unsigned char pre_lmresp[21];
 	static unsigned char magic[] = {0x4B, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25};
 	static unsigned char spoofed_challange[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}; 
-	des_key_schedule ks;
+	DES_key_schedule ks;
 
 	memset (pass,0,sizeof(pass));
 	memset (pre_lmresp,0,sizeof(pre_lmresp));
@@ -103,19 +103,19 @@ void HashLMCHALL(unsigned char* pPlain, 
 	memcpy (pass,pPlain, nPlainLen);
 
 	setup_des_key(pass, ks);
-	des_ecb_encrypt((des_cblock*)magic, (des_cblock*)pre_lmresp, ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)magic, (DES_cblock*)pre_lmresp, &ks, DES_ENCRYPT);
 
 	setup_des_key(&pass[7], ks);
-	des_ecb_encrypt((des_cblock*)magic, (des_cblock*)&pre_lmresp[8], ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)magic, (DES_cblock*)&pre_lmresp[8], &ks, DES_ENCRYPT);
 
 	setup_des_key(pre_lmresp, ks);
-	des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)pHash, ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)spoofed_challange, (DES_cblock*)pHash, &ks, DES_ENCRYPT);
 
 	setup_des_key(&pre_lmresp[7], ks);
-	des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)&pHash[8], ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)spoofed_challange, (DES_cblock*)&pHash[8], &ks, DES_ENCRYPT);
 
 	setup_des_key(&pre_lmresp[14], ks);
-	des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)&pHash[16], ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)spoofed_challange, (DES_cblock*)&pHash[16], &ks, DES_ENCRYPT);
 
 } 
 
@@ -125,14 +125,15 @@ void HashHALFLMCHALL(unsigned char* pPla
 	static unsigned char magic[] = {0x4B, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25};
 	static unsigned char salt[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
 
-	des_key_schedule ks;
+	DES_key_schedule ks;
+
 	unsigned char plain[8] = {0};	
 	memcpy(plain, pPlain, nPlainLen);
 	setup_des_key(plain, ks);
-	des_ecb_encrypt((des_cblock*)magic, (des_cblock*)pre_lmresp, ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)magic, (DES_cblock*)pre_lmresp, &ks, DES_ENCRYPT);
 
 	setup_des_key(pre_lmresp, ks);
-	des_ecb_encrypt((des_cblock*)salt, (des_cblock*)pHash, ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)salt, (DES_cblock*)pHash, &ks, DES_ENCRYPT);
 } 
 
 
@@ -151,7 +152,7 @@ void HashNTLMCHALL(unsigned char* pPlain
 	UnicodePlain[i * 2 + 1] = 0x00;
 	}
 	
-	des_key_schedule ks;
+	DES_key_schedule ks;
 	unsigned char lm[21];
 	
 	/*MD4_CTX ctx;
@@ -164,13 +165,13 @@ void HashNTLMCHALL(unsigned char* pPlain
 	lm[16] = lm[17] = lm[18] = lm[19] = lm[20] = 0;
 	
 	setup_des_key(lm, ks);
-	des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)pHash, ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)spoofed_challange, (DES_cblock*)pHash, &ks, DES_ENCRYPT);
 	
 	setup_des_key(&lm[7], ks);
-	des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)&pHash[8], ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)spoofed_challange, (DES_cblock*)&pHash[8], &ks, DES_ENCRYPT);
 	
 	setup_des_key(&lm[14], ks);
-	des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)&pHash[16], ks, DES_ENCRYPT);
+	DES_ecb_encrypt((DES_cblock*)spoofed_challange, (DES_cblock*)&pHash[16], &ks, DES_ENCRYPT);
 }
 
 /*