diff -Naur a/Makefile b/Makefile --- a/Makefile 2012-04-20 20:27:00.000000000 +0800 +++ b/Makefile 2018-01-30 12:12:55.114072617 +0800 @@ -30,7 +30,7 @@ INSTALL = $(shell which install) CC = $(shell which gcc) CFLAGS = -Wall -LIBS = -lssl +LIBS = -lssl -lcrypto # Default target all: build diff -Naur a/samdump2.c b/samdump2.c --- a/samdump2.c 2012-04-20 20:27:00.000000000 +0800 +++ b/samdump2.c 2018-01-30 12:10:49.627208011 +0800 @@ -58,7 +58,7 @@ void str_to_key(unsigned char *str,unsigned char *key) { - // void des_set_odd_parity(des_cblock *); + // void DES_set_odd_parity(DES_cblock *); int i; key[0] = str[0]>>1; @@ -72,7 +72,7 @@ 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); } /* @@ -210,8 +210,8 @@ 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; @@ -419,15 +419,15 @@ /* 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); @@ -472,16 +472,16 @@ 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 );