diff --git a/docs/changes.txt b/docs/changes.txt index 5c2c5e26a..5f2beffc1 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -52,6 +52,7 @@ - Kernels: Add RC4 cipher to crypto library with optimized shared memory access pattern which will not cause any bank conflicts if -u <= 32 - Kernels: Add standalone true UTF8 to UTF16 converter kernel that runs after amplifier. Use OPTS_TYPE_POST_AMP_UTF16LE from plugin - Modules: Recategorized HASH_CATEGORY option in various modules +- Modules: Added hash categories HASH_CATEGORY_IMS and HASH_CATEGORY_CRYPTOCURRENCY_WALLET * changes v6.2.0 -> v6.2.1 diff --git a/docs/readme.txt b/docs/readme.txt index a312f8736..cf493c1d2 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -300,25 +300,11 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - Password Safe v3 - LastPass + LastPass sniffed - KeePass 1 (AES/Twofish) and KeePass 2 (AES) -- BitShares v0.x - sha512(sha512_bin(pass)) -- Bitcoin/Litecoin wallet.dat - Bitwarden -- Electrum Wallet (Salt-Type 1-3) -- Electrum Wallet (Salt-Type 4) -- Electrum Wallet (Salt-Type 5) -- Blockchain, My Wallet -- Blockchain, My Wallet, V2 -- Blockchain, My Wallet, Second Password (SHA256) - Ansible Vault - Mozilla key3.db - Mozilla key4.db - Apple Keychain -- Stargazer Stellar Wallet XLM -- Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256 -- Ethereum Wallet, PBKDF2-HMAC-SHA256 -- Ethereum Wallet, SCRYPT -- MultiBit Classic .key (MD5) -- MultiBit HD (scrypt) - 7-Zip - RAR3-hp - RAR3-p (Compressed) @@ -382,6 +368,20 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - Telegram Desktop >= v2.1.14 (PBKDF2-HMAC-SHA512) - Telegram Mobile App Passcode (SHA256) - Skype +- BitShares v0.x - sha512(sha512_bin(pass)) +- Bitcoin/Litecoin wallet.dat +- Electrum Wallet (Salt-Type 1-3) +- Electrum Wallet (Salt-Type 4) +- Electrum Wallet (Salt-Type 5) +- Blockchain, My Wallet +- Blockchain, My Wallet, V2 +- Blockchain, My Wallet, Second Password (SHA256) +- Stargazer Stellar Wallet XLM +- Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256 +- Ethereum Wallet, PBKDF2-HMAC-SHA256 +- Ethereum Wallet, SCRYPT +- MultiBit Classic .key (MD5) +- MultiBit HD (scrypt) ## ## Attack-Modes diff --git a/include/types.h b/include/types.h index 354702779..ede1f08b2 100644 --- a/include/types.h +++ b/include/types.h @@ -2676,6 +2676,7 @@ typedef enum hash_category HASH_CATEGORY_FRAMEWORK = 19, HASH_CATEGORY_PRIVATE_KEY = 20, HASH_CATEGORY_IMS = 21, + HASH_CATEGORY_CRYPTOCURRENCY_WALLET = 22, } hash_category_t; diff --git a/src/modules/module_11300.c b/src/modules/module_11300.c index c1e4abec7..9cb3ae217 100644 --- a/src/modules/module_11300.c +++ b/src/modules/module_11300.c @@ -17,7 +17,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Bitcoin/Litecoin wallet.dat"; static const u64 KERN_TYPE = 11300; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_12700.c b/src/modules/module_12700.c index 693e65b5b..a29502fdf 100644 --- a/src/modules/module_12700.c +++ b/src/modules/module_12700.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_5; // because kernel uses _SHA1; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Blockchain, My Wallet"; static const u64 KERN_TYPE = 12700; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_15200.c b/src/modules/module_15200.c index 0fe7ad221..0985e7923 100644 --- a/src/modules/module_15200.c +++ b/src/modules/module_15200.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_5; // because kernel uses _SHA1; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Blockchain, My Wallet, V2"; static const u64 KERN_TYPE = 12700; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; diff --git a/src/modules/module_15600.c b/src/modules/module_15600.c index 28873df3b..168609688 100644 --- a/src/modules/module_15600.c +++ b/src/modules/module_15600.c @@ -17,7 +17,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Ethereum Wallet, PBKDF2-HMAC-SHA256"; static const u64 KERN_TYPE = 15600; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_15700.c b/src/modules/module_15700.c index de57a8068..16b0ceac0 100644 --- a/src/modules/module_15700.c +++ b/src/modules/module_15700.c @@ -17,7 +17,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Ethereum Wallet, SCRYPT"; static const u64 KERN_TYPE = 15700; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; diff --git a/src/modules/module_16300.c b/src/modules/module_16300.c index c238b7536..8ce5e668d 100644 --- a/src/modules/module_16300.c +++ b/src/modules/module_16300.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256"; static const u64 KERN_TYPE = 16300; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_16600.c b/src/modules/module_16600.c index ae5fa90e4..9c92c690e 100644 --- a/src/modules/module_16600.c +++ b/src/modules/module_16600.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Electrum Wallet (Salt-Type 1-3)"; static const u64 KERN_TYPE = 16600; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_18800.c b/src/modules/module_18800.c index bffe45f52..5bb6132a7 100644 --- a/src/modules/module_18800.c +++ b/src/modules/module_18800.c @@ -17,7 +17,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Blockchain, My Wallet, Second Password (SHA256)"; static const u64 KERN_TYPE = 18800; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_21000.c b/src/modules/module_21000.c index f7057f826..e482be5e1 100644 --- a/src/modules/module_21000.c +++ b/src/modules/module_21000.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 15; static const u32 DGST_POS2 = 6; static const u32 DGST_POS3 = 7; static const u32 DGST_SIZE = DGST_SIZE_8_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "BitShares v0.x - sha512(sha512_bin(pass))"; static const u64 KERN_TYPE = 21000; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_21700.c b/src/modules/module_21700.c index 62132ef1e..8152d57e2 100644 --- a/src/modules/module_21700.c +++ b/src/modules/module_21700.c @@ -18,7 +18,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Electrum Wallet (Salt-Type 4)"; static const u64 KERN_TYPE = 21700; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_21800.c b/src/modules/module_21800.c index ca567e9f3..9ae25490d 100644 --- a/src/modules/module_21800.c +++ b/src/modules/module_21800.c @@ -18,7 +18,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Electrum Wallet (Salt-Type 5)"; static const u64 KERN_TYPE = 21800; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_22500.c b/src/modules/module_22500.c index 94dcd0f4b..e30543f30 100644 --- a/src/modules/module_22500.c +++ b/src/modules/module_22500.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "MultiBit Classic .key (MD5)"; static const u64 KERN_TYPE = 22500; static const u32 OPTI_TYPE = OPTI_TYPE_EARLY_SKIP; diff --git a/src/modules/module_22700.c b/src/modules/module_22700.c index cf8f92121..51409e06c 100644 --- a/src/modules/module_22700.c +++ b/src/modules/module_22700.c @@ -17,7 +17,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "MultiBit HD (scrypt)"; static const u64 KERN_TYPE = 22700; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; diff --git a/src/modules/module_25500.c b/src/modules/module_25500.c index 5201ef5ed..e87b183d6 100644 --- a/src/modules/module_25500.c +++ b/src/modules/module_25500.c @@ -17,7 +17,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; +static const u32 HASH_CATEGORY = HASH_CATEGORY_CRYPTOCURRENCY_WALLET; static const char *HASH_NAME = "Stargazer Stellar Wallet XLM"; static const u64 KERN_TYPE = 25500; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/shared.c b/src/shared.c index bf83efd36..b7833b14a 100644 --- a/src/shared.c +++ b/src/shared.c @@ -104,6 +104,7 @@ static const char *HASH_CATEGORY_PLAIN_STR = "Plaintext"; static const char *HASH_CATEGORY_FRAMEWORK_STR = "Framework"; static const char *HASH_CATEGORY_PRIVATE_KEY_STR = "Private Key"; static const char *HASH_CATEGORY_IMS_STR = "Instant Messaging Service"; +static const char *HASH_CATEGORY_CRYPTOCURRENCY_WALLET_STR = "Cryptocurrency Wallet"; int sort_by_string_sized (const void *p1, const void *p2) { @@ -958,6 +959,7 @@ const char *strhashcategory (const u32 hash_category) case HASH_CATEGORY_FRAMEWORK: return HASH_CATEGORY_FRAMEWORK_STR; case HASH_CATEGORY_PRIVATE_KEY: return HASH_CATEGORY_PRIVATE_KEY_STR; case HASH_CATEGORY_IMS: return HASH_CATEGORY_IMS_STR; + case HASH_CATEGORY_CRYPTOCURRENCY_WALLET: return HASH_CATEGORY_CRYPTOCURRENCY_WALLET_STR; } return NULL;