forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ophcrack-openssl-des.patch
92 lines (78 loc) · 3.18 KB
/
ophcrack-openssl-des.patch
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
--- a/src/lmtable.c 2013-06-04 07:42:47 UTC
+++ b/src/lmtable.c
@@ -470,8 +470,8 @@ void lmtable_mkredux(table_t *tbl, uchar
/*-------------------------------------------------------------------------*/
void lmtable_mkhash(uchar_t *pwd, uchar_t *hash) {
uchar_t key[8];
- des_key_schedule ks;
- des_cblock *magic = (des_cblock*)lmmagic;
+ DES_key_schedule ks;
+ DES_cblock *magic = (DES_cblock*)lmmagic;
key[0] = pwd[0];
key[1] = (pwd[0] << 7) | (pwd[1] >> 1);
@@ -482,7 +482,7 @@ void lmtable_mkhash(uchar_t *pwd, uchar_
key[6] = (pwd[5] << 2) | (pwd[6] >> 6);
key[7] = (pwd[6] << 1) ;
- des_set_odd_parity(&key);
- des_set_key(&key, ks);
- des_ecb_encrypt(magic, (des_cblock*)hash, ks, DES_ENCRYPT);
+ DES_set_odd_parity(&key);
+ DES_set_key(&key, &ks);
+ DES_ecb_encrypt(magic, (DES_cblock*)hash, &ks, DES_ENCRYPT);
}
--- a/src/samdump2/samdump2.c 2015-03-30 02:26:33 UTC
+++ b/src/samdump2/samdump2.c
@@ -71,7 +71,7 @@ void str_to_key(unsigned char *str,unsig
for (i=0;i<8;i++) {
key[i] = (key[i]<<1);
}
- des_set_odd_parity((des_cblock *)key);
+ DES_set_odd_parity((DES_cblock *)key);
}
/*
@@ -209,8 +209,8 @@ unsigned char* utf16_to_utf8 (unsigned c
unsigned char hbootkey[0x20];
/* Des */
- des_key_schedule ks1, ks2;
- des_cblock deskey1, deskey2;
+ DES_key_schedule ks1, ks2;
+ DES_cblock deskey1, deskey2;
int i, j;
@@ -418,15 +418,15 @@ unsigned char* utf16_to_utf8 (unsigned c
/* Get the two decrpt keys. */
sid_to_key1(rid,(unsigned char *)deskey1);
- des_set_key_checked((des_cblock *)deskey1,ks1);
+ DES_set_key_checked((DES_cblock *)deskey1, &ks1);
sid_to_key2(rid,(unsigned char *)deskey2);
- des_set_key_unchecked((des_cblock *)deskey2,ks2);
+ DES_set_key_unchecked((DES_cblock *)deskey2, &ks2);
/* Decrypt the lanman password hash as two 8 byte blocks. */
- des_ecb_encrypt((des_cblock *)obfkey,
- (des_cblock *)fb, ks1, DES_DECRYPT);
- des_ecb_encrypt((des_cblock *)(obfkey + 8),
- (des_cblock *)&fb[8], ks2, DES_DECRYPT);
+ DES_ecb_encrypt((DES_cblock *)obfkey,
+ (DES_cblock *)fb, &ks1, DES_DECRYPT);
+ DES_ecb_encrypt((DES_cblock *)(obfkey + 8),
+ (DES_cblock *)&fb[8], &ks2, DES_DECRYPT);
@@ -471,16 +471,16 @@ unsigned char* utf16_to_utf8 (unsigned c
if (lm_size != 0x14) {
/* Get the two decrpt keys. */
sid_to_key1(rid,(unsigned char *)deskey1);
- des_set_key((des_cblock *)deskey1,ks1);
+ DES_set_key((DES_cblock *)deskey1, &ks1);
sid_to_key2(rid,(unsigned char *)deskey2);
- des_set_key((des_cblock *)deskey2,ks2);
+ DES_set_key((DES_cblock *)deskey2, &ks2);
}
/* Decrypt the NT md4 password hash as two 8 byte blocks. */
- des_ecb_encrypt((des_cblock *)obfkey,
- (des_cblock *)fb, ks1, DES_DECRYPT);
- des_ecb_encrypt((des_cblock *)(obfkey + 8),
- (des_cblock *)&fb[8], ks2, DES_DECRYPT);
+ DES_ecb_encrypt((DES_cblock *)obfkey,
+ (DES_cblock *)fb, &ks1, DES_DECRYPT);
+ DES_ecb_encrypt((DES_cblock *)(obfkey + 8),
+ (DES_cblock *)&fb[8], &ks2, DES_DECRYPT);
/* sf27 wrap to sf25 */
//sf27( obfkey, (int*)&rid, fb );