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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
BinAbsInspector — Ghidra Pcode पर अमूर्त व्याख्या (abstract interpretation) का उपयोग करने वाला स्थिर बाइनरी भेद्यता स्कैनर। Z3 के साथ प्रतीकात्मक निष्पादन (symbolic execution) के माध्यम से बफर ओवरफ्लो, उपयोग-के-बाद-मुक्त (use-after-free), और कमांड इंजेक्शन जैसी CWE कक्षाओं का पता लगाता है। | Kitploit
उपकरण/GitHubGitHub/keensecuritylab/binabsinspector
स्थैतिक विश्लेषणभेद्यता स्कैनररिवर्स इंजीनियरिंगफज़िंगबाइनरी विश्लेषण
GitHubkeensecuritylab/binabsinspector

BinAbsInspector

Ghidra Pcode पर अमूर्त व्याख्या (abstract interpretation) का उपयोग करने वाला स्थिर बाइनरी भेद्यता स्कैनर। Z3 के साथ प्रतीकात्मक निष्पादन (symbolic execution) के माध्यम से बफर ओवरफ्लो, उपयोग-के-बाद-मुक्त (use-after-free), और कमांड इंजेक्शन जैसी CWE कक्षाओं का पता लगाता है।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
1.7k24512 साल पहलेKitploit द्वारा समीक्षित

BinAbsInspector क्या है?

BinAbsInspector (Binary Abstract Inspector) एक स्थैतिक विश्लेषक है जो बाइनरी में स्वचालित रिवर्स इंजीनियरिंग और कमजोरियों की स्कैनिंग के लिए है, जो Keenlab में एक दीर्घकालिक शोध परियोजना है। यह Ghidra के समर्थन से अमूर्त व्याख्या पर आधारित है। यह असेंबली के बजाय Ghidra के Pcode पर काम करता है। वर्तमान में यह x86,x64, armv7 और aarch64 पर बाइनरी का समर्थन करता है।

स्थापना

  • Ghidra को Ghidra के दस्तावेज़ के अनुसार स्थापित करें
  • Z3 स्थापित करें (परीक्षित संस्करण: 4.8.15)
  • ध्यान दें कि Z3 लाइब्रेरी के सामान्यतः दो भाग होते हैं: एक Java पैकेज, दूसरा नेटिव लाइब्रेरी। Java पैकेज पहले से "/lib" निर्देशिका में शामिल है, लेकिन हम सुझाव देते हैं कि संस्करण अनुकूलता के लिए आप इसे अपने स्वयं के Java पैकेज से बदल दें।
    • Windows के लिए, यहाँ से प्री-बिल्ट पैकेज डाउनलोड करें, zip फ़ाइल निकालें और z3-${version}-win/bin की ओर इशारा करते हुए एक PATH पर्यावरण चर जोड़ें
    • Linux के लिए, पैकेज मैनेजर के साथ स्थापित करने की अनुशंसा नहीं की जाती है, दो विकल्प हैं:
      1. आप यहाँ से उपयुक्त प्री-बिल्ट पैकेज डाउनलोड कर सकते हैं, zip फ़ाइल निकालें और z3-${version}-glibc-${version}/bin/*.so को /usr/local/lib/ में कॉपी करें
      2. या आप Z3 को make और GCC/Clang का उपयोग करके बनाना के अनुसार z3 का निर्माण और स्थापित कर सकते हैं
    • MacOS के लिए, यह Linux के समान है।
  • रिलीज़ पेज से एक्सटेंशन zip फ़ाइल डाउनलोड करें
  • Ghidra एक्सटेंशन नोट्स के अनुसार एक्सटेंशन स्थापित करें

निर्माण

यदि आप कोई नई सुविधा विकसित करना चाहते हैं, तो कृपया विकास गाइड देखें।

  • Ghidra और Z3 स्थापित करें
  • Gradle 7.x स्थापित करें (परीक्षित संस्करण: 7.4)
  • रिपॉजिटरी को पुल करें
  • रिपॉजिटरी रूट के अंतर्गत gradle buildExtension चलाएँ
  • एक्सटेंशन dist/${GhidraVersion}_${date}_BinAbsInspector.zip पर उत्पन्न होगा

उपयोग

आप BinAbsInspector को हेडलेस मोड, GUI मोड, या Docker के साथ चला सकते हैं।

  • Ghidra हेडलेस मोड के साथ।
root@kitploit:~
$GHIDRA_INSTALL_DIR/support/analyzeHeadless <projectPath> <projectName> -import <file> -postScript BinAbsInspector "@@<scriptParams>"

<projectPath> -- Ghidra प्रोजेक्ट पथ।
<projectName> -- Ghidra प्रोजेक्ट नाम।
<scriptParams> -- हमारे विश्लेषक के लिए तर्क, निम्नलिखित विकल्प प्रदान करता है:

  • Ghidra GUI के साथ

    1. Ghidra चलाएँ और लक्ष्य बाइनरी को एक प्रोजेक्ट में आयात करें
    2. डिफ़ॉल्ट सेटिंग्स के साथ बाइनरी का विश्लेषण करें
    3. जब विश्लेषण पूरा हो जाए, Window -> Script Manager खोलें और BinAbsInspector.java ढूँढें
    4. BinAbsInspector.java प्रविष्टि पर डबल-क्लिक करें, कॉन्फ़िगरेशन विंडो में पैरामीटर सेट करें और OK क्लिक करें
    5. जब विश्लेषण पूरा हो जाए, आप कंसोल विंडो में CWE रिपोर्ट देख सकते हैं, रिपोर्ट से पतों पर डबल-क्लिक करने से संबंधित पते पर कूद सकते हैं
  • Docker के साथ

root@kitploit:~
git clone [email protected]:KeenSecurityLab/BinAbsInspector.git
cd BinAbsInspector
docker build . -t bai
docker run -v $(pwd):/data/workspace bai "@@<script parameters>" -import <file>

कार्यान्वित जाँचकर्ता

अब तक BinAbsInspector निम्नलिखित जाँचकर्ताओं का समर्थन करता है:

  • CWE78 (OS कमांड इंजेक्शन)
  • CWE119 (बफर ओवरफ़्लो (सामान्य मामला))
  • CWE125 (बफर ओवरफ़्लो (आउट-ऑफ-बाउंड्स रीड))
  • CWE134 (बाहरी-नियंत्रित प्रारूप स्ट्रिंग का उपयोग)
  • CWE190 (पूर्णांक ओवरफ़्लो या रैपअराउंड)
  • CWE367 (टाइम-ऑफ-चेक टाइम-ऑफ-यूज़ (TOCTOU))
  • CWE415 (डबल फ्री)
  • CWE416 (यूज़ आफ्टर फ्री)
  • CWE426 (अविश्वसनीय खोज पथ)
  • CWE467 (पॉइंटर प्रकार पर sizeof() का उपयोग)
  • CWE476 (NULL पॉइंटर डीरेफ़रेंस)
  • CWE676 (संभावित खतरनाक फ़ंक्शन का उपयोग)
  • CWE787 (बफर ओवरफ़्लो (आउट-ऑफ-बाउंड्स राइट))

परियोजना संरचना

इस परियोजना की संरचना इस प्रकार है, कृपया अधिक विवरण के लिए तकनीकी विवरण या चीनी संस्करण लेख देखें।

root@kitploit:~
├── main
│   ├── java
│   │   └── com
│   │       └── bai
│   │           ├── checkers                       checker implementatiom
│   │           ├── env
│   │           │   ├── funcs                      function modeling
│   │           │   │   ├── externalfuncs          external function modeling
│   │           │   │   └── stdfuncs               cpp std modeling
│   │           │   └── region                     memory modeling
│   │           ├── solver                         analyze core and grpah module
│   │           └── util                           utilities
│   └── resources
└── test

आप gradle javadoc के साथ javadoc का निर्माण भी कर सकते हैं, API दस्तावेज़ ./build/docs/javadoc में उत्पन्न होगा।

आभार

हम Ghidra को अपने आधार के रूप में उपयोग करते हैं और बेहतर प्रदर्शन के लिए अक्सर JImmutable Collections का लाभ उठाते हैं।
यहाँ हम उनकी महान सहायता के लिए उन्हें धन्यवाद देना चाहते हैं!

टूल डाउनलोड करें
ParameterDescription
[-K <kElement>]KSet आकार सीमा K
[-callStringK <callStringMaxLen>]कॉल स्ट्रिंग अधिकतम लंबाई K
[-Z3Timeout <timeout>]Z3 टाइमआउट
[-timeout <timeout>]विश्लेषण टाइमआउट
[-entry <address>]प्रवेश पता
[-externalMap <file>]बाहरी फ़ंक्शन मॉडल कॉन्फ़िग
[-json]json प्रारूप में आउटपुट
[-disableZ3]Z3 अक्षम करें
[-all]सभी जाँचकर्ता सक्षम करें
[-debug]डिबगिंग लॉग आउटपुट सक्षम करें
[-check "<cweNo1>[;<cweNo2>...]"]विशिष्ट जाँचकर्ता सक्षम करें