← सूची पर वापस जाएँ

सभी सॉफ्टवेयर को उलट दें: REA गिटहब 58,000 स्टार चला जाता है, अजेंट एक प्रश्न में बदल जाता है।

itadol5j

गिटहब ने हाल ही में किसी अन्य परियोजना को आग लगाई है: REA। उपयोगकर्ता ने कहा कि यह "42,000 स्टार" था, लेकिन आज (10 अक्टूबर 2026) की संख्या बढ़ी है। 58,000 स्टार, 11,000 फोर्क- वे कहते हैं। और यह क्या करता है कि आप एक ही बात कह सकते हैं: आप इसे किसी भी सॉफ़्टवेयर को रिवर्स करने के लिए उपयोग करते हैं, इसे एप्लिकेशन से मूल बाइनरी में खोदते हैं।

रिवर्स इंजीनियरिंग और angent सहयोग अवधारणा चित्र

I. REA: क्या वास्तव में समस्या है?

पारंपरिक रिवर्स "मैन संकलन पढ़ने के लिए कुछ दिनों के लिए एक काउंटर कम्पाइलर में बैठता है" है। REA का विचार एक एंटी-circulator ( हॉपर, Ghidra या IDA के साथ मूल कोड) पर angent डालना है और फिर जावास्क्रिप्ट के लिए स्थैतिक विश्लेषक से जुड़ना है। नेट Angent उपकरण पर सवाल करने, निष्कर्ष एकत्र करने और सबूत वापस सौंपने के लिए जिम्मेदार है।

इसका README exemplifier बिक्री का पूरा बिंदु है: "क्या नोट एप्लिकेशन में खोज कैसे काम करती है, मुझे सबूत दिखाते हैं, और मेरी परियोजना के लिए एक समान विशेषता करते हैं। आपको क्या मिला एक स्पष्टीकरण, एक कोड स्थान और आपको जो कुछ पता नहीं है उसकी एक सूची है।

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

ii. कौन सा लक्ष्य खाने के लिए

REA एक व्यापक समर्थन आधार है, जो अनिवार्य रूप से आम रिवर्स वस्तुओं को कवर करता है:

  • मूल बाइनरी: छद्मकोड, संकलन, स्ट्रिंग्स, प्रतीकों, कॉल और संदर्भ (हॉपर / गिड्रा / आईडीए की आवश्यकता)
  • ऑफलाइन ईएलएफ लेआउट: पैराग्राफ, अनुभाग, मूल प्रतीक/स्थिति, स्थैतिक शमन उम्मीदवार
  • जावास्क्रिप्ट / इलेक्ट्रॉन: मॉड्यूल, आयात, स्रोत मानचित्र, मार्ग, प्राथमिक प्लगइन के संबंध (प्राथमिक इंजन के बिना स्थैतिक विश्लेषण)
  • वेबसाइटपृष्ठ संरचना, स्क्रिप्ट, वेब अवलोकन और स्क्रीनशॉट
  • .NET प्रोग्राम संग्रह: मेटाडाटा, CIL आदेश, मूल निर्भरता बनाम निर्माण की घोषणा (शुद्ध स्थैतिक)
  • एंड्रॉयड APKलिस्ट स्टेटमेंट, क्लास, रिवर्स ट्रांसलेशन विधि और संदर्भ (हेडलेस JADX + फुल JDK की जरूरत है)
  • ठोस: विभाजन, निष्कर्षण मूल विश्लेषण के साथ प्रतिच्छेदित (inwalk / Unblob की जरूरत)
  • EVM बाइट्स, लॉगिन लिनक्स दुर्घटनाएं, हैरा हड़पने, प्रक्रिया व्यवहारप्रतीक्षा करें

पर्यावरण आवश्यकताओं: Node.js 22.x (≥22.19), 24.x (≥24.11) या 26+, प्लस npm। समर्थित एजेंटों में क्लाउड कोड, कोडेक्स, कर्सोर, मिथुन सीएलआई, ग्रोक बिल्ड आदि शामिल हैं - किसी भी एजेंट जो स्थानीय MCP सर्वर का समर्थन करते हैं, मूल रूप से कार्यात्मक होते हैं। एक आदेश स्थापित करें:npx rea-agents setup, यह MCP सर्वर को पंजीकृत करेगा और साथ में कार्यप्रवाह विवरण लिखेगा, और फिर एनटी को पुनरारंभ करेगा।

MCP द्वारा टूल चेन को रिवर्स करने के लिए

क्या यह साबित हो सकता है?

स्टार नंबर गर्मी और केस परिणाम का प्रतिनिधित्व करते हैं। आरईए अधिकारी ने तीन शोकेस को "क्या कर सकते हैं" और "क्या नहीं कर सकते" से बाहर रखा।

केस 1: DX-Ball के लिए ध्वनि क्षेत्र सूत्र

प्रश्न: 1990 के दशक में DX-Ball ने ईंटों की क्षैतिज स्थिति को बाएं / दाएं ध्वनि क्षेत्र में कैसे परिवर्तित किया? काउंटर कम्पाइलर में है 0x406400 केवल एक अनुरक्षित इनपुट देखा गया था __ftol() कॉल; कमांड में लापता संदर्भ [EBP+8]मुझे नहीं पता। कॉलर का पालन करें 0x411f40 निर्देशन सूत्र पाया 20 + 30 × tile_x, और स्मृति 1.5625, 500.0 और प्रारंभिक ध्वनिक स्केलिंग 1.0 से तीन स्थिरांक पढ़ा।

अंततः बहाल होने वाला नियम यह है: 1.5625, माइनस 500.0, संग्रहीत ध्वनिक क्षेत्र द्वारा गुणा करके और फिर काट दिया। बाएं किनारे -500, केंद्र 0, दाहिने किनारे 500 के साथ ज़ूम करने के लिए। क्या वास्तव में विश्वास बनाता है प्रमाणीकरण का साधन है: लेखक मूल x86 फ़ंक्शन और नए C संस्करण (0-640 पूर्ण पदों को कवर करने, 0/05/1/20-1 स्केलिंग) के माध्यम से 3205 उदाहरण चलाता है, और निश्चित VC 4.0 टूल श्रृंखला के तहत बाइट्स मूल 63 बाइट्स से मेल खाते हैं। संपूर्ण परियोजना रिपोर्ट में 55 C कार्य, 45380 तुलना रखी गई है।

यह साबित नहीं हुआ।खेल के पीछे के अंत में ध्वनि क्षेत्र को जोड़ने के लिए कदम अभी भी पूरा किया जा रहा है, और खेलने योग्य उत्पाद अधूरी है; काम DX-Ball 1.07 पर एक निश्चित हैश से जुड़ा हुआ है; "अनुमोदित और चेक किए गए स्थिरांक का संकलन मैनुअल समीक्षा पर निर्भर है" पूरी तरह से स्वचालित नहीं है।

केस 2: नोटियन क्लिप बोर्ड को कॉपी कैसे करें

'90s द्विआधारी से एक आधुनिक इलेक्ट्रॉन अनुप्रयोग तक कूदो। प्रश्न: नोटियन डेस्कटॉप 7.6.1 सिस्टम क्लिपबोर्ड में टेक्स्ट और एचटीएमएल कैसे लिखें? चार खंडों में पथ: प्रीलोड स्क्रिप्ट पृष्ठ के संपर्क में clipboard.writeकुछ चैनलों पर एक रैपर कॉलिंग ipcRenderer.invokeमुख्य प्रक्रिया ipcMain.handle प्राप्त करना; इलेक्ट्रॉन प्रेषक द्वारा clipboard.write क्रैश। दोनों तरफ एक ही चैनल का नाम है। notion:clipboard:writeमुझे नहीं पता।

दो खोजों को याद रखने के लायक हैं: मुख्य प्रक्रिया हैंडलर यह सत्यापित करेगा कि कौन से पृष्ठ ने अनुरोध भेजा है, और केवल नोटियन के पास क्लिपबोर्ड तक पहुंचने के लिए अपना खुद का वेब सेट है - यह सही स्थिति है जिसके लिए इलेक्ट्रॉन को लागू करना चाहिए; दूसरा यह है कि प्रतिलिपि में छिपे हुए डेटा का एक टुकड़ा है, एचटीएमएल में एक टिप्पणी के साथ नॉटियन को Mimetypes को अनुकूलित करने के लिए। text/_notion-blocks-v3-production स्थानीय रूप से संग्रहीत ब्लॉक डेटा। आईडी द्वारा चिपकाए जाने पर प्रविष्टि को उलट देता है, और प्रविष्टि समाप्त होने पर मूल पाठ +HTML लौटाता है।

यह साबित नहीं हुआ।REA 4.1.0 केवल लेबल प्रीलोड का विश्लेषण करता है, API को उजागर करता है और invoke कॉल, रैपर का एहसास है कि लेखक मैन्युअल रूप से पढ़ने और चैनल को प्राप्तकर्ता से जोड़ता है; क्लिपबोर्ड का निष्कर्ष 13 जुलाई 2026 के वेब संसाधन और सेवर कैश से है, लाइव डेस्कटॉप सत्र से नहीं।

केस 3: पीसी-98 गेम रिंग के लिए प्लेस्क्रीन

वापस 16 बिट DOS कोड तक। GERA कार्यक्रम DOS विश्लेषण के 16 बिट्स का समर्थन करता है। लेखक निश्चित कोणों को पुनर्स्थापित करता है और एक बम पर्दा रिंग के पीछे कोणों का लक्ष्य करता है, उन्हें C++ के साथ पुनर्निर्माण करता है और उन्हें ऐतिहासिक compiler के उत्पादन के साथ तुलना करता है। आकार DX-Ball के समान हैं: गणना के एक छोटे अंश को बहाल करें, इसे पुनर्निर्माण करें और फिर उस स्पष्टीकरण में विश्वास करने के बजाय इसे मूल उत्पाद के साथ प्रमाणित करें।

चार तीन मामलों को एक साथ रखें।

  • यह बहुत संकीर्ण है।एक ध्वनिक सूत्र, एक क्लिपबोर्ड पथ, एक बुलेट पर्दा रिंग, और कोई मामला नहीं कहता है "पूरे आवेदन का पुनर्निर्माण"।
  • सबूत संलग्न है।पता, स्थिर, 3205 परीक्षण, चैनल नाम, संग्रहीत जांच, compiler तुलना।
  • सभी मैनुअल चरणों में भर्ती हुए।मैन्युअल रूप से समीक्षा की गई, मैन्युअल रूप से पढ़ने वाली रैपर, कम्पाइलर मिलान।
  • लक्ष्य निश्चित संस्करण हैं।DX-Ball 1.07 हैश, नोटियन 7.6.1, मूल PC-98 द्विआधारी के साथ।

यह आज का ईमानदार फ्रंटियर है:एजेंट व्यक्तिगत व्यवहार को ट्रैक करने के लिए एक त्वरित, बेकार सहायक है और यह साबित करता है कि आप फिर से चल सकते हैं।

मामलों की वैधता और साक्ष्य की श्रृंखला

V. डेवलपर्स के लिए इसका क्या मतलब है

यदि आप एजेंट अनुप्रयोग कर रहे हैं, तो REA एक नया पैटर्न का प्रतिनिधित्व करता है: मॉडल "गेज" को सीधे इस बारे में बताने के बजाय कि एक प्रोग्राम कैसे चलता है, आप मॉडल को एक पेशेवर रिवर्स टूल पर डालकर इसे साक्ष्य पर बात करने के लिए डाल देते हैं। इसका मूल्य "एक कुंजी पूरे सॉफ्टवेयर को उलट देता है" नहीं है, लेकिन यह रिवर्स थ्रेसहोल्ड को "पढ़ने वाले संकलन" से "question + मान्य" में स्थानांतरित करने जा रहा है।

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

स्थानीय विश्लेषण, सबूत और प्रमाणीकरण loops

यह कैसे करे?

  • पर्यावरण: Node.js 22.x (≥22.19) / 24.x (≥24.11) / 26+, प्लस npm
  • प्रथम कुंजी स्थापना:npx rea-agents setup, अपने anent का चयन, समीक्षा और परिवर्तन को मंजूरी दे दी, और एक anent पुनः आरंभ
  • वैश्विक स्थापना:npm install --global rea-agentsबाद में उपलब्ध rea --help
  • स्टेटिक JS/Electron विश्लेषण:npx -y rea-agents@latest analyze-javascript-application /abs/path --json
  • प्राथमिक विश्लेषण: प्रदाता (Hopper/Ghidra/IDA) का पूर्व विन्यास
  • अपडेट:rea updateफिर से चलाते हैं। npx rea-agents@latest setup

रिवर्स "पढ़ने संकलन" से "question + सत्यापन" तक चल रहा है - उपकरण ने दहलीज को कम कर दिया है, लेकिन सबूत अभी भी परीक्षण किया जाना है।