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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
openocd — आधिकारिक OpenOCD केवल-पढ़ने योग्य मिरर (कोई पुल अनुरोध नहीं) | Kitploit
उपकरण/GitHubGitHub/openocd-org/openocd
एम्बेडेड सिस्टम सुरक्षारिवर्स इंजीनियरिंगडीबगर्सहार्डवेयर हैकिंगहार्डवेयर सुरक्षाहार्डवेयर और IoT सुरक्षाफर्मवेयर विश्लेषण
GitHubopenocd-org/openocd

openocd

आधिकारिक OpenOCD केवल-पढ़ने योग्य मिरर (कोई पुल अनुरोध नहीं)

रिपॉजिटरी देखें
2.3k1.0k22 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

OpenOCD में आपका स्वागत है

OpenOCD JTAG इंटरफ़ेस और TAP समर्थन की स्तरित वास्तुकला के साथ ऑन-चिप प्रोग्रामिंग और डिबगिंग समर्थन प्रदान करता है, जिसमें शामिल हैं:

  • स्वचालित बाउंड्री स्कैन और FPGA/CPLD प्रोग्रामिंग की सुविधा के लिए (X)SVF प्लेबैक;
  • डिबग टार्गेट समर्थन (जैसे ARM, MIPS): सिंगल-स्टेपिंग, ब्रेकपॉइंट्स/वॉचपॉइंट्स, gprof प्रोफाइलिंग, आदि;
  • फ्लैश चिप ड्राइवर (जैसे CFI, NAND, आंतरिक फ्लैश);
  • आसान स्क्रिप्टिंग के लिए एम्बेडेड Tcl इंटरप्रेटर।

OpenOCD के साथ बातचीत के लिए कई नेटवर्क इंटरफ़ेस उपलब्ध हैं: टेलनेट, Tcl, और GDB। GDB सर्वर OpenOCD को GNU GDB प्रोग्राम (और अन्य जो GDB प्रोटोकॉल बोलते हैं, जैसे IDA Pro) का उपयोग करके एम्बेडेड सिस्टम के स्रोत-स्तरीय डिबगिंग के लिए "रिमोट टार्गेट" के रूप में कार्य करने में सक्षम बनाता है।

यह README फ़ाइल निम्नलिखित विषयों का अवलोकन प्रस्तुत करती है:

  • त्वरित आरंभ निर्देश,
  • अधिक OpenOCD दस्तावेज़ कैसे खोजें और बनाएं,
  • समर्थित हार्डवेयर की सूची,
  • स्थापना और निर्माण प्रक्रिया,
  • पैकेजिंग युक्तियाँ।

अधीर लोगों के लिए त्वरित आरंभ

यदि आपके पास कोई लोकप्रिय बोर्ड है तो बस OpenOCD को उसके कॉन्फ़िग के साथ शुरू करें, जैसे:

root@kitploit:~
openocd -f board/stm32f4discovery.cfg

यदि आप किसी विशिष्ट टार्गेट के साथ किसी विशेष एडेप्टर को जोड़ रहे हैं, तो आपको JTAG इंटरफ़ेस और टार्गेट कॉन्फ़िग दोनों को स्रोत करना होगा, जैसे:

root@kitploit:~
openocd -f interface/ftdi/jtagkey2.cfg -c "transport select jtag" \
        -f target/ti/calypso.cfg
root@kitploit:~
openocd -f interface/stlink.cfg -c "transport select swd" \
        -f target/stm32l0.cfg

OpenOCD स्टार्टअप के बाद, GDB को इससे कनेक्ट करें

root@kitploit:~
(gdb) target extended-remote localhost:3333

OpenOCD स्थापित करना

OpenOCD स्थापित करने का सबसे आसान तरीका आपके ऑपरेटिंग सिस्टम के पैकेज मैनेजर के माध्यम से है।

  • Debian / Ubuntu

    root@kitploit:~
    sudo apt install openocd
    
  • Fedora

    root@kitploit:~
    sudo dnf install openocd
    
  • macOS (Homebrew के माध्यम से)

    root@kitploit:~
    brew install open-ocd
    
  • Windows (MSYS2 के माध्यम से)

    root@kitploit:~
    pacman -S mingw-w64-x86_64-openocd
    

ये पैकेज अक्सर ब्लीडिंग-एज Git मेनलाइन की तुलना में अधिक स्थिर होते हैं, जहाँ सक्रिय विकास होता है। "पैकेजर्स" डेवलपर्स द्वारा नए स्रोत कोड रिलीज़ प्रकाशित करने के बाद OpenOCD के बाइनरी रिलीज़ बनाते हैं। पुराने OpenOCD संस्करण वर्तमान रिलीज़ में समस्याओं के निदान के लिए उपयुक्त नहीं हैं। उपयोगकर्ताओं को यह सुनिश्चित करने के लिए अपने वितरण रखरखावकर्ताओं या इंटरफ़ेस विक्रेताओं के संपर्क में रहना चाहिए कि उचित अपडेट नियमित रूप से प्रदान किए जाएँ।

यदि आप इनमें से किसी एक बाइनरी पैकेज का उपयोग करते हैं, तो आपको समर्थन या नए बाइनरी संस्करणों के लिए पैकेजर से संपर्क करना होगा। OpenOCD डेवलपर्स पैकेज्ड बाइनरी के लिए प्रत्यक्ष समर्थन प्रदान नहीं करते हैं।

OpenOCD पैकेजर्स के लिए एक नोट

आप OpenOCD के पैकेजर हैं यदि आप:

  • डोंगल बेचते हैं और प्री-बिल्ट बाइनरी शामिल करते हैं;
  • उपकरण या IDE प्रदान करते हैं (एक विकास समाधान जो OpenOCD को एकीकृत करता है);
  • पैकेज बनाते हैं (जैसे GNU/Linux वितरण के लिए RPM या DEB फ़ाइलें)।

एक पैकेजर के रूप में, आप अधिकांश मुद्दों की पहली रिपोर्ट का अनुभव करेंगे। जब आप अपने उपयोगकर्ताओं के लिए उन समस्याओं को ठीक करते हैं, तो आपका समाधान अन्य उपयोगकर्ताओं के सैकड़ों (यदि हजारों नहीं) प्रश्नों को रोकने में मदद कर सकता है।

यदि आपके लिए कुछ काम नहीं करता है, तो कृपया OpenOCD डेवलपर्स को सूचित करने का प्रयास करें कि सिस्टम या दस्तावेज़ीकरण को कैसे बेहतर बनाया जाए ताकि भविष्य की समस्याओं से बचा जा सके, और हमारी सहायता करने के लिए अनुवर्ती कार्रवाई करें ताकि यह सुनिश्चित हो सके कि मुद्दा हमारे भविष्य के रिलीज़ में पूरी तरह से हल हो गया है।

ऐसा कहा जा रहा है, OpenOCD डेवलपर्स यह भी चाहेंगे कि आप कुछ सुझावों का पालन करें:

  • पैच, कॉन्फ़िग फ़ाइलों सहित, अपस्ट्रीम भेजें, चर्चाओं में भाग लें;
  • OpenOCD द्वारा समर्थित सभी विकल्पों को सक्षम करें, भले ही वे आपके विशेष हार्डवेयर से संबंधित न हों;
  • FTDI-आधारित उपकरणों के लिए "ftdi" इंटरफ़ेस एडेप्टर ड्राइवर का उपयोग करें।

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

इन-ट्री दस्तावेज़ीकरण के अलावा, नवीनतम मैनुअल निम्नलिखित URL पर ऑनलाइन देखे जा सकते हैं:

  • OpenOCD उपयोगकर्ता गाइड: http://openocd.org/doc/html/index.html

  • OpenOCD डेवलपर मैनुअल: http://openocd.org/doc/doxygen/html/index.html

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

अधिक जानकारी के लिए, इन दस्तावेज़ों का संदर्भ लें या OpenOCD डेवलपर मेलिंग सूची की सदस्यता लेकर डेवलपर्स से संपर्क करें: [email protected]

OpenOCD दस्तावेज़ीकरण का निर्माण

डिफ़ॉल्ट रूप से OpenOCD बिल्ड प्रक्रिया "Info प्रारूप" में दस्तावेज़ तैयार करती है और इसे मानक तरीके से स्थापित करती है, ताकि info openocd इस तक पहुँच सके।

इसके अतिरिक्त, OpenOCD उपयोगकर्ता गाइड निम्नलिखित विभिन्न प्रारूपों में तैयार किया जा सकता है:

यदि PDFVIEWER सेट है, तो यह PDF उपयोगकर्ता गाइड बनाता और देखता है।

root@kitploit:~
make pdf && ${PDFVIEWER} doc/openocd.pdf

यदि HTMLVIEWER सेट है, तो यह HTML उपयोगकर्ता गाइड बनाता और देखता है।

root@kitploit:~
make html && ${HTMLVIEWER} doc/openocd.html/index.html

OpenOCD डेवलपर मैनुअल में आंतरिक वास्तुकला और कोड के बारे में अन्य विवरणों के बारे में जानकारी है:

नोट: सुनिश्चित करें कि doxygen स्थापित है, doxygen --version टाइप करें

root@kitploit:~
make doxygen && ${HTMLVIEWER} doxygen/index.html

समर्थित हार्डवेयर

JTAG एडेप्टर

AM335x, ARM-JTAG-EW, ARM-USB-OCD, ARM-USB-TINY, AT91RM9200, axm0432, BCM2835, Bus Blaster, Buspirate, Cadence DPI, Cadence vdebug, Chameleon, CMSIS-DAP, Cortino, Cypress KitProg, DENX, Digilent JTAG-SMT2, DLC 5, DLP-USB1232H, embedded projects, Espressif USB JTAG Programmer, eStick, FlashLINK, FlossJTAG, Flyswatter, Flyswatter2, FTDI FT232R, Gateworks, Hoegl, ICDI, ICEBear, J-Link, JTAG VPI, JTAGkey, JTAGkey2, JTAG-lock-pick, KT-Link, Linux GPIOD, Lisa/L, LPC1768-Stick, Mellanox rshim, MiniModule, NGX, Nuvoton Nu-Link, Nu-Link2, NXHX, NXP IMX GPIO, OOCDLink, Opendous, OpenJTAG, Openmoko, OpenRD, OSBDM, Presto, Redbee, Remote Bitbang, RLink, SheevaPlug devkit, Stellaris evkits, ST-LINK (SWO tracing supported), STM32-PerformanceStick, STR9-comStick, sysfsgpio, Tigard, TI XDS110, TUMPA, Turtelizer, ULINK, USB-A9260, USB-Blaster, USB-JTAG, USBprog, VPACLink, VSLLink, Wiggler, XDS100v2, Xilinx XVC/PCIe, Xverve.

डिबग टार्गेट

ARM: AArch64, ARM11, ARM7, ARM9, Cortex-A/R (v7-A/R), Cortex-M (ARMv{6/7/8}-M), FA526, Feroceon/Dragonite, XScale. ARCv2, AVR32, DSP563xx, DSP5680xx, EnSilica eSi-RISC, EJTAG (MIPS32, MIPS64), ESP32, ESP32-S2, ESP32-S3, Intel Quark, LS102x-SAP, RISC-V, ST STM8, Xtensa.

फ्लैश ड्राइवर

ADUC702x, AT91SAM, AT91SAM9 (NAND), ATH79, ATmega128RFA1, Atmel SAM, AVR, CFI, DSP5680xx, EFM32, EM357, eSi-RISC, eSi-TSMC, EZR32HG, FM3, FM4, Freedom E SPI, GD32, i.MX31, Kinetis, LPC8xx/LPC1xxx/LPC2xxx/LPC541xx, LPC2900, LPC3180, LPC32xx, LPCSPIFI, Marvell QSPI, MAX32, Milandr, MXC, NIIET, nRF51, nRF52 , NuMicro, NUC910, Nuvoton NPCX, onsemi RSL10, Orion/Kirkwood, PIC32mx, PSoC4/5LP/6, Raspberry RP2040, Renesas RPC HF and SH QSPI, S3C24xx, S3C6400, SiM3x, SiFive Freedom E, Stellaris, ST BlueNRG, STM32, STM32 QUAD/OCTO-SPI for Flash/FRAM/EEPROM, STMSMI, STR7x, STR9x, SWM050, TI CC13xx, TI CC26xx, TI CC32xx, TI MSP432, Winner Micro w600, Xilinx XCF, XMC1xxx, XMC4xxx.

OpenOCD का निर्माण

INSTALL फ़ाइल में configure चलाने और OpenOCD स्रोत कोड को संकलित करने के लिए सामान्य निर्देश हैं। वह फ़ाइल सभी GNU ऑटोटूल्स पैकेजों के लिए डिफ़ॉल्ट रूप से प्रदान की जाती है। यदि आप GNU ऑटोटूल्स से परिचित नहीं हैं, तो आपको पहले उन निर्देशों को पढ़ना चाहिए।

नोट: यदि INSTALL फ़ाइल मौजूद नहीं है, तो इसका मतलब है कि आप किसी OpenOCD रिलीज़ से नहीं, बल्कि किसी विकास शाखा से स्रोत कोड का उपयोग कर रहे हैं। इस स्थिति में, नीचे 'Compiling OpenOCD' निर्देशों का पालन करें और फ़ाइल पहले कमांड ./bootstrap द्वारा बनाई जाएगी।

इस दस्तावेज़ का शेष भाग उन लोगों के लिए कुछ निर्देश प्रदान करने का प्रयास करता है जो त्वरित-स्थापना की तलाश में हैं।

OpenOCD निर्भरताएँ

OpenOCD बनाने के लिए वर्तमान में GCC या Clang आवश्यक है। डेवलपर्स ने सख्त कोड चेतावनियाँ (-Wall, -Werror, -Wextra, और अधिक) लागू करना शुरू कर दिया है और C99-विशिष्ट सुविधाओं का उपयोग करते हैं: इनलाइन फ़ंक्शन, नामित आरंभकर्ता, कोड के साथ घोषणाओं का मिश्रण, और अन्य तरकीबें। जबकि अन्य कंपाइलरों का उपयोग करना संभव हो सकता है, उन्हें कुछ हद तक आधुनिक होना चाहिए और GCC-विशिष्ट एक्सटेंशन को सशर्त रूप से हटाने के लिए समर्थन का विस्तार करने की आवश्यकता हो सकती है।

आपको निम्नलिखित की भी आवश्यकता होगी:

  • make
  • libtool
  • pkg-config >= 0.23 या pkgconf
  • libjim >= 0.79

इसके अतिरिक्त, Git से निर्माण के लिए:

  • autoconf >= 2.69
  • automake >= 1.14
  • texinfo >= 5.0

वैकल्पिक USB-आधारित एडेप्टर ड्राइवरों को libusb-1.0 की आवश्यकता है।

वैकल्पिक USB-Blaster, ASIX Presto और OpenJTAG इंटरफ़ेस एडेप्टर ड्राइवरों को libftdi लाइब्रेरी की आवश्यकता है।

वैकल्पिक CMSIS-DAP एडेप्टर ड्राइवर को HIDAPI लाइब्रेरी की आवश्यकता है।

वैकल्पिक linuxgpiod एडेप्टर ड्राइवर को libgpiod लाइब्रेरी की आवश्यकता है।

वैकल्पिक J-Link एडेप्टर ड्राइवर को libjaylink लाइब्रेरी की आवश्यकता है।

वैकल्पिक ARM डिसअसेंबली को कैपस्टोन लाइब्रेरी की आवश्यकता है।

वैकल्पिक विकास स्क्रिप्ट checkpatch को आवश्यकता है:

  • perl
  • python
  • python-ply
  • pymarkdownlnt

OpenOCD का संकलन

OpenOCD बनाने के लिए, कमांड के निम्नलिखित अनुक्रम का उपयोग करें:

root@kitploit:~
./bootstrap
./configure [options]
make
sudo make install

bootstrap कमांड केवल Git रिपॉजिटरी से निर्माण करते समय आवश्यक है। configure चरण OpenOCD बनाने के लिए आवश्यक Makefiles उत्पन्न करता है, आमतौर पर इसे एक या अधिक विकल्पों के साथ प्रदान किया जाता है। पहला 'make' चरण OpenOCD बनाएगा और अंतिम निष्पादन योग्य './src/' में रखेगा। अंतिम (वैकल्पिक) चरण, make install, सभी फ़ाइलों को आवश्यक स्थान पर रखता है।

सभी समर्थित विकल्पों की सूची देखने के लिए, ./configure --help चलाएँ

क्रॉस-कंपाइलिंग विकल्प

क्रॉस-कंपाइलिंग मानक ऑटोटूल्स तरीके से समर्थित है, आपको बस --host विकल्प में क्रॉस-कंपाइलिंग टार्गेट ट्रिपलेट निर्दिष्ट करना होगा, उदाहरण के लिए Debian पर MinGW के साथ Windows 32-बिट के लिए क्रॉस-बिल्डिंग:

root@kitploit:~
./configure --host=i686-w64-mingw32 [options]

क्रॉस-कंपाइलिंग के लिए pkg-config को ठीक से काम करने के लिए, आपको https://autotools.io/pkgconfig/cross-compiling.html पर वर्णित एक अतिरिक्त रैपर स्क्रिप्ट की आवश्यकता हो सकती है।

यह pkg-config को यह बताने के लिए आवश्यक है कि OpenOCD जिन टार्गेट लाइब्रेरीज़ पर निर्भर करता है, उन्हें कहाँ देखना है। वैकल्पिक रूप से, आप सीधे *_CFLAGS और *_LIBS पर्यावरण चर निर्दिष्ट कर सकते हैं, विवरण के लिए ./configure --help देखें।

एक अधिक या कम पूर्ण स्क्रिप्ट के लिए जो यह सब आपके लिए करती है, contrib/cross-build.sh देखें।

समानांतर पोर्ट डोंगल

यदि आप PPDEV इंटरफ़ेस का उपयोग करके समानांतर पोर्ट तक पहुँचना चाहते हैं, तो आपको --enable-parport और --enable-parport-ppdev दोनों निर्दिष्ट करना होगा, क्योंकि बाद का विकल्प parport ड्राइवर का एक विकल्प है।

यही बात --enable-parport-giveio विकल्प के लिए भी सत्य है, यदि आप ioperm समानांतर पोर्ट एक्सेस विधि के बजाय giveio का उपयोग करना चाहते हैं तो आपको --enable-parport और --enable-parport-giveio दोनों विकल्पों का उपयोग करना होगा।

Git से OpenOCD प्राप्त करना

आप मुख्य रिपॉजिटरी से अपनी पसंद के Git क्लाइंट के साथ वर्तमान Git संस्करण डाउनलोड कर सकते हैं: git://git.code.sf.net/p/openocd/code

आप एक मिरर का उपयोग करना पसंद कर सकते हैं:

  • http://repo.or.cz/r/openocd.git
  • git://repo.or.cz/openocd.git

Git कमांड लाइन क्लाइंट का उपयोग करके, आप वर्तमान रिपॉजिटरी की एक स्थानीय प्रतिलिपि स्थापित करने के लिए निम्नलिखित कमांड का उपयोग कर सकते हैं (सुनिश्चित करें कि वर्तमान निर्देशिका में "openocd" नामक कोई निर्देशिका नहीं है):

root@kitploit:~
git clone git://git.code.sf.net/p/openocd/code openocd

फिर आप git pull का उपयोग करके इसे अपनी सुविधानुसार अपडेट कर सकते हैं।

एक gitweb इंटरफ़ेस भी है, जिसका उपयोग आप या तो रिपॉजिटरी ब्राउज़ करने या HTTP का उपयोग करके मनमाने स्नैपशॉट डाउनलोड करने के लिए कर सकते हैं: http://repo.or.cz/w/openocd.git।

स्नैपशॉट स्रोत ट्री के संपीड़ित टारबॉल हैं, इस लेखन के समय प्रत्येक लगभग 1.3 MBytes।

अनुमति प्रतिनिधिमंडल

सुरक्षा कारणों से रूट/प्रशासनिक अनुमतियों के साथ OpenOCD चलाने की दृढ़ता से अनुशंसा नहीं की जाती है।

GNU/Linux पर USB उपकरणों के लिए आपको contrib/60-openocd.rules फ़ाइल का उपयोग करना चाहिए। यह संभवतः /etc/udev/rules.d में कहीं है, लेकिन सुनिश्चित करने के लिए अपने ऑपरेटिंग सिस्टम के दस्तावेज़ीकरण से परामर्श लें। अपने आप को "plugdev" समूह में जोड़ना न भूलें।

GNU/Linux और FreeBSD पर समानांतर पोर्ट एडेप्टर के लिए कृपया अपने "ppdev" (parport* या ppi*) डिवाइस नोड अनुमतियों को तदनुसार बदलें।

Windows पर parport एडेप्टर के लिए आपको सामान्य उपयोगकर्ताओं को सीधे "LPT" रजिस्टरों तक पहुँचने की अनुमति देने के लिए install_giveio.bat चलाना होगा (Cygwin के साथ "ioperm" का उपयोग करना भी संभव है)।

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