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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Kam1n0-Community — स्केलेबल असेंबली विश्लेषण प्लेटफॉर्म जो इंडेक्सिंग, क्लोन खोज, और एक्जीक्यूटेबल वर्गीकरण के लिए स्थैतिक, गतिशील और मशीन-लर्निंग तकनीकों का उपयोग करता है, विभिन्न आर्किटेक्चर में। | Kitploit
उपकरण/GitHubGitHub/mcgill-dmas/kam1n0-community
भेद्यता विश्लेषणकोड विश्लेषणरिवर्स इंजीनियरिंगफज़िंगबाइनरी विश्लेषणमशीन लर्निंग
GitHubmcgill-dmas/kam1n0-community

Kam1n0-Community

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

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

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

सभी देखें →

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

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

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

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

Kam1n0 v2 क्या है?

image GitHub (pre-)release Github All Releases JDK PRs Welcome

Build latest development release (Windows) Test release build (Windows)

Kam1n0 v2.x एक स्केलेबल असेंबली प्रबंधन और विश्लेषण प्लेटफॉर्म है। यह उपयोगकर्ता को पहले (बड़े) बाइनरी संग्रह को विभिन्न रिपॉजिटरी में अनुक्रमित करने और क्लोन खोज और वर्गीकरण जैसी विभिन्न विश्लेषणात्मक सेवाएँ प्रदान करने की अनुमति देता है। यह एप्लिकेशन की अवधारणा का उपयोग करके असेंबली रिपॉजिटरी के बहु-किरायेदारी पहुँच और प्रबंधन का समर्थन करता है। एक एप्लिकेशन इंस्टेंस में अपना विशिष्ट रिपॉजिटरी होता है और एक विशेष विश्लेषणात्मक सेवा प्रदान करता है। रिवर्स इंजीनियरिंग कार्यों की बहुमुखी प्रतिभा को ध्यान में रखते हुए, Kam1n0 v2.x सर्वर वर्तमान में तीन अलग-अलग प्रकार के क्लोन-खोज एप्लिकेशन प्रदान करता है: Asm-Clone, Sym1n0, और Asm2Vec , और Asm2Vec पर आधारित एक निष्पादन योग्य वर्गीकरण । प्लेटफॉर्म में आगे नए एप्लिकेशन प्रकार जोड़े जा सकते हैं।

एक उपयोगकर्ता कई एप्लिकेशन इंस्टेंस बना सकता है। एक एप्लिकेशन इंस्टेंस को उपयोगकर्ताओं के एक विशिष्ट समूह के बीच साझा किया जा सकता है। एप्लिकेशन रिपॉजिटरी की पढ़ने-लिखने की पहुँच और चालू/बंद स्थिति को एप्लिकेशन स्वामी द्वारा नियंत्रित किया जा सकता है। Kam1n0 v2.x सर्वर कई साझा संसाधन पूल का उपयोग करके एप्लिकेशन को एक साथ सेवा प्रदान कर सकता है।

Kam1n0 को Steven H. H. Ding और Miles Q. Li द्वारा Benjamin C. M. Fung के पर्यवेक्षण में कनाडा के मैकगिल विश्वविद्यालय में डेटा माइनिंग और सुरक्षा प्रयोगशाला में विकसित किया गया था। इसने Hex-Rays प्लग-इन प्रतियोगिता 2015 में द्वितीय पुरस्कार जीता। यदि आप Kam1n0 को उपयोगी पाते हैं, तो कृपया हमारे पेपर का हवाला दें:

  • S. H. H. Ding, B. C. M. Fung, and P. Charland. Kam1n0: MapReduce-based Assembly Clone Search for Reverse Engineering. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (SIGKDD), pages 461-470, San Francisco, CA: ACM Press, August 2016.

  • S. H. H. Ding, B. C. M. Fung, and P. Charland. Asm2Vec: boosting static representation robustness for binary clone search against code obfuscation and compiler optimization. In Proceedings of the 40th IEEE Symposium on Security and Privacy (S&P), 18 pages, San Francisco, CA: IEEE Computer Society, May 2019.

Asm-Clone

Asm-Clone एप्लिकेशन असेंबली फ़ंक्शंस के लिए कुशल सबग्राफ़ खोज समस्या (अर्थात् ग्राफ़ आइसोमॉर्फिज्म समस्या) को हल करने का प्रयास करते हैं (2.3M फ़ंक्शंस के साथ <1.3s औसत क्वेरी समय और <30ms औसत इंडेक्स समय)। किसी लक्ष्य फ़ंक्शन (जैसा कि नीचे बाईं ओर दिखाया गया है) को देखते हुए, यह रिपॉजिटरी में अन्य फ़ंक्शंस के बीच क्लोन किए गए सबग्राफ़ की पहचान कर सकता है (जैसा कि नीचे दाईं ओर दिखाया गया है)।

  • एप्लिकेशन प्रकार: Asm-Clone
  • Kam1n0 v1.x में प्रयुक्त मूल क्लोन खोज सेवा।
  • वर्तमान में Meta-PC, ARM, PowerPC और TMS320c6 (प्रायोगिक) का समर्थन करता है।
  • एक निश्चित असेंबली कोड परिवार के भीतर सबग्राफ़ क्लोन खोज का समर्थन करता है।
    • + परिणाम की अच्छी व्याख्यात्मकता: सबग्राफ़ में विभाजित हो जाता है।
    • + दिए गए कोड परिवार के भीतर खोज के लिए सटीक।
    • + बड़ी बाइनरी के लिए विभिन्न पैच या संस्करणों की तुलना करने के लिए अच्छा।
    • - निर्देश सेट परिवर्तनों, अनुकूलन और अस्पष्टता के प्रति अपेक्षाकृत अधिक संवेदनशील।
    • - असेंबली कोड भाषा के सिंटैक्स को पूर्व-परिभाषित करने की आवश्यकता है।
    • - रिपॉजिटरी में उसी चुने हुए परिवार का असेंबली कोड होना चाहिए।

Sym1n0

विभेदित फ़ज़ टेस्टिंग और बाधा समाधान द्वारा सिमैंटिक क्लोन खोज। एक कुशल और स्केलेबल डायनामिक-स्टैटिक हाइब्रिड दृष्टिकोण (1.5M फ़ंक्शंस के साथ <1s औसत क्वेरी समय और <100ms औसत इंडेक्स समय)। किसी लक्ष्य फ़ंक्शन (जैसा कि नीचे बाईं ओर दिखाया गया है) को देखते हुए, यह रिपॉजिटरी में अन्य फ़ंक्शंस के बीच क्लोन किए गए सबग्राफ़ की पहचान कर सकता है (जैसा कि नीचे दाईं ओर दिखाया गया है)। अमूर्त सिंटैक्स ग्राफ़ के विज़ुअलाइज़ेशन का समर्थन करता है।

  • एप्लिकेशन प्रकार: Sym1n0 (केवल v2)
  • प्रतीकात्मक निष्पादन और ठोस निष्पादन दोनों द्वारा क्लोन खोज।
  • उनके अलग-अलग I/O व्यवहार के आधार पर फ़ंक्शंस में अंतर करें।
  • Vex IR (LibVex द्वारा संचालित) से निर्मित अमूर्त सिंटैक्स ग्राफ़ पर क्लोन खोज।
    • + विभिन्न असेंबली कोड परिवारों में क्लोन खोज।
      • उदाहरण के लिए, अनुक्रमित x86 बाइनरी लेकिन क्वेरी ARM कोड है।
    • + सबग्राफ़ क्लोन खोज।
    • + LibVex के माध्यम से परिवारों की एक विस्तृत श्रृंखला का समर्थन करता है।
      • x86, AMD64, MIPS32, MIPS64, PowerPC32, PowerPC64, ARM32, और ARM64।
    • + एक कुशल डायनामिक-स्टैटिक हाइब्रिड दृष्टिकोण।
    • + विभिन्न प्रोसेसरों के लिए संकलित फर्मवेयर के विश्लेषण के लिए आदर्श।
    • - भारी ग्राफ़ हेरफेर (जैसे पूर्ण समतलन) के प्रति संवेदनशील।
    • - बुनियादी ब्लॉक अखंडता के बड़े पैमाने पर टूटने के प्रति संवेदनशील।

Asm2Vec

Asm2Vec प्रतिनिधित्व सीखने का लाभ उठाता है। यह असेंबली कोड के शाब्दिक शब्दार्थ संबंध को समझता है। उदाहरण के लिए, xmm* रजिस्टर शब्दार्थ रूप से वेक्टर ऑपरेशंस जैसे addps से संबंधित हैं। memcpy strcpy के समान है। नीचे दिया गया ग्राफ़ libgmp में gmpz_tdiv_r_2exp के समान स्रोत कोड से संकलित विभिन्न असेंबली फ़ंक्शंस दिखाता है। बाएं से दाएं, असेंबली फ़ंक्शंस को GCC O0 विकल्प, GCC O3 विकल्प, O-LLVM अस्पष्टता नियंत्रण प्रवाह ग्राफ़, फ़्लैटनिंग विकल्प, और LLVM अस्पष्टता बोगस नियंत्रण प्रवाह ग्राफ़ विकल्प के साथ संकलित किया गया है। Asm2Vec उन्हें स्टैटिक रूप से क्लोन के रूप में पहचान सकता है।

  • प्रतिनिधित्व सीखने का लाभ उठाता है।
  • असेंबली कोड के शाब्दिक शब्दार्थ संबंध को समझता है।
    • + भारी कोड अस्पष्टता तकनीकों के खिलाफ क्लोन खोज के लिए अत्याधुनिक।
      • (O-LLVM में लागू सभी विकल्पों के लिए >0.8 सटीकता, कई पुनरावृत्तियाँ)।
    • + कोड अनुकूलन के खिलाफ क्लोन खोज के लिए अत्याधुनिक।
      • (O0 और O3 के बीच >0.8 सटीकता, O2 और O3 के बीच >0.94 सटीकता)।
    • + सबसे हाल के डायनामिक दृष्टिकोण से भी बेहतर परिणाम।
    • + हाल के डायनामिक दृष्टिकोणों की तुलना में अधिक कुशल।
    • + आर्किटेक्चर को परिभाषित करने की आवश्यकता नहीं है। यह बड़ी मात्रा में कोड पढ़कर स्व-सीखता है।
    • + स्टैटिक दृष्टिकोण: कुशल और स्केलेबल।
    • - कोई सबग्राफ़ नहीं।
    • - मान लें कि असेंबली कोड एक ही प्रोसेसर परिवार से आता है।
    • - स्टैटिक दृष्टिकोण: जंप टेबल आदि को पहचान नहीं सकता।

निष्पादन योग्य वर्गीकरण

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

  • अपने फ़ंक्शन समानता गणना मॉडल के रूप में Asm2Vec का उपयोग करता है

    • + व्याख्या योग्य वर्गीकरण परिणाम प्रदान करता है।
    • + प्रत्येक वर्ग की सामान्य विशेषताएँ (अर्थात्, फ़ंक्शन क्लस्टर) सीखता है।
    • + सामान्य मशीन लर्निंग मॉडल की तुलना में छोटे और असंतुलित डेटासेट को संभालने में सक्षम।
    • - सीमा यह है कि सिस्टम के काम करने के लिए यह धारणा कि एक ही वर्ग की बाइनरी कुछ सामान्य फ़ंक्शन साझा करती हैं, धारण करनी चाहिए।

प्लेटफ़ॉर्म अवलोकन

नीचे दिया गया चित्र Kam1n0 v2.x के प्रमुख UI घटकों और कार्यक्षमताओं को दर्शाता है। हम एक सामग्री डिज़ाइन अपनाते हैं। सामान्य तौर पर, प्रत्येक उपयोगकर्ता के पास एक एप्लिकेशन सूची, एक चल रहे-कार्य सूची और एक परिणाम फ़ाइल सूची होती है।

  • एप्लिकेशन सूची उपयोगकर्ता के स्वामित्व वाले और दूसरों द्वारा साझा किए गए एप्लिकेशन इंस्टेंस दिखाती है।
  • चल रहे-कार्य सूची एक बड़ी क्वेरी (जैसे chrome.dll) और इंडेक्सिंग प्रक्रिया के लिए चल रही प्रगति दिखाती है।
  • परिणाम फ़ाइल सूची सहेजे गए परिणामों को प्रदर्शित करती है। UI डिज़ाइन के अधिक विवरण हमारे विस्तृत ट्यूटोरियल में पाए जा सकते हैं।

स्थापना निर्देश

Kam1n0 के वर्तमान रिलीज़ में दो इंस्टॉलर शामिल हैं: कोर सर्वर और IDA Pro प्लग-इन।

इंस्टॉलरशामिल घटकविवरण
Kam1n0-Server.msiकोर इंजनइंडेक्सिंग और खोज के लिए सेवा प्रदान करने वाला मुख्य इंजन।
वर्कबेंचरिपॉजिटरी और चल रही सेवा को प्रबंधित करने के लिए एक उपयोगकर्ता इंटरफ़ेस।
वेब उपयोगकर्ता इंटरफ़ेसबाइनरी फ़ाइलों और असेंबली फ़ंक्शंस को खोजने/अनुक्रमित करने के लिए वेब उपयोगकर्ता इंटरफ़ेस।
VS 15 के लिए Visual C++ पुनर्वितरण योग्यz3 के लिए निर्भरता।
Kam1n0-IDA-Plugin.msiप्लग-इनकनेक्टर और उपयोगकर्ता इंटरफ़ेस।
Cefpython के लिए PyPI व्हील्सउपयोगकर्ता इंटरफ़ेस के लिए रेंडरिंग इंजन।
PyPI और आश्रित व्हील्सPython के लिए पैकेज प्रबंधन। IDA 6.8 और 6.9 के लिए शामिल।

Kam1n0 सर्वर स्थापित करना

Kam1n0 कोर इंजन पूरी तरह से Java में लिखा गया है। आपको निम्नलिखित निर्भरताओं की आवश्यकता है:

  • [आवश्यक] Oracle से नवीनतम x64 11.x JRE/JDK वितरण।
  • [वैकल्पिक] idapython प्लग-इन स्थापित के साथ IDA Pro का नवीनतम संस्करण। Python प्लग-इन और रनटाइम पहले से ही IDA Pro के साथ स्थापित होना चाहिए। यदि आवश्यक हो तो IDA Pro को पुनर्स्थापित करें।

हमारे रिलीज़ पेज से Kam1n0-Server.msi फ़ाइल डाउनलोड करें। सर्वर स्थापित करने के लिए निर्देशों का पालन करें। आपको एक स्थापना पथ चुनने के लिए प्रेरित किया जाएगा। यदि सर्वर को किसी डिस्सेम्बली से निपटना नहीं है तो IDA Pro वैकल्पिक है। दूसरे शब्दों में, क्लाइंट पक्ष Kam1n0 प्लग-इन का उपयोग IDA Pro के लिए करता है। यह दृढ़ता से सुझाव दिया जाता है कि IDA Pro को Kam1n0 सर्वर के साथ स्थापित किया जाए। Kam1n0 सर्वर स्वचालित रूप से आपके IDA Pro का पता लगाएगा, जो .i64 फ़ाइल खोलने के लिए उपयोग किए जाने वाले डिफ़ॉल्ट एप्लिकेशन को देखकर।

IDA Pro प्लग-इन स्थापित करना

Kam1n0 IDA Pro प्लग-इन तर्क के लिए Python में और रेंडरिंग के लिए HTML/JavaScript में लिखा गया है। इसकी स्थापना के लिए निम्नलिखित निर्भरताएँ आवश्यक हैं:

  • [आवश्यक] idapython प्लग-इन स्थापित के साथ IDA Pro (>6.7)। Python प्लग-इन और रनटाइम पहले से ही IDA Pro के साथ स्थापित होना चाहिए। यदि आवश्यक हो तो IDA Pro को पुनर्स्थापित करें।

अगला, हमारे रिलीज़ पेज से Kam1n0-IDA-Plugin.msi इंस्टॉलर डाउनलोड करें। प्लग-इन और रनटाइम स्थापित करने के लिए निर्देशों का पालन करें। कृपया ध्यान दें कि प्लग-इन को IDA Pro प्लगइन्स फ़ोल्डर में स्थापित किया जाना चाहिए, जो $IDA_PRO_PATH$/plugins पर स्थित है। उदाहरण के लिए, Windows पर, पथ C:/Program Files (x86)/IDA 6.95/plugins हो सकता है। इंस्टॉलर पथ का पता लगाएगा और उसे मान्य करेगा।

Ubuntu/Debian-आधारित सिस्टम पर Kam1n0 सेट करना

  • सुनिश्चित करें कि आपके पास Java 11 का Oracle संस्करण है। (apt में default-jdk नहीं।)

    • Oracle का PPA जोड़ें और फिर अपने पैकेज रिपॉजिटरी को अपडेट करें: sudo add-apt-repository ppa:webupd8team/java
      • यदि आपको कोई त्रुटि आती है (जैसे ~webupd8team not found), यदि आप प्रॉक्सी पर हैं, तो सुनिश्चित करें कि आप अपने http_proxy और https_proxy पर्यावरण चर सेट और निर्यात करते हैं, और फिर sudo पर -E विकल्प के साथ पुनः प्रयास करें। इसके अतिरिक्त, यदि आपको 'add-apt repository command not found' त्रुटि मिल रही है, तो प्रयास करें: sudo apt install -y software-properties-common.
    • उसके बाद: sudo apt-get update, और sudo apt-get install oracle-java8-installer
      • java -version के साथ अपने Java संस्करण को सत्यापित करें; आपको मैन्युअल रूप से JAVA_HOME पर्यावरण चर (/etc/environment में) सेट करने की आवश्यकता हो सकती है, JAVA_HOME=/usr/lib/jvm/java-11-oracle
  • Kam1n0-Community से Linux के लिए नवीनतम रिलीज़ डाउनलोड करें (Kam1n0-IDA-Plugin.tar.gz और Kam1n0-Server.tar.gz)।

  • दोनों टारबॉल निकालें (अर्थात् tar –xvzf Kam1n0-IDA-Plugin.tar.gz और tar –xvzf Kam1n0-Server.tar.gz)

  • Kam1n0-Server.tar.gz फ़ाइल सर्वर निर्देशिका बनाएगी।

  • server निर्देशिका के अंदर, आपको kam1n0.properties नामक एक फ़ाइल देखनी चाहिए, जहाँ आप kam1n0 के लिए विभिन्न कॉन्फ़िगरेशन सेट करेंगे; यह बहुत महत्वपूर्ण है।

  • kam1n0.data.path को उस स्थान पर सेट करें जहाँ आप अपने kam1n0-संबंधित डेटा को लिखा जाना चाहेंगे। हम इसे उसी स्थान पर रखना चुनते हैं जहाँ हम अपना server रखते हैं। kam1n0.ida.home यह संदर्भित करता है कि आपकी IDA स्थापना कहाँ स्थित है। यदि आपके पास IDA नहीं है और आप डिस्सेम्बली के लिए kam1n0 का उपयोग करने की योजना नहीं बनाते हैं तो इस पंक्ति (और kam1n0.ida.batch, उसके बाद की पंक्ति) को टिप्पणी करें। kam1n0.properties फ़ाइल के बारे में अधिक (सटीक) जानकारी के लिए, kam1n0.properties.explained फ़ाइल देखें।

  • kam1n0-server-workbench चलाएँ: java -jar kam1n0-server-workbench.jar. इससे एक विंडो पॉप अप होनी चाहिए, जो आपको वास्तव में kam1n0 शुरू करने के लिए संकेत देती है। वैकल्पिक रूप से, kam1n0-server चलाएँ: java -jar kam1n0-server.jar --start. यह विंडो के बिना कंसोल से सर्वर शुरू करता है।

  • कनेक्ट करने और उपयोग करने के लिए, अपने ब्राउज़र में 127.0.0.1:8571 (डिफ़ॉल्ट पोर्ट जिस पर kam1n0 सुनता है, वह 8571 होना चाहिए, लेकिन kam1n0.properties में बदला जा सकता है) पर जाएँ। आपको सुंदर kam1n0 वेब UI देखना चाहिए। वहाँ से, यदि आप नहीं जानते कि kam1n0 का उपयोग कैसे करें, तो Kam1n0-Community रेपो पर ट्यूटोरियल का पालन करें।

पिछड़ा संगतता

पिछले संस्करणों (<2.0.0) में उपयोग की गई असेंबली कोड रिपॉजिटरी और कॉन्फ़िगरेशन फ़ाइलें अब नवीनतम संस्करण द्वारा समर्थित नहीं हैं। यदि आपको अपनी पुरानी रिपॉजिटरी को माइग्रेट करने की आवश्यकता है तो कृपया हमसे संपर्क करें।

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

  • Kam1n0 सर्वर ट्यूटोरियल
    • कॉन्फ़िगरेशन और इंजन स्टार्टअप
    • खाता पंजीकृत करें और लॉगिन करें
    • एक एप्लिकेशन बनाएँ
    • एप्लिकेशन साझा करना और पहुँच नियंत्रण
    • डेटा तैयार करना
    • IDA Pro प्लग-इन के लिए एप्लिकेशन URL
    • बाइनरी फ़ाइलों को अनुक्रमित करें
    • एक असेंबली फ़ंक्शन के साथ खोजें
      • फ़्लो ग्राफ़ दृश्य
      • टेक्स्ट डिफ़ दृश्य
      • क्लोन समूह दृश्य
    • एक बाइनरी फ़ाइल के साथ खोजें
    • क्लोन खोज परिणाम ब्राउज़ करें
      • सारांश बक्से
      • विवरण
  • IDA Pro प्लग-इन ट्यूटोरियल
    • कार्यक्षमताएँ
    • चरण-दर-चरण उदाहरण
      • डेटा तैयार करना
      • इंजन स्टार्टअप और एप्लिकेशन URL
      • कनेक्शन कॉन्फ़िगरेशन
      • प्लग-इन से इंडेक्सिंग
      • फ़ंक्शन खोज
      • संरचना विश्लेषण
      • असेंबली खंड खोज
      • खोज बॉक्स
    • प्लग-इन कैसे काम करता है
      • उपयोगकर्ता इंटरफ़ेस
      • सिंक्रनाइज़ेशन
      • दो-तरफ़ा संचार

विकास

नवीनतम स्थिर शाखा को क्लोन करें (--recursive न भूलें!):```bash git clone --recursive -b master2.x --single-branch https://github.com/McGill-DMaS/Kam1n0-Community

root@kitploit:~
## प्रोजेक्ट आयात करना।
IntelliJ: रूट /kam1n0/kam1n0/ को एक मेवेन प्रोजेक्ट के रूप में आयात करें। सभी उप-मॉड्यूल तदनुसार लोड हो जाएंगे।
EclipseEE: क्लोन किए गए git रिपॉजिटरी को git व्यू में जोड़ें। git रिपॉजिटरी से सभी मेवेन प्रोजेक्ट आयात करें।
किसी भी त्रुटि को दूर करने के लिए आपको classpath को संशोधित करने की आवश्यकता हो सकती है।
IDE के अंदर चलने पर सभी संसाधन पथ गतिशील रूप से संशोधित होते हैं
(kam1n0-resources उप-मॉड्यूल के माध्यम से)।

प्रोजेक्ट बनाने के लिए:```
cd /kam1n0/kam1n0
mvn -DskipTests clean package
mvn -DskipTests package

The resulting binaries can be found in /kam1n0/build-bins/

परीक्षण कोड चलाने के लिए, आपको पहले chromedriver.exe को http://chromedriver.chromium.org/ से डाउनलोड करना होगा और इसका पूर्ण पथ webdriver.chrome.driver नामक एक पर्यावरण चर में जोड़ना होगा। यह भी आवश्यक है कि सिस्टम में क्रोम ब्राउज़र स्थापित हो। परीक्षण कोड यूआई इंटरफ़ेस का परीक्षण करने के लिए एक ब्राउज़र इंस्टेंस लॉन्च करेगा। पूरी परीक्षण प्रक्रिया में लगभग 3 घंटे लगेंगे।``` cd /kam1n0/kam1n0 mvn -DskipTests clean package # you can skip this one if you already built the package mvn -DskipTests package # you can skip this one if you already built the package mvn -DforkMode=never test

root@kitploit:~
ये कमांड्स केवल libvex और z3 के प्री-कम्पाइल्ड व्हील्स के साथ जावा को कंपाइल करते हैं। यह आउट-ऑफ-द-बॉक्स काम करता है।
libvex और z3 का बिल्ड प्लेटफॉर्म-निर्भर है। हम Angr से libvex का एक फोर्क उपयोग करते हैं।
अधिक गंभीर बिल्ड स्क्रिप्ट्स और विंडोज/लिनक्स के लिए इंस्टॉलर /kam1n0-builds/ के अंतर्गत पाए जा सकते हैं।

* kam1n0: सर्वर का स्रोत कोड।
* kam1n0-builds: वितरण बनाने के लिए इंस्टॉलर स्रोत कोड और स्क्रिप्ट्स।
* kam1n0-clients: क्लाइंट का स्रोत कोड।

## बाइनरी रिलीज़

हमारे पास निरंतर विकास और वितरण के लिए एक जेनकिन सर्वर है। नवीनतम स्थिर रिलीज़ यहाँ पोस्ट की जाएगी। समय-समय पर हम अपनी आंतरिक प्रायोगिक शाखा को इस भंडार के साथ सिंक्रनाइज़ करेंगे।

## लाइसेंसिंग

यह सॉफ्टवेयर [Steven H. H. Ding](http://stevending.net/), [Miles Q. Li](http://milesqli.github.io/), और [Benjamin C. M. Fung](http://dmas.lab.mcgill.ca/fung/) द्वारा [McGill Data Mining and Security Lab](http://dmas.lab.mcgill.ca/) और कनाडा के [Queen's L1NNA Research Laboratory](https://l1nna.com/) में विकसित किया गया है। यह Apache License Version 2.0 के तहत वितरित किया गया है। कृपया विवरण के लिए [LICENSE.txt](https://github.com/mcgill-dmas/kam1n0-community/blob/master2.x/LICENSE.txt) देखें।

कॉपीराइट 2014-2021 McGill University और शोधकर्ता। सर्वाधिकार सुरक्षित।

## आभार

![image](https://img.shields.io/badge/Proudly%20Funded%20by-Defence%20Research%20&%20Development%20Canada%20(DRDC)-orange.svg?style=for-the-badge)

![image](https://img.shields.io/badge/Proudly%20Funded%20by-NSERC%20Canada%20Research%20%20Chairs%20Program-blue.svg?style=for-the-badge)

![image](https://img.shields.io/badge/Special%20thanks%20to-Philippe%20Charland,%20DRDC-orange.svg?style=for-the-badge)

![image](https://img.shields.io/badge/Acknowledgement-NVIDIA%20Corporation%20for%20donating%20the%20Titan%20Xp%20used%20for%20this%20research-blue.svg?style=for-the-badge)

![image](https://img.shields.io/badge/Built%20in-Data%20Mining%20and%20Security%20Lab,%20SIS,%20McGill%20Univrsity-red.svg?style=for-the-badge)

![image](https://img.shields.io/badge/Built%20in-L1NNA%20Research%20Laboratory,%20CS,%20Queen%27s%20Univrsity-red.svg?style=for-the-badge)
टूल डाउनलोड करें