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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
seer — Seer - gdb के लिए एक GUI फ्रंटएंड | Kitploit
उपकरण/GitHubGitHub/epasveer/seer
स्थैतिक विश्लेषणगतिशील विश्लेषण (सैंडबॉक्सिंग)मेमोरी फोरेंसिकरिवर्स इंजीनियरिंगडीबगर्सबाइनरी विश्लेषण
GitHubepasveer/seer

seer

Seer - gdb के लिए एक GUI फ्रंटएंड

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

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

सभी देखें →

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

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

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

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

परिचय

Seer - Linux के लिए gdb का एक GUI फ्रंटएंड। (Ernie Pasveer [email protected])

यह परियोजना सक्रिय रूप से विकसित की जा रही है। इसका उद्देश्य gdb के लिए एक सरल, फिर भी मनभावन GUI बनाना है।

कृपया किसी भी बग या वांछित सुविधा की रिपोर्ट मेरे ईमेल पर करें या मेरे GitHub प्रोजेक्ट पेज पर एक कार्य बनाएं।

स्थापना (Installation)

Seer को पैकेज मैनेजर या स्रोत से स्थापित किया जा सकता है।

[!NOTE] स्थापना से पहले सुनिश्चित करें कि आवश्यकताएँ पूरी हों।

आवश्यकताएँ (Requirements)

  • Linux

  • C++17

  • gdb जिसमें "mi" इंटरप्रेटर हो (चलाकर जाँचें: gdb --interpreter=mi)

  • CMake (3.5.0 या नया)

  • QT6

    • जब Seer को स्रोत से बनाएँ, तो आपको अपने वितरण के लिए स्थापित QT6 "devel" पैकेज की आवश्यकता होगी।
      • Core
      • Gui
      • Widgets
      • PrintSupport
      • Charts
      • Svg
    • Qt6 बिल्ड निर्देश यहाँ हैं: https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
  • QT5

    • Seer अब Qt5 के साथ संकलित नहीं होता है। 2.3 स्रोत वृक्ष अंतिम है जो ऐसा करता है।
    • Qt5 बिल्ड निर्देश यहाँ हैं: https://github.com/epasveer/seer/wiki/Building-Seer---Qt5

पैकेज से स्थापित करें (Install from package)

निम्नलिखित पैकेज मैनेजरों के माध्यम से उपलब्ध:

Pamac (Manjaro)

root@kitploit:~
$ pamac install seer

zypper (openSUSE Tumbleweed)

root@kitploit:~
$ zypper install seergdb

Flathub

Flathub वेबसाइट। यहाँ

root@kitploit:~
$ flatpak install flathub io.github.epasveer.seer

Flatpak

बीटा Seer संस्करण। GitHub पर Seer का रिलीज़ पेज।

महत्वपूर्ण: flatpak-spawn --host, gdb चलाने के लिए GDB लांचर में आवश्यक है। https://github.com/epasveer/seer/issues/377#issuecomment-3620844808 देखें।

seer.flatpak डाउनलोड करें। इसे स्थापित करें:

root@kitploit:~
$ flatpak install -y --bundle --user seer.flatpak

स्रोत से स्थापित करें (Install from source)

(अनुशंसित) Seer को नीचे दिए गए निर्देशों का पालन करके Qt6 के साथ बनाया जा सकता है।

https://github.com/epasveer/seer/wiki/Building-Seer---Qt6

इसे अभी भी नीचे दिए गए निर्देशों का पालन करते हुए, कुछ समय के लिए, Qt5 के साथ बनाया जा सकता है।

https://github.com/epasveer/seer/wiki/Building-Seer---Qt5

समाचार (NEWS)

GitHub पर Seer का विकी पृष्ठ देखें।

  • संस्करण v1.17 अंतिम Qt5 रिलीज़ होगा।
  • अगली रिलीज़ v2.0 होगी और Qt6 आधारित होगी। हालाँकि, फिलहाल, इसे अभी भी Qt5 के साथ संकलित किया जा सकता है।
  • यदि आप नवीनतम स्थिर Qt5 स्रोत चाहते हैं, तो यहाँ से v1.17 प्राप्त करें: https://github.com/epasveer/seer/releases/tag/v1.17

Seer प्रारंभ करना (Starting Seer)

Seer को कमांड लाइन से डिबग करने के लिए प्रोग्राम को आसानी से शुरू करने के लिए डिज़ाइन किया गया है। gdb के पास प्रोग्राम को डिबग करने के कई तरीके हैं। तो Seer में भी स्वाभाविक रूप से वैसे ही तरीके हैं।

Seer चलाने के सभी तरीके देखने के लिए विकी पर जाएँ।

https://github.com/epasveer/seer/wiki/Starting-Seer

GUI अवलोकन (GUI overview)

विभिन्न Seer दृश्यों और संवादों के उदाहरण।

मुख्य दृश्य (Main View)

Seer का मुख्य दृश्य इस प्रकार दिखता है:

  • स्रोत/फंक्शन/प्रकार/चर/लाइब्रेरीज़

    • प्रोग्राम में उपयोग किए गए स्रोत/हेडर फ़ाइलों की सूची।
    • Functions, Types, और Static Variables खोजें। डबल-क्लिक करने से स्रोत फ़ाइल खुल जाएगी।
    • प्रोग्राम द्वारा संदर्भित साझा लाइब्रेरीज़ की सूची।
    • स्रोत/हेडर फ़ाइलों की सूची खोजी जा सकती है। इससे दिखाई गई फ़ाइलों की सूची "सिकुड़" जाएगी।
    • किसी फ़ाइल पर डबल-क्लिक करने से वह कोड मैनेजर में खुल जाएगी।
  • चर/रजिस्टर जानकारी

    • चर और रजिस्टर मान दिखाएँ।
    • "Logger" - किसी चर का मान लॉग करें। इसे मैन्युअल रूप से दर्ज करें या कोड मैनेजर में खुली फ़ाइल में चर पर डबल-क्लिक करें।
    • "Tracker" - चरों की एक सूची बनाएँ ताकि जब भी gdb किसी रुकने बिंदु (step, next, finish, आदि) पर पहुँचे तो उनका मान दिखाया जा सके। जब रुकने बिंदु पर पहुँचा जाता है, तो सूची के सभी चर अपने संभावित नए मान दिखाएँगे।
    • "Registers" - सभी CPU रजिस्टरों के मान दिखाएँ।
  • कोड मैनेजर।

    • Seer GUI के मध्य भाग का बड़ा क्षेत्र।
    • इस दृश्य में स्रोत फ़ाइलें खोली जाती हैं।
    • फ़ाइल में पाठ ^F से खोजा जा सकता है।
    • चर नाम पर डबल-क्लिक करके चर को "Logger" में जोड़ा जा सकता है। CTRL दबाकर डबल-क्लिक करने पर चर के आगे "" जुड़ जाएगा। SHIFT दबाकर डबल-क्लिक करने पर चर के आगे "&" जुड़ जाएगा। CTRL+SHIFT दबाकर डबल-क्लिक करने पर चर के आगे "&" जुड़ जाएगा।
    • चर नाम चुनकर और RMB करके "Tracker" में "Add variable to Tracker" चुनकर चर को "Tracker" में जोड़ा जा सकता है।
    • चर नाम चुनकर और RMB करके "Memory Visualizer" में "Add variable to Memory Visualizer" चुनकर चर को "Memory Visualizer" में जोड़ा जा सकता है।
    • किसी विशिष्ट पंक्ति पर RMB करके ब्रेकपॉइंट/प्रिंटपॉइंट बनाया जा सकता है।
    • किसी विशिष्ट पंक्ति पर RMB करके उस पंक्ति तक निष्पादित किया जा सकता है।
    • इस दृश्य में टैब को टैब पर डबल-क्लिक करके अलग किया जा सकता है।
  • Breakpoints, Watchpoints, Catchpoints, Printpoints, मैन्युअल gdb कमांड, और लॉग।

    • कोड मैनेजर के नीचे का क्षेत्र।
    • मैन्युअल कमांड। मैन्युअल रूप से gdb या gdbmi कमांड दर्ज करें। कमांड अगले Seer उपयोग के लिए याद रखे जाते हैं।
    • Breakpoint प्रबंधक। ब्रेकपॉइंट बनाएँ और प्रबंधित करें।
    • Watchpoint प्रबंधक। वॉचपॉइंट बनाएँ और प्रबंधित करें। वॉचपॉइंट निगरानी करता है कि कोई चर कब एक्सेस किया जाता है (पढ़ना, लिखना, पढ़ना/लिखना)।
    • Catchpoint प्रबंधक। कैचपॉइंट बनाएँ और प्रबंधित करें। कैचपॉइंट किसी C++ throw/rethrow/catch कॉल पर निष्पादन रोकता है।
    • Printpoint प्रबंधक। प्रिंटपॉइंट बनाएँ और प्रबंधित करें। प्रिंटपॉइंट ब्रेकपॉइंट जैसा होता है, लेकिन यह आपको उस प्रिंटपॉइंट पर चर प्रिंट करने की अनुमति देता है। gdb का 'dprintf' कॉल देखें।
    • GDB आउटपुट। gdb प्रोग्राम से किसी भी आउटपुट का लॉग।

खुला संवाद (Open Dialog)

जब ओपन एक्जीक्यूटेबल संवाद लागू किया जाता है, तो यह इस प्रकार दिखता है:

Seer कंसोल (Seer Console)

एक्जीक्यूटेबल से सभी टेक्स्ट आउटपुट Seer कंसोल पर जाएँगे। एक्जीक्यूटेबल के लिए टेक्स्ट इनपुट भी कंसोल के माध्यम से दर्ज किया जा सकता है।

असेंबली दृश्य (Assembly View)

सामान्यतः Seer कोड मैनेजर में केवल स्रोत कोड को टैब के रूप में दिखाएगा। प्रोग्राम के असेंबली को भी टैब के रूप में दिखाया जा सकता है।

"View->Assembly View" चुनें और स्रोत कोड टैब के साथ एक अतिरिक्त टैब दिखाई देगा जो वर्तमान में निष्पादित हो रहे असेंबली को दिखाता है। यहाँ एक उदाहरण है।

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

"Breakpoints" टैब और "Stack frames" टैब में प्रविष्टियों पर डबल-क्लिक करने से उन पतों के लिए असेंबली दिखाई देगी।

"Nexti" और "Stepi" हॉट-की हैं, जैसा कि आपकी कॉन्फ़िगरेशन सेटिंग्स द्वारा परिभाषित किया गया है। सामान्यतः "Ctrl+F5" और "CTRL+F6"। असेंबली टैब में "^F" का उपयोग करने से एक शक्तिशाली खोज बार दिखाई देगा।

Seer में असेंबली सुविधा नई है। बेझिझक परिवर्तन/सुविधाओं का सुझाव दें।

मेमोरी विज़ुअलाइज़र (Memory Visualizer)

मेमोरी विज़ुअलाइज़र में कच्ची मेमोरी की सामग्री देखने पर यह इस प्रकार दिखता है:

मेमोरीडिसअसेंबली

ऐरे विज़ुअलाइज़र (Array Visualizer)

ऐरे विज़ुअलाइज़र में ऐरे की सामग्री देखने पर यह इस प्रकार दिखता है:

सामान्यस्पलाइनस्कैटर

दो ऐरे का उपयोग X-Y प्लॉट के रूप में किया जा सकता है। उदाहरण के लिए, यह सरल 'points' ऐरे एक आकार की X-Y रूपरेखा बनाता है।

root@kitploit:~
    int main() {
        int points[] = {50,1,20,91,97,35,2,35,79,91,50,1};
        return 0;
    }
X मानY मानXY मान

स्ट्रक्ट विज़ुअलाइज़र (Struct Visualizer)

स्ट्रक्ट विज़ुअलाइज़र में C/C++ स्ट्रक्ट या C++ क्लास की सामग्री देखने पर यह इस प्रकार दिखता है। यह उदाहरण वर्तमान C++ क्लास के लिए "*this" की सामग्री दिखाता है जिसमें Seer है। सभी स्ट्रक्चर सदस्य जो मूल प्रकार के हैं, संपादित किए जा सकते हैं।

एक बेसिक स्ट्रक्ट विज़ुअलाइज़र भी है जो अधिक हल्का है, लेकिन पॉइंटर्स का अनुसरण नहीं कर सकता और संपादित नहीं किया जा सकता।

इमेज विज़ुअलाइज़र (Image Visualizer)

जब कच्ची मेमोरी की सामग्री को देखते हैं जो एक इमेज है, तो इमेज विज़ुअलाइज़र का उपयोग किया जा सकता है।

समर्थन/संपर्क (Support/Contact)

किसी भी बग या सुविधा के लिए [email protected] पर ईमेल भेजें। या मेरे GitHub प्रोजेक्ट पेज पर एक कार्य बनाएँ।

स्टारगेज़र (Stargazers)

यह एक अद्भुत दुनिया है।

टूल डाउनलोड करें
  • Seer आउटपुट। Seer प्रोग्राम से किसी भी आउटपुट का लॉग। निदान के रूप में।
  • इस दृश्य में टैब को टैब पर डबल-क्लिक करके अलग किया जा सकता है।
  • स्टैक फ्रेम जानकारी।

    • स्टैक फ्रेम सूची। किसी फ्रेम पर डबल-क्लिक करके दायरा (वर्तमान फ़ंक्शन) बदला जा सकता है।
    • स्टैक फ्रेम तर्क। प्रत्येक फ्रेम के लिए, प्रत्येक फ़ंक्शन को पारित तर्क प्रिंट करें।
    • स्टैक स्थानीय चर। वर्तमान फ़ंक्शन के लिए, स्थानीय चरों के मान प्रिंट करें।
  • थ्रेड जानकारी।

    • थ्रेड आईडी। सभी थ्रेड की सूची। थ्रेड आईडी पर डबल-क्लिक करके दायरा (वर्तमान थ्रेड) बदलें।
    • थ्रेड फ्रेम। प्रत्येक थ्रेड के लिए, उसके स्टैक फ्रेम सूचीबद्ध करें।
  • Gdb के Reverse Debugging मोड का समर्थन करता है।

    • निर्देश रिकॉर्डिंग चालू या बंद करें।
    • प्लेबैक दिशा आगे या पीछे सेट करें।