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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
bindiff — डिसअसेंबल किए गए कोड में अंतर और समानताएं जल्दी से खोजें | Kitploit
उपकरण/GitHubGitHub/google/bindiff
स्थैतिक विश्लेषणभेद्यता विश्लेषणरिवर्स इंजीनियरिंगमालवेयर विश्लेषणबाइनरी विश्लेषणपेपर और शोधलर्निंग और शिक्षाफर्मवेयर विश्लेषण
GitHubgoogle/bindiff

bindiff

डिसअसेंबल किए गए कोड में अंतर और समानताएं जल्दी से खोजें

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट

BinDiff लोगो

कॉपीराइट 2011-2026 Google LLC.

BinDiff

इस रिपॉजिटरी में BinDiff स्रोत कोड है। BinDiff एक ओपन-सोर्स तुलना उपकरण है जो बाइनरी फ़ाइलों के लिए है, ताकि डिस्सेम्बल किए गए कोड में अंतर और समानताएँ तुरंत मिल सकें।

विषय सूची

  • BinDiff के बारे में
  • त्वरित आरंभ
  • दस्तावेज़ीकरण
  • कोडमैप
  • स्रोत से निर्माण
  • लाइसेंस
  • शामिल होना

BinDiff के बारे में

BinDiff एक ओपन-सोर्स बाइनरी फ़ाइल तुलना उपकरण है, जो भेद्यता शोधकर्ताओं और इंजीनियरों को डिस्सेम्बल किए गए कोड में अंतर और समानताएँ जल्दी खोजने में सहायता करता है।

BinDiff के साथ, शोधकर्ता विक्रेता-प्रदत्त पैच में भेद्यता के सुधारों की पहचान और अलग कर सकते हैं। इसका उपयोग एक ही बाइनरी के कई संस्करणों के डिस्सेम्बली के बीच प्रतीकों और टिप्पणियों को पोर्ट करने के लिए भी किया जा सकता है। इससे समय के साथ परिवर्तनों को ट्रैक करना आसान हो जाता है और संगठनों को विश्लेषण परिणामों को बनाए रखने और बाइनरी विश्लेषकों के बीच ज्ञान हस्तांतरण को सक्षम बनाता है।

उपयोग के मामले

  • लोकप्रिय डिस्सेम्बलर द्वारा समर्थित x86, MIPS, ARM, PowerPC और अन्य आर्किटेक्चर के लिए बाइनरी फ़ाइलों की तुलना करें।
  • विभिन्न बाइनरी में समान और समान फ़ंक्शन की पहचान करें
  • एक डिस्सेम्बली से दूसरे में फ़ंक्शन नाम, टिप्पणियाँ और स्थानीय नाम पोर्ट करें
  • एक ही फ़ंक्शन के दो प्रकारों के बीच परिवर्तनों का पता लगाएँ और हाइलाइट करें

त्वरित आरंभ

यदि आप BinDiff का उपयोग शुरू करना चाहते हैं, तो रिलीज़ पृष्ठ से पूर्व-निर्मित इंस्टॉलेशन पैकेज डाउनलोड करें।

नोट: BinDiff एक अलग डिस्सेम्बलर पर निर्भर करता है। बॉक्स के बाहर, यह IDA Pro, Binary Ninja और Ghidra के लिए समर्थन के साथ आता है। डिस्सेम्बलर पृष्ठ समर्थित कॉन्फ़िगरेशन को सूचीबद्ध करता है।

दस्तावेज़ीकरण

मौजूदा मैनुअल का एक उपसमूह docs/ निर्देशिका में उपलब्ध है।

कोडमैप

BinDiff में निम्नलिखित घटक शामिल हैं:

  • cmake - बाहरी निर्भरताएँ घोषित करने वाली CMake बिल्ड फ़ाइलें
  • fixtures - BinDiff कोर इंजन का परीक्षण करने के लिए परीक्षण फ़ाइलों का संग्रह
  • ida - IDA Pro डिस्सेम्बलर के साथ एकीकरण
  • java - Java स्रोत कोड। इसमें BinDiff दृश्य अंतर उपयोगकर्ता इंटरफ़ेस और इसकी संबंधित उपयोगिता लाइब्रेरी शामिल है।
  • match - BinDiff कोर इंजन के लिए मिलान एल्गोरिदम
  • packaging - इंस्टॉलेशन पैकेज के लिए पैकेज स्रोत
  • tools - सहायक निष्पादन योग्य जो उत्पाद के साथ शिप किए जाते हैं

स्रोत से निर्माण

नीचे दिए गए निर्देश देशी कोड और Java-आधारित घटकों दोनों के निर्माण के लिए पर्याप्त होने चाहिए।

बाद में विस्तृत बिल्ड निर्देश जोड़े जाएंगे। इसमें इंस्टॉलेशन पैकेज बनाने के लिए तैयार Dockerfiles और स्क्रिप्ट शामिल हैं।

देशी कोड

BinDiff उन घटकों के लिए अपनी बिल्ड फ़ाइलें उत्पन्न करने के लिए CMake का उपयोग करता है जो देशी C++ कोड से बने होते हैं।

निम्नलिखित बिल्ड निर्भरताएँ आवश्यक हैं:

  • BinExport 12, BinDiff का सहयोगी प्लगइन जिसमें बहुत सारा साझा कोड भी है
  • Boost 1.83.0 या उच्चतर (1.83.0 की आंशिक प्रतिलिपि BinExport के साथ आती है और स्वचालित रूप से उपयोग की जाएगी)
  • CMake 3.14 या उच्चतर
  • Ninja तेज़ बिल्ड के लिए
  • Linux/macOS पर GCC 15 या Clang का हालिया संस्करण। Windows पर, Visual Studio 2022 कंपाइलर और Windows 11 के लिए Windows SDK का उपयोग करें।
  • Git 1.8 या उच्चतर
  • निर्भरताएँ जो डाउनलोड की जाएंगी:
    • Abseil, GoogleTest, Protocol Buffers (3.14), और SQLite3
    • Binary Ninja SDK
    • IDA SDK

सामान्य बिल्ड चरण Windows, Linux और macOS पर समान हैं। निम्नलिखित Linux के लिए कमांड दिखाता है।

इसके बाद, बिल्ड निर्देशिका कॉन्फ़िगर करें और बिल्ड फ़ाइलें उत्पन्न करें:

root@kitploit:~
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release

अंत में, वास्तविक बिल्ड को लागू करें। बाइनरी build/ में रखी जाएंगी:

root@kitploit:~
cmake --build build --config Release
(cd build; ctest --build-config Release --output-on-failure)
cmake --install build --config Release

IDA के बिना निर्माण

IDA के बिना निर्माण करने के लिए, ऊपर दिए गए कॉन्फ़िगरेशन चरण को बदलें:

root@kitploit:~
cmake -S . -B build/out -G Ninja -DCMAKE_BUILD_TYPE=Release \
  -DBINEXPORT_ENABLE_IDAPRO=OFF

Java GUI और yFiles

Java-आधारित GUI बनाने के लिए ग्राफ़ प्रदर्शन और लेआउट के लिए वाणिज्यिक तृतीय-पक्ष ग्राफ़ विज़ुअलाइज़ेशन लाइब्रेरी yFiles की आवश्यकता होती है। यह लाइब्रेरी अत्यधिक शक्तिशाली है और आसानी से बदली जाने योग्य नहीं है।

निर्माण के लिए, BinDiff Gradle 6.x और Java 11 LTS का उपयोग करता है। इसे स्थापित करने के तरीके के लिए इसकी स्थापना मार्गदर्शिका देखें।

मान लिया कि आप yFiles लाइसेंस धारक हैं, तो YFILES_DIR पर्यावरण चर को yFiles y.jar और ysvg.jar वाली निर्देशिका पर सेट करें।

नोट: BinDiff अभी भी yFiles की पुरानी 2.x शाखा का उपयोग करता है।

फिर बाहरी निर्भरताएँ डाउनलोड करने और निर्माण करने के लिए Gradle को लागू करें:

Windows:

root@kitploit:~
set YFILES_DIR=<path\to\yfiles_2.17>
cd java
gradle shadowJar

Linux या macOS:

root@kitploit:~
export YFILES_DIR=<path/to/yfiles_2.17>
cd java
gradle shadowJar

इसके बाद java उप-निर्देशिका में ui/build/libs निर्देशिका में स्व-निहित bindiff-ui-all.jar कलाकृति होनी चाहिए, जिसे मानक java -jar कमांड का उपयोग करके चलाया जा सकता है।

आगे पढ़ना / समान उपकरण

BinDiff के पीछे के सामान्य विचारों को रेखांकित करने वाले मूल पेपर:

  • Thomas Dullien and Rolf Rolles. एक्ज़ीक्यूटेबल वस्तुओं का ग्राफ-आधारित तुलना. bindiffsstic05-1.pdf. SSTIC ’05, Symposium sur la Sécurité des Technologies de l’Information et des Communications. 2005.
  • Halvar Flake. एक्ज़ीक्यूटेबल वस्तुओं का संरचनात्मक तुलना. dimva_paper2.pdf. pp 161-173. Detection of Intrusions and Malware & Vulnerability Assessment. 2004.3-88579-375-X.

उसी समस्या स्थान में अन्य उपकरण:

  • Diaphora, एक उन्नत प्रोग्राम डिफ़िंग उपकरण जो समान विचारों में से कई को लागू करता है।
  • TurboDiff, IDA Pro के लिए एक अब-बंद प्रोग्राम डिफ़िंग प्लगइन।

BinDiff का उपयोग करने वाली परियोजनाएँ:

  • VxSig, समान बाइनरी के सेट से स्वचालित रूप से AV बाइट हस्ताक्षर उत्पन्न करने का एक उपकरण।

लाइसेंस

BinDiff Apache लाइसेंस की शर्तों के तहत लाइसेंस प्राप्त है। अधिक जानकारी के लिए LICENSE देखें।

शामिल होना

यदि आप योगदान देना चाहते हैं, तो पुल अनुरोध भेजने से पहले CONTRIBUTING.md पढ़ें। आप बग की रिपोर्ट भी कर सकते हैं या सुविधा अनुरोध दर्ज कर सकते हैं।

टूल डाउनलोड करें