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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
recurse — एजेंटिक रिवर्स इंजीनियरिंग IDE, जिसमें बाइनरी विश्लेषण और CTF कार्य के लिए शुद्ध-Rust मल्टी-आर्किटेक्चर डिसअसेंबलर, नेटिव डीकंपाइलर, डीबगर और LLM एजेंट शामिल है। | Kitploit
उपकरण/GitHubGitHub/recurse-labs/recurse
स्थैतिक विश्लेषणगतिशील विश्लेषण (सैंडबॉक्सिंग)रिवर्स इंजीनियरिंगडीबगर्समालवेयर विश्लेषणCTFबाइनरी विश्लेषणलर्निंग और शिक्षाAI-सहायित रिवर्सिंगAI सुरक्षा
GitHubrecurse-labs/recurse
21416721 दिन पहलेKitploit द्वारा समीक्षित

recurse

एजेंटिक रिवर्स इंजीनियरिंग IDE, जिसमें बाइनरी विश्लेषण और CTF कार्य के लिए शुद्ध-Rust मल्टी-आर्किटेक्चर डिसअसेंबलर, नेटिव डीकंपाइलर, डीबगर और LLM एजेंट शामिल है।

रिपॉजिटरी देखेंवेबसाइट

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

सभी देखें →

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

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

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

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

Recurse

एजेंटिक रिवर्स इंजीनियरिंग वातावरण — "रिवर्स इंजीनियरिंग के लिए Cursor" की भावना में एक Ghidra-श्रेणी का डेस्कटॉप ऐप। Tauri 2 (React + TypeScript फ्रंटएंड) के साथ एक प्लग करने योग्य विश्लेषण बैकएंड के ऊपर बनाया गया। डिफ़ॉल्ट एक शुद्ध-Rust नेटिव इंजन है — कोई बाहरी प्रक्रिया नहीं, कोई copyleft निर्भरता नहीं, Capstone के माध्यम से बहु-आर्किटेक्चर। आप r2 (radare2) के माध्यम से भी विश्लेषण चला सकते हैं: इसे इंस्टॉल करें, इसे इंजन के रूप में चुनें, और पूरा ऐप — एजेंट टूल्स और UI — इसके बजाय इसे चलाता है। एजेंट टूल और UI बैकएंड-अज्ञेय हैं — देखें docs/backends.md।

Recurse demo

रिपॉज़िटरी लेआउट

रूट पर Cargo वर्कस्पेस; डेस्कटॉप ऐप इसमें एक पैकेज है।

root@kitploit:~
tauri/                   desktop app (Tauri + React)
  src/                     React frontend
  src-tauri/               Tauri Rust backend (engine sessions, agent wiring)
  package.json             app scripts (Vite, Vitest, Tauri CLI)
crates/
  recurse-agent/              agent framework: LLM loop, tool runtime, SQLite memory
  recurse-static/          static analysis: ELF/PE/Mach-O parsing, multi-arch disassembly,
                           CFG and cross-reference recovery, the engine seam
  recurse-vtil/            VTIL-inspired de-obfuscation/de-virtualization IL, lifter, optimizer
  recurse-mcp/             standalone headless MCP server (stdio) over the engine — no Tauri, no IDA
  recurse-debug/           cross-platform debugger (ptrace/Mach/Win32, breakpoints, stepping)
  recurse-eval/            headless eval harness (YAML-configured tiers)
justfile                 single entry point for both halves

recurse-agent केवल एजेंट है; स्टैटिक विश्लेषण recurse-static में और डीबगर recurse-debug में रहता है, इसलिए एजेंट वह सिस्टम कोड भी नहीं खींचता जिसका वह उपयोग नहीं करता। कोई भी क्रेट Tauri पर निर्भर नहीं है, और प्रत्येक स्वतंत्र रूप से बिल्ड/टेस्ट होता है; recurse-eval एजेंट को हेडलेस रूप से चलाता है। सभी वर्कस्पेस सदस्य हैं, इसलिए एक Cargo.lock और एक target/ पूरे रेपो को कवर करते हैं।

विशेषताएँ

  • Cursor-शैली वर्कस्पेस: फ़ंक्शन सूची, disassembly/strings/imports टैब, CFG ग्राफ़, और एक चैट एजेंट साइडबार (Chat बटन या Ctrl+L से टॉगल करें)
  • Recon पेज: बाइनरी जानकारी, MD5/SHA1/SHA256/CRC32 हैश, एन्ट्रॉपी, लिंक्ड लाइब्रेरी, एक स्व-निहित हार्डनिंग रिपोर्ट (RELRO / PIE / NX / canary / FORTIFY / RPATH — कोई बाहरी checksec नहीं), और विश्लेषण गणनाएँ
  • सूची से फ़ंक्शन का नाम बदलें (डबल-क्लिक या ✎ बटन); नाम SQLite में बने रहते हैं और फ़ंक्शन सूची, disassembly एनोटेशन, और एजेंट को दिखाई देते हैं
  • ग्राउंडेड एजेंट: प्रत्येक पता एक क्लिक करने योग्य ऑब्जेक्ट है (फ़ंक्शन सूची, ग्राफ़ नोड्स, xrefs, decompiler एनोटेशन) — पेस्ट किया गया टेक्स्ट नहीं जिसे मॉडल hallucinate कर सकता है
  • किसी भी बाइनरी पर लाइव विश्लेषण सत्र — बिना एक्सटेंशन वाली फ़ाइलों सहित
  • FTS5/BM25 रिट्रीवल के साथ SQLite में स्थायी प्रोजेक्ट मेमोरी — नाम बदलना, निष्कर्ष और नोट्स /clear और पुनः खोलने के बाद भी बने रहते हैं, और अगले सत्र को सीड करते हैं
  • हेडलेस कोर (recurse-agent) प्रति-टर्न डीबग ट्रेसिंग के साथ; वही एजेंट लूप UI में और eval harness में चलता है
  • OpenAI-संगत एंडपॉइंट (डिफ़ॉल्ट रूप से OpenRouter) द्वारा समर्थित LLM एजेंट एक मॉडल पिकर के साथ; सत्र को सीधे चलाता है (disasm, xrefs, strings, imports, decompile)
  • Tailwind CSS v4 + shadcn/ui के साथ बनाया गया डार्क-फर्स्ट UI
  • lift ऑप: एक फ़ंक्शन को VTIL-शैली de-obfuscation IL में उठाता है और उस पर पूरे-रूटीन propagation/folding/dead-code-elimination/branch-resolution पास चलाता है — उपयोगी जब disassembly VM dispatcher या opaque-predicate श्रृंखला जैसी दिखती है (देखें docs/vtil-lift.md)
  • नेटिव decompiler: decompile उसी recurse-vtil पाइपलाइन से C-जैसा pseudocode (if/while संरचना, कुल निर्देश कवरेज) प्रस्तुत करता है — कोई बाहरी टूल नहीं, r2 आवश्यक नहीं
  • स्टैंडअलोन recurse-mcp सर्वर: किसी भी MCP-सक्षम एजेंट (Claude Code, Cursor, Claude Desktop, …) के लिए MCP stdio पर वही Engine — कोई Tauri नहीं, कोई IDA सीट नहीं, कोई Python ब्रिज नहीं (देखें docs/recurse-mcp.md)

विश्लेषण बैकएंड

विश्लेषण एक ही Engine ट्रेट (crates/recurse-static/src/engine.rs) से होकर जाता है, इसलिए इंजन एक विकल्प है, कठोर निर्भरता नहीं:

  • native (डिफ़ॉल्ट) — शुद्ध-Rust ELF/PE/Mach-O पार्सिंग और बहु-आर्किटेक्चर disassembly (object + capstone): x86/x86-64, ARM, AArch64, MIPS, PowerPC, RISC-V, SPARC, SystemZ, M68K, BPF। कोई चाइल्ड प्रोसेस नहीं, कोई बाहरी टूल नहीं, बिल्ड में कोई LGPL नहीं। इसमें एक decompiler (recurse-vtil की lift → optimize → structure पाइपलाइन — देखें docs/vtil-lift.md) और VTIL-शैली de-obfuscation के लिए एक lift ऑप शामिल है।
  • r2 (radare2) — उन इंस्टॉल के लिए opt-in विकल्प के रूप में समर्थित जो इसका अपना, अधिक पूर्ण decompiler या एक रॉ कंसोल चाहते हैं। r2 इंस्टॉल करें और इसे इंजन के रूप में चुनें; यह एक अलग प्रक्रिया के रूप में चलता है और कभी भी Recurse के साथ लिंक या बंडल नहीं किया जाता।

सेटिंग्स मेनू, RECURSE_BACKEND एनवायरनमेंट वेरिएबल, या संग्रहीत कॉन्फ़िग से चुनें। एजेंट को एक बैकएंड-न्यूट्रल analyze टूल मिलता है (functions, disasm, graph, lift, decompile, xrefs, strings, imports, info, साथ ही इंजन कंसोल के लिए raw) — सक्रिय इंजन वास्तव में जिन ऑप्स का समर्थन करता है उन्हीं तक फ़िल्टर किया गया, इसलिए raw (नेटिव में कोई कंसोल नहीं) केवल उपलब्ध होने पर ही विज्ञापित किया जाता है। UI किसी भी इंजन के JSON को नहीं, बल्कि कैनोनिकल परिणाम प्रकारों का उपभोग करता है। ट्रेट, क्रेट विकल्पों, और लाइसेंसिंग तर्क के लिए देखें docs/backends.md। एक बड़ी बाइनरी खोलना तेज़ है क्योंकि विश्लेषण lazy है — डिस्कवरी फ़ंक्शन को सस्ते में इंडेक्स करती है और बेसिक ब्लॉक केवल तब डिकोड होते हैं जब किसी फ़ंक्शन को देखा जाता है; देखें docs/lazy-analysis.md।

सिर्फ MCP-to-IDA क्यों नहीं / Claude Code में इसे yolo क्यों नहीं करें?

IDA/Ghidra पर एक MCP सर्वर स्टेपल करना, या CLI एजेंट में disassembly पेस्ट करना, 5-फ़ंक्शन CTFs के लिए काम करता है और वास्तविक बाइनरी पर विफल हो जाता है। Recurse एक उद्देश्य-निर्मित वातावरण है, चैटबॉट रैपर नहीं:

  • बाइनरी वर्ल्ड-मॉडल, टेक्स्ट स्क्रैपिंग नहीं। फ़ंक्शन, xrefs, strings और CFG एजेंट और UI द्वारा साझा किए गए प्रथम-श्रेणी राज्य हैं। हर टर्न पर pdF डंप को कॉन्टेक्स्ट में फिर से पार्स करने की आवश्यकता नहीं, कोई आविष्कृत 0x401023 नहीं।
  • सत्यापन > जनरेशन। RE में कोई npm test नहीं होता — सत्यापन दृश्यात्मक है। एजेंट के नाम बदलाव तुरंत फ़ंक्शन सूची, ग्राफ़ और decompile में प्रसारित होते हैं, इसलिए एक मानव एक क्लिक में पुष्टि या अस्वीकार करता है।
  • स्केल के लिए निर्मित। वास्तविक मैलवेयर 10k फ़ंक्शन का होता है। मांग-संचालित टूल + स्थायी मेमोरी पूर्ण decompiles को डंप करने से बेहतर है जब तक कॉन्टेक्स्ट OOM न हो जाए।
  • एजेंटेबल इंजन। एक स्क्रिप्टेबल, पाइपेबल इंजन का मतलब है कि एजेंट 100 टर्न चला सकते हैं, फोर्क कर सकते हैं, रीसेट और डिफ कर सकते हैं — और आप वास्तव में इसे शिप कर सकते हैं। डिफ़ॉल्ट नेटिव इंजन को किसी बाहरी टूल की आवश्यकता नहीं है।
  • डिफ़ॉल्ट रूप से मैलवेयर-सुरक्षित। लोकल-फर्स्ट, BYO-key/OpenRouter रूटिंग, और ऑफ़लाइन मॉडल तक का पथ — क्लाउड चैटबॉट को नमूनों का जबरन exfil नहीं।

पूर्वापेक्षाएँ

1. कोर टूलचेन

ToolVersion (tested)Install
Node.js≥ 20 (23.11 used)https://nodejs.org or nvm
npm≥ 10ships with Node.js
Rust≥ 1.77 (1.97 used)https://rustup.rs
cargo—ships with Rust (rustup)

सत्यापित करें:

root@kitploit:~
node --version && npm --version && rustc --version && cargo --version

2. विश्लेषण इंजन

डिफ़ॉल्ट native इंजन शुद्ध Rust है — इंस्टॉल करने के लिए कुछ नहीं। इसके बजाय r2 (radare2) को विश्लेषण इंजन के रूप में उपयोग करने के लिए, इसे इंस्टॉल करें और इसे चुनें (सेटिंग्स मेनू, या RECURSE_BACKEND=r2); Recurse आपके PATH पर r2 बाइनरी को चलाता है। r2 वैकल्पिक है, बिल्ड द्वारा कभी आवश्यक नहीं है, और कभी भी Recurse के साथ वितरित नहीं किया जाता — अपना इंस्टॉल लाएँ।

3. Tauri Linux सिस्टम निर्भरताएँ

Debian/Ubuntu/Pop!_OS:

root@kitploit:~
sudo apt update
sudo apt install -y libwebkit2gtk-4.1-dev build-essential \
  curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev

अन्य डिस्ट्रो: आधिकारिक Tauri prerequisites का पालन करें।

4. Decompiler

दोनों इंजन एक प्रदान करते हैं: native recurse-vtil (lift → optimize → structure — देखें docs/vtil-lift.md) के माध्यम से pseudocode प्रस्तुत करता है, इंस्टॉल करने के लिए कुछ नहीं; r2 अपना अधिक पूर्ण decompiler प्रदान कर सकता है जब इसका प्लगइन इंस्टॉल हो।

बिल्ड

ऐप निर्भरताएँ tauri/ में रहती हैं; Rust वर्कस्पेस रूट से आता है। just दोनों को रैप करता है (देखें just --list), या उन्हें सीधे चलाएँ।

विकास

root@kitploit:~
just dev
# equivalent: cd tauri && npm install && npm run tauri dev

यह Vite dev सर्वर शुरू करता है और Tauri विंडो लॉन्च करता है। पहला कंपाइल कुछ समय लेता है (Rust बिल्ड); बाद के कंपाइल तेज़ होते हैं।

प्रोडक्शन बाइनरी

root@kitploit:~
just build
# equivalent: cd tauri && npm run tauri build

बंडल target/release/bundle/ में आता है (वर्कस्पेस टारगेट):

  • Linux के लिए .deb / .rpm / .AppImage
  • target/release/recurse पर स्टैंडअलोन बाइनरी

Arch और अन्य रोलिंग डिस्ट्रो पर AppImage चरण को एक बार का स्थानीय फिक्स चाहिए (अपस्ट्रीम linuxdeploy डिस्ट्रो टूलचेन से पीछे है) — देखें docs/linux-appimage-build.md।

केवल फ्रंटएंड (कोई डेस्कटॉप शेल नहीं)

root@kitploit:~
just preview
# equivalent: cd tauri && npm run build && npm run preview

गुणवत्ता जाँच

root@kitploit:~
just lint        # cargo clippy --workspace + eslint
just fmt         # cargo fmt --all + prettier
just fmt-check   # verify without writing
just test        # cargo test --workspace + vitest

समतुल्य सीधे कमांड: रूट पर cargo clippy --workspace --all-targets, cargo test --workspace; tauri/ के अंदर npm run lint / npm run format / npm run build।

Evals

एजेंट का मूल्यांकन crackme tiers के विरुद्ध हेडलेस रूप से किया जाता है (देखें crates/recurse-eval/README.md)। Tiers YAML हैं: डेटासेट पर चयन फ़िल्टर, या एक फ्रोज़न hexid सूची, साथ ही रन नॉब्स।

root@kitploit:~
just eval-fetch   # download the tier's binaries
just eval-test    # harness self-tests (no API key needed, no LLM calls)
just eval-run     # run the tier — the only way to execute an eval YAML

eval-run एक बाइनरी है, टेस्ट नहीं, इसलिए cargo test कभी भी एजेंट पर पैसा या समय खर्च नहीं करता। एंडपॉइंट + कुंजी crates/recurse-eval/.env में जाते हैं (.env.example कॉपी करें)। प्रत्येक रन target/eval-traces/<tier>/<backend>/run.log (पूरी कथा) साथ ही प्रति कार्य एक <hexid>.json पूर्ण प्रति-टर्न बातचीत के साथ लिखता है। बैकएंड (native या r2) प्रति रन चयन योग्य है — eval README देखें।

एजेंट LLM

एजेंट चैट पैनल किसी भी OpenAI-संगत एंडपॉइंट पर चलता है। API कुंजी, बेस URL, और मॉडल को इन-ऐप Model & Provider डायलॉग से कॉन्फ़िगर करें (जो ~/.recurse/recurse.db में संग्रहीत होता है), या env के माध्यम से:

root@kitploit:~
# Hosted provider (default)
export RECURSE_LLM_API_KEY=sk-or-...   # or OPENROUTER_API_KEY
export RECURSE_LLM_ENDPOINT=https://openrouter.ai/api/v1/chat/completions  # optional
export RECURSE_LLM_MODEL=openrouter/auto  # optional

लोकल मॉडल / कस्टम बेस URL

एजेंट को किसी भी लोकल या स्व-होस्टेड OpenAI-संगत सर्वर पर इंगित करें — Ollama, LM Studio, llama.cpp का llama-server, vLLM, text-generation-webui, या एक रिमोट गेटवे। डायलॉग में Base URL सेट करें (एक बेयर बेस URL या पूर्ण /chat/completions रूट दोनों काम करते हैं) और उस सर्वर की कैटलॉग से एक मॉडल चुनें, या सीधे एक मॉडल आईडी (llama3.1:8b, qwen2.5-coder, …) टाइप करें:

root@kitploit:~
export RECURSE_LLM_ENDPOINT=http://localhost:11434/v1   # Ollama
export RECURSE_LLM_MODEL=llama3.1:8b
export RECURSE_LLM_API_KEY=           # usually unnecessary locally

लोकल एंडपॉइंट को API कुंजी की आवश्यकता नहीं है: जब कुंजी खाली होती है तो अनुरोध बिना Authorization हेडर के भेजा जाता है, और मॉडल सूची एंडपॉइंट के अपने {base}/models से पढ़ी जाती है। एक कस्टम एंडपॉइंट को बिना कुंजी के कॉन्फ़िगर माना जाता है, इसलिए चैट लोकल सर्वर के विरुद्ध तुरंत काम करती है।

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

एजेंट लाइव बाइनरी कॉन्टेक्स्ट (arch, bits, type) देखता है और सत्र के माध्यम से पूरी विश्लेषण सतह (disassembly, xrefs, strings, imports, decompilation) चला सकता है।

लाइसेंस

Apache-2.0 — © 2026 Aayush Khanna

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