
यह उपकरण Unix टाइमस्टैम्प से प्राप्त BIP-39 स्मृति वाक्यांश उत्पन्न करता है, जो 'Milk Sad' भेद्यता के प्रभावों (CVE-2023-39910) की खोज करता है।
यह उपकरण BIP-39 स्मृति वाक्यांश (24-शब्द वाली बीज वाक्यांश) उत्पन्न करने के लिए डिज़ाइन किया गया है, जो Unix टाइमस्टैम्प्स पर आधारित हैं, विशेष रूप से उन वाक्यांशों की खोज करता है जो "Milk Sad" भेद्यता (CVE_2023-39910) के माध्यम से उत्पन्न हो सकते हैं।
Milk Sad Mnemonic Generator Unix टाइमस्टैम्प्स को एक एंट्रॉपी स्रोत के रूप में उपयोग करके 24-शब्द वाले BIP-39 स्मृति वाक्यांश बनाता है। इसका उद्देश्य सभी संभावित बीज वाक्यांश उत्पन्न करना है जो "Milk Sad" भेद्यता से जुड़े विशिष्ट टाइमस्टैम्प-आधारित एंट्रॉपी संग्रह दोष के कारण उत्पन्न हो सकते थे।
आपके सिस्टम पर स्थापित और चलाने के दो विकल्प हैं:
install.sh स्क्रिप्ट का उपयोग करेंयह स्क्रिप्ट संकलन प्रक्रिया को स्वचालित करती है और Debian/Ubuntu-आधारित Linux सिस्टम के लिए सामान्य निर्भरताओं को संभालती है।
cd MilkSad-Mnemonic-Generator
chmod +x install.sh
./install.sh
g++, make, qmake, libssl-dev, libqt5widgets5-dev) की जाँच करेगी। यदि कोई गायब है, तो वह उन्हें स्थापित करने का प्रयास करेगी (यदि आवश्यक हो तो आपके sudo पासवर्ड के लिए संकेत देगी)। निर्भरताओं को सफलतापूर्वक सेट करने के बाद, यह CLI और GUI दोनों अनुप्रयोगों को संकलित करेगी और उन्हें सीधे परियोजना की मूल निर्देशिका में रखेगी।यदि आप स्वयं अनुप्रयोगों को संकलित करना पसंद करते हैं, तो इन मैन्युअल चरणों का पालन करें:
सुनिश्चित करें कि आपके Debian/Ubuntu सिस्टम पर निम्नलिखित विकास पैकेज स्थापित हैं:
g++ (आमतौर पर build-essential पैकेज का हिस्सा)make (भी build-essential का हिस्सा)qmake (qt5-qmake या qtbase5-dev द्वारा प्रदान किया गया)libssl-dev (उपकरण द्वारा उपयोग किए जाने वाले क्रिप्टोग्राफिक फंक्शन के लिए आवश्यक)libqt5widgets5-dev (Qt GUI विकास के लिए आवश्यक; इस पैकेज में अक्सर qtbase5-dev शामिल होता है)आप इन पूर्वापेक्षाओं को निम्न प्रकार से स्थापित कर सकते हैं:
sudo apt update
sudo apt install build-essential qt5-qmake libssl-dev qtbase5-dev
cd src/cli
g++ का उपयोग करके अनुप्रयोग संकलित करें:
g++ -std=gnu++11 -Wall -Wextra -O2 milk_sad_generator.cpp -o milk_sad_generator -lcrypto -lssl
mv milk_sad_generator ../../
cd ../..
cd src/gui
qmake चलाएँ:
qmake mnemonic_generator.pro
make का उपयोग करके GUI अनुप्रयोग संकलित करें:
make
mv milk_sad_generator_gui ../../
cd ../..
Pic/ फ़ोल्डर को स्थानांतरित करें: GUI को अपनी पृष्ठभूमि छवि सही ढंग से खोजने के लिए, आपको Pic/ फ़ोल्डर को src/gui/ से परियोजना मूल में ले जाना होगा:
mv src/gui/Pic .
एक बार स्थापित होने के बाद, आपको अपनी परियोजना की मूल निर्देशिका में दो निष्पादन योग्य मिलेंगे: ./milk_sad_generator (कमांड लाइन इंटरफ़ेस संस्करण) और ./milk_sad_generator_gui (ग्राफिकल यूज़र इंटरफ़ेस संस्करण)।
./milk_sad_generator_gui # GUI अनुप्रयोग लॉन्च करने के लिए
# या
./milk_sad_generator # CLI अनुप्रयोग लॉन्च करने के लिए
यह मोड आपके द्वारा निर्दिष्ट सटीक दिनांक और समय के लिए एकल 24-शब्द स्मृति वाक्यांश उत्पन्न करता है।
1970-01-01 00:00:00। यदि अंग्रेज़ी चुनी गई, तो यह "milk sad ..." स्मृति वाक्यांश उत्पन्न करेगा।mnemonic_[language].txt में सहेजा जाएगा।यह मोड निर्दिष्ट आरंभ और अंतिम तिथि श्रेणी के भीतर प्रत्येक टाइमस्टैम्प के लिए स्मृति वाक्यांश उत्पन्न करता है।
2017-01-01:2018-12-31 (यह 1 जनवरी 2017 से 31 दिसंबर 2018 के बीच सभी टाइमस्टैम्प के लिए स्मृति वाक्यांश उत्पन्न करेगा, दोनों सम्मिलित।)mnemonics_range_[language].txt में सहेजे जाएंगे।Ctrl+C दबाकर) और बाद में प्रगति खोए बिना फिर से शुरू करने की अनुमति देती है।यह मोड संपूर्ण 32-बिट Unix टाइमस्टैम्प श्रेणी (1 जनवरी 1970 से 19 जनवरी 2038 तक) में सभी संभावित स्मृति वाक्यांश उत्पन्न करता है।
all_mnemonics_[language].txt में सहेजे जाएंगे।mnemonic_[language].txtmnemonics_range_[language].txtall_mnemonics_[language].txtgeneration_progress_range.bin (विकल्प 2 के लिए) / generation_progress_full.bin (विकल्प 3 के लिए)Ctrl+C दबाकर उत्पादन को सुरक्षित रूप से रोक सकते हैं। उपकरण स्वचालित रूप से अपनी वर्तमान प्रगति को सहेज लेगा।.bin प्रगति फ़ाइल स्वचालित रूप से हटा दी जाएगी।यदि आपको उत्पादन प्रक्रिया को रोकना पड़ा (जैसे, Ctrl+C का उपयोग करके), तो आप जहाँ से छोड़ा था, वहाँ से निर्बाध रूप से फिर से शुरू कर सकते हैं:
तिथि श्रेणी उत्पादन (विकल्प 2) के लिए:
generation_progress_range.bin फ़ाइल का पता लगाएगा और अंतिम सहेजे गए टाइमस्टैम्प से उत्पादन जारी रखेगा।पूर्ण श्रेणी उत्पादन (विकल्प 3) के लिए:
generation_progress_full.bin फ़ाइल का पता लगाएगा और जहाँ बाधित हुआ था, वहाँ से उत्पादन फिर से शुरू करेगा।.bin प्रगति फ़ाइलों (generation_progress_range.bin या generation_progress_full.bin) को न हटाएँ।.bin प्रगति फ़ाइल को मैन्युअल रूप से हटाना होगा और पिछले रन से किसी भी मौजूदा आउटपुट फ़ाइल (mnemonics_range_[language].txt या all_mnemonics_[language].txt) का नाम बदलना/हटाना/स्थानांतरित करना होगा।all_mnemonics_[language].txt मौजूद है, तो .bin प्रगति फ़ाइल अधिलेखित हो जाएगी, और नए स्मृति वाक्यांश मौजूदा आउटपुट फ़ाइल में जोड़ दिए जाएँगे।यहाँ इस उपकरण द्वारा उत्पन्न 24-शब्द BIP-39 स्मृति वाक्यांश का एक उदाहरण है:
vault alarm sad mass witness property virus style good flower rice alpha viable evidence run glare pretty scout evil judge offer refuse another breeze
सत्यापन उद्देश्यों या त्वरित संदर्भ के लिए, इस रिपॉजिटरी में tests/ निर्देशिका में 1970-01-01 00:00:00 UTC टाइमस्टैम्प के लिए विभिन्न भाषाओं में उत्पन्न स्मृति वाक्यांशों के उदाहरण शामिल हैं।
उत्पन्न स्मृति वाक्यांशों को Bitcoin पतों में बदलने के लिए (P2PKH, P2SH-P2WPKH, और P2WPKH प्रारूपों का समर्थन करता है), आप इस उपकरण का उपयोग कर सकते हैं:
यदि आपको यह प्रोजेक्ट उपयोगी लगा और आप मुझे इस तरह के और उपकरण बनाने के लिए प्रोत्साहित करना चाहते हैं, तो दान करने पर विचार करें:
bc1qg7xmlsdxfgu3muxherh4eee2ywj3gz8qfgct3s0x1B449E1D545bD0dc50f361d96706F6C904553929F776tt1it7vifCzD9icrsby3ujkZdJ8EY9917GUM3skrTJj96B4SukPJSC4M2FyssoxduVyviv9aGr0x1B449E1D545bD0dc50f361d96706F6C90455392948aaDb1g4Ms7PB3WMj6ttbMWuEwe171d6Yjao59uFJR38tHa75nKwPqYoPAYmWZPUhXmDbDvqtE6d2FX3YaF1dVE7zhD9Dt