Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
hashdeep — क्रॉस-प्लेटफ़ॉर्म हैशिंग टूलसेट जो संदेश डाइजेस्ट (MD5, SHA-1, SHA-256, Tiger, Whirlpool) की गणना करने के लिए है, जिसमें रिकर्सिव डायरेक्टरी ट्रैवर्सल और फ़ाइल इंटीग्रिटी ऑडिटिंग क्षमताएँ शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/jessek/hashdeep
हैश विश्लेषणफोरेंसिकडेटा रिकवरीडिजिटल फोरेंसिक
GitHubjessek/hashdeep

hashdeep

क्रॉस-प्लेटफ़ॉर्म हैशिंग टूलसेट जो संदेश डाइजेस्ट (MD5, SHA-1, SHA-256, Tiger, Whirlpool) की गणना करने के लिए है, जिसमें रिकर्सिव डायरेक्टरी ट्रैवर्सल और फ़ाइल इंटीग्रिटी ऑडिटिंग क्षमताएँ शामिल हैं।

रिपॉजिटरी देखें
7861358 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

यह md5deep है, क्रॉस-प्लेटफॉर्म टूल का एक सेट है जो हैश या संदेश डाइजेस्ट की गणना करता है, किसी भी संख्या में फ़ाइलों के लिए, वैकल्पिक रूप से निर्देशिका संरचना में पुनरावर्ती रूप से खोदते हुए। यह ज्ञात हैश की एक सूची भी ले सकता है और इनपुट फ़ाइलों के फ़ाइलनाम प्रदर्शित कर सकता है जिनके हैश या तो किसी भी ज्ञात हैश से मेल खाते हैं या नहीं। यह संस्करण MD5, SHA-1, SHA-256, Tiger और Whirlpool हैश का समर्थन करता है।

फ़ाइल NEWS देखें रिलीज़ के बीच बदलावों की सूची के लिए।

फ़ाइल COPYING देखें इस प्रोग्राम के लाइसेंसिंग के बारे में जानकारी के लिए।

फ़ाइल INSTALL देखें (सामान्य) संकलन और स्थापना निर्देशों के लिए। यहाँ संक्षिप्त संस्करण है जो कई मामलों में काम करना चाहिए:

root@kitploit:~
sh bootstrap.sh # runs autoconf, automake
./configure
make
make install

ध्यान दें कि डिफ़ॉल्ट स्थान पर स्थापित करने के लिए आपको सामान्यतः रूट होना चाहिए। ऐसा करने के लिए sudo कमांड सहायक है। आप कॉन्फ़िगर स्क्रिप्ट के --prefix विकल्प का उपयोग करके एक वैकल्पिक स्थापना स्थान निर्दिष्ट कर सकते हैं। उदाहरण के लिए, /home/foo/bin पर स्थापित करने के लिए, उपयोग करें:

$ ./configure --prefix=/home/foo

प्रोग्राम का उपयोग करने के बारे में पूर्ण दस्तावेज़ प्रोजेक्ट के होमपेज पर है, https://github.com/jessek/hashdeep

रिलीज़ हैश

नवीनतम रिलीज़ संस्करण 4.4 है। यहाँ Win32 संस्करणों के लिए हैश हैं:

  • MD5 047ff5311d821f667150f37695bd01b3
  • SHA256 d5e85933e74e5ba6a73f67346bc2e765075d26949c831a428166c92772f67dbc

md5deep बनाम hashdeep

ऐतिहासिक कारणों से, प्रोग्राम के अलग-अलग विकल्प और सुविधाएँ होती हैं जब इसे "hashdeep" और "md5deep" नामों से चलाया जाता है।

hashdeep में "audit" नामक एक सुविधा है जो ज्ञात हैश की एक सूची का उपयोग करके फ़ाइलों के एक सेट का ऑडिट कर सकती है। त्रुटियाँ मानक त्रुटि पर रिपोर्ट की जाती हैं। यदि कोई फ़ाइल निर्दिष्ट नहीं की गई है, तो मानक इनपुट से पढ़ता है।

root@kitploit:~
-a ऑडिट मोड। प्रत्येक इनपुट फ़ाइल की तुलना ज्ञात के सेट के साथ की जाती है। ऑडिट को पास माना जाता है यदि प्रत्येक इनपुट फ़ाइल ज्ञात के सेट में ठीक एक फ़ाइल से मेल खाती है। कोई भी टकराव, नई फ़ाइलें, या लापता फ़ाइलें ऑडिट को विफल कर देंगी। केवल इस फ़्लैग का उपयोग करने से एक संदेश उत्पन्न होता है, या तो "Audit passed" या "Audit Failed"।
   -v = प्रत्येक श्रेणी में फ़ाइलों की संख्या प्रिंट करता है
   -v -v = सभी विसंगतियाँ प्रिंट करता है
   -v -v -v = जाँची गई प्रत्येक फ़ाइल और प्रत्येक ज्ञात फ़ाइल के परिणाम प्रिंट करता है।

-k <file> - ऑडिट फ़ाइल लोड करने के लिए -k विकल्प का उपयोग किया जाना चाहिए

ऑडिट करने के लिए:

root@kitploit:~
hashdeep -r dir  > /tmp/auditfile            # ऑडिट फ़ाइल उत्पन्न करें
hashdeep -a -k /tmp/auditfile -r dir          # ऑडिट का परीक्षण करें

ध्यान दें कि ऑडिट एक मानक hashdeep आउटपुट फ़ाइल के साथ किया जाता है। (आंतरिक रूप से, ऑडिट हैशिंग प्रक्रिया के भाग के रूप में गणना की जाती है।)

यूनिकोड समस्याएँ

POSIX-आधारित आधुनिक कंप्यूटर सिस्टम फ़ाइलनामों को बाइट्स का एक अनुक्रम मानते हैं जिन्हें एप्लिकेशन की इच्छानुसार प्रस्तुत किया जाता है। इसका मतलब है कि फ़ाइलनामों में आमतौर पर ASCII होता है लेकिन इसमें UTF-8, UTF-16, latin1, या अमान्य यूनिकोड कोडिंग भी हो सकती है।

विंडोज-आधारित सिस्टम में ASCII-आधारित फ़ाइलनामों के लिए API कॉल का एक सेट होता है और UCS-2 के रूप में एन्कोड किए गए फ़ाइलनामों के लिए दूसरा सेट होता है, जो "कोड बिंदु को 16-बिट कोड इकाई के रूप में उपयोग करके एक निश्चित-लंबाई प्रारूप उत्पन्न करता है और 0-0xFFFF रेंज में 63,488 कोड बिंदुओं के लिए UTF-16 के समान परिणाम उत्पन्न करता है" [wikipedia] (http://en.wikipedia.org/wiki/UTF-16/UCS-2) के अनुसार। लेकिन wikipedia वार्ता पृष्ठ पर इस कथन की तथ्यात्मक सटीकता पर विवाद करता है। यह बिल्कुल स्पष्ट है कि कोई भी पूरी तरह से निश्चित नहीं है कि Windows वास्तव में क्या करता है, और Windows स्वयं सुसंगत नहीं हो सकता है।

इस प्रोग्राम का संस्करण 3 ने विंडोज पर फ़ाइलनामों को रखने और उन्हें प्रिंट करने से मना करने के लिए TCHAR वेरिएबल का उपयोग करके इस समस्या का समाधान किया, इसके बजाय "?" प्रिंट किया। इस प्रोग्राम का संस्करण 4 [Windows फ़ंक्शन WideCharToMultiByte] (http://msdn.microsoft.com/en-us/library/dd374130%28v=vs.85%29.aspx) का उपयोग करके जल्द से जल्द TCHAR स्ट्रिंग्स को std::string स्ट्रिंग्स में अनुवाद करता है। यूनिकोड को प्रिंट करते समय बचने के लिए फ़्लैग जोड़े गए हैं।

Windows पर UTF-8 फ़ाइलनाम खोलने का कोई तरीका नहीं है (जाहिरा तौर पर); इसे MultiByteToWideChar के साथ वापस मल्टी-बाइट फ़ाइलनाम में परिवर्तित करने की आवश्यकता है।

सौभाग्य से, हमें कभी वापस परिवर्तित करने की आवश्यकता नहीं होती है।

ध्यान दें कि Windows पर हैश की गई फ़ाइलों में यूनिकोड वर्ण हो सकते हैं लेकिन हैश वाली फ़ाइल का नाम ASCII होना चाहिए।

विंडोज के लिए संकलन:

-D_UNICODE के कारण TCHAR को 'wchar_t' के रूप में परिभाषित किया जाता है।

POSIX के लिए संकलन:

-D_UNICODE परिभाषित नहीं है, जिससे TCHAR को 'char' के रूप में परिभाषित किया जाता है।

पहले, win32 फ़ंक्शन को #ifdef स्टेटमेंट्स के साथ नियंत्रित किया जाता था, जैसे:

root@kitploit:~
#ifdef _WIN32
  _wfullpath(d_name,fn,PATH_MAX);
#else
  if (NULL == realpath(fn,d_name))
    return TRUE;
#endif

इसके अलावा tchar-local.h नामक एक फ़ाइल थी जो वास्तव में विभिन्न प्लेटफार्मों पर फ़ंक्शन के सिमैंटिक्स को बदलती थी, जैसे:

root@kitploit:~
   #define  _tcsncpy   strncpy
   #define  _tstat_t   struct stat

इसने कोड को बनाए रखना बहुत कठिन बना दिया।

4.0 पुनर्लेखन के साथ, हमने इस कोड को C++ फ़ंक्शनों के साथ बदल दिया है जो ऑब्जेक्ट लौटाते हैं जहाँ संभव था और #defines के उपयोग से बचते हैं ताकि _WIN32 सिस्टम पर फ़ंक्शन realpath() इसके उपयोग से पहले परिभाषित हो जाए, और मुख्य कोड में realpath() फ़ंक्शन का अभाव हो। आप इसे cycles.cpp में देख सकते हैं:

root@kitploit:~
/* Return the canonicalized absolute pathname in UTF-8 on Windows and POSIX systems */
std::string get_realpath(const TCHAR *fn)
{
#ifdef _WIN32
    /*
     * expand a relative path to the full path.
     * http://msdn.microsoft.com/en-us/library/506720ff(v=vs.80).aspx
     */
    TCHAR absPath[PATH_MAX];
    if(_fullpath(absPath,fn,PAT_HMAX)==0) return "";
    return tchar_to_utf8(absPath);
#else
    char resolved_name[PATH_MAX];	//
    if(realpath(fn,resolved_name)==0) return "";
    return string(resolved_name);
#endif
}

आप mingw स्थापित कर सकते हैं और फिर बस इस तरह कॉन्फ़िगर करें:

$ export PATH=$PATH:/usr/local/i386-mingw32-4.3.0/bin $ ./configure --host=i386-mingw32

हैश एल्गोरिदम संदर्भ

MD5 एल्गोरिदम RFC 1321 में परिभाषित है: http://www.ietf.org/rfc/rfc1321.txt

SHA1 एल्गोरिदम FIPS 180-1 में परिभाषित है: http://www.itl.nist.gov/fipspubs/fip180-1.htm

SHA256 एल्गोरिदम FIPS 180-2 में परिभाषित है: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf

Tiger एल्गोरिदम परिभाषित है: http://www.cs.technion.ac.il/~biham/Reports/Tiger/

Whirlpool एल्गोरिदम परिभाषित है: http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html

संचालन सिद्धांत

  • main.cpp
    • सिस्टम सेट अप करता है
  • dig.cpp
    • व्यक्तिगत निर्देशिकाओं के माध्यम से पुनरावृति करता है
    • हैश करने के लिए प्रत्येक फ़ाइल के लिए hash.cpp में hash_file() को कॉल करता है
  • hash.cpp
    • प्रत्येक फ़ाइल का हैशिंग करता है
  • display.cpp
    • परिणाम संग्रहीत/प्रदर्शित करता है
टूल डाउनलोड करें