REA ان فائلوں سے مقامی JavaScript یا Electron ایپ کا نقشہ بنا سکتا ہے جنہیں دیکھنے کی آپ کو اجازت ہے، چاہے آپ کے پاس اس کا سورس ٹری نہ ہو۔ مفید نتیجہ ایک رویے کے شواہد کا سلسلہ ہے: کون سا ماڈیول اسے ظاہر کرتا ہے، کال کہاں پروسیس کی حد پار کرتی ہے، اور کن حصوں کی الگ جانچ درکار ہے۔ یہ رہنما استعمال کرتا ہے REA منصوبے کی موجودہ دستاویزاتجن کی 14 اکتوبر 2026 کو جانچ کی گئی۔ BIG CHANGE نے کسی ایپ پر REA نہیں چلایا۔
بڑی تبدیلی
- کیا بدلا:REA کو دیے گئے ایپ ڈائریکٹری یا ASAR سے ماڈیولز، امپورٹس، سورس میپس، روٹس اور Electron IPC کا منظم نقشہ فراہم کرتا ہے۔ ہر نتیجہ ان فائلوں کی طرف رہنمائی کر سکتا ہے جن سے وہ اخذ ہوا۔
- یہ کیوں اہم ہے:ایک فیچر کی تحقیق کرنے والا ڈویلپر دستی معائنے کا فیصلہ کرنے سے پہلے پیکج شدہ ایپ میں نامزد API یا IPC چینل کا سراغ لگا سکتا ہے۔ سوال محدود اور شواہد کی جانچ آسان ہو جاتی ہے۔
- کس بات پر نظر رکھیں:جامد کوڈ راستے امکانات ہیں، اس بات کا ثبوت نہیں کہ ایپ استعمال کے دوران انہی راستوں پر چلتی ہے۔ کسی خاص رویے کے دعوے کے لیے مجاز ہدف پر آزاد مشاہدہ یا آزمائش درکار ہے۔
شروع کرنے سے پہلے
یہ رہنما اس ڈویلپر کے لیے ہے جو مقامی JavaScript یا Electron ایپ کا مالک ہو یا اسے جانچنے کی اجازت رکھتا ہو۔ آپ کو نکالی گئی ایپ ڈائریکٹری یا اس کی app.asar فائل اور اس کا مکمل راستہ درکار ہے۔ REA کا پیکیج مینی فیسٹ درج کرتا ہے rea-agents نسخہ 6.4.0 اور Node.js 22.x سلسلے میں 22.19 یا بعد کا، 24.x میں 24.11 یا بعد کا، یا 26 اور اس کے بعد کا نسخہ درکار ہے۔ npm بھی چاہیے۔ Linux پر REA کے جامد JavaScript/Electron تجزیے کے لیے procps سے مطابقت رکھنے والا ps بھی درکار ہے، REA کے PATH پروسیس کی ملکیت کی جانچ کے لیے، جیسا کہ اس کی تنصیب کی رہنما دستاویز بتاتی ہے۔ یہ REA چلانے والے میزبان کی ضروریات ہیں، ہدف ایپ چلانے کی ضروریات سے الگ۔
جامد JavaScript طریقۂ کار کے لیے Hopper، Ghidra، IDA، براؤزر یا چلتا ہوا Electron عمل درکار نہیں۔ یہ اوزار REA کے دوسرے طریقۂ کار سے متعلق ہیں۔ ہدف کی جانچ کے اپنے اختیار کی تصدیق کریں اور اصل فائلوں کی نقل محفوظ رکھیں تاکہ معلوم ہو سکے کہ نتیجہ کس artifact سے آیا۔ تنصیب کے لیے سرکاری morluto/rea ریپوزٹری یا اس سے منسلک npm پیکیج استعمال کریں؛ ملتا جلتا نام ماخذ کا ثبوت نہیں۔
1. REA ترتیب دیں یا ایک بار کا CLI استعمال کریں
منسلک کوڈنگ ایجنٹ کے لیے دستاویزی ترتیب کمانڈ یہ ہے:
npx rea-agents setupایجنٹ کی ترتیب میں مجوزہ تبدیلیاں دیکھیں، مطلوبہ تبدیلیوں کی منظوری دیں، پھر ایجنٹ دوبارہ شروع کریں۔ اگر صرف ٹرمینل سے معائنہ درکار ہو تو نیچے دی گئی دستاویزی کمانڈ اس اجرا کے لیے پیکیج چلاتی ہے۔ @latest چلانے کے وقت دستیاب تازہ ترین ریلیز منتخب کرتا ہے؛ نتیجے کی تفصیل بدل سکتی ہے، اس لیے شواہد کے ساتھ طے شدہ نسخہ درج کریں۔ اوپر کا 6.4.0 وہ نسخہ ہے جو 14 اکتوبر کی اس مضمون کی جانچ پر منصوبے کے مینی فیسٹ میں تھا۔
2. فراہم کردہ فائلوں کا تجزیہ کریں
مثالی راستے کی جگہ اپنے مجاز ایپ فولڈر یا ASAR کا مکمل راستہ دیں:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json > app-evidence.json CLI رہنما خبردار کرتی ہے کہ مکمل Evidence بہت بڑا ہو سکتا ہے۔ اسے فائل میں محفوظ کریں، پھر خلاصہ یا منتخب ماڈیول کا منظر پڑھیں۔ پورا نتیجہ پرامپٹ میں نہ چسپاں کریں۔ کمانڈ ناکام ہو تو تشخیص کے لیے خطا اور ہدف کا راستہ محفوظ رکھیں؛ صفر اختتامی کوڈ کے باوجود کوریج ادھوری، تنبیہات یا غیر حل شدہ نتائج ممکن ہیں۔ Windows کے لیے README میں ایسا راستہ دکھایا گیا ہے: . "D:/apps/example"artifact reconstruction حوالہ
بتاتا ہے کہ یہ عمل ایپ چلائے بغیر منتخب فائلوں کو ڈیٹا کے طور پر پڑھتا ہے۔ یہ artifact راستوں اور digest کی فہرست بناتا، دستیاب JavaScript اور TypeScript کو پڑھتا، اور ممکنہ entrypoints، imports، source maps، routes، network endpoints، Electron preload اور renderer کے روابط، APIs، IPC calls اور handlers، نیز native add-on requests رپورٹ کرتا ہے۔ متوقع نتیجہ Evidence ریکارڈ ہے جس میں گراف، جامد Electron خلاصہ، کوریج اور حدود شامل ہیں۔ رپورٹ شدہ binding ایک قابلِ معائنہ تعلق ہے، اس native module کی decoding نہیں۔ contextBridge 3. ایک محدود فیچر کا سراغ لگائیں .node ایسا فیچر منتخب کریں جس کا نام تلاش کیا جا سکے، مثلاً مینو کا عمل یا سامنے رکھا گیا API طریقہ۔ صارف کے سامنے آنے والا نام درج کریں اور REA نتیجے میں متعلقہ ماڈیول، لفظی IPC چینل یا route تلاش کریں۔ بتائی گئی source جگہوں کو ترتیب سے دیکھیں: renderer یا صفحے کی کال، preload bridge، IPC ترسیل، متعلقہ main-process handler، پھر وہ فائل یا service operation جسے handler چلاتا ہے۔ REA کی
Electron CSV مثال
یہ نمونہ دکھاتی ہے اور چینل کے ساتھ main-process writer۔ یہ نمونے کی ایپ کے نام ہیں؛ آپ کے ہدف کے نام مختلف ہوں گے۔ notes.exportCsv() ، یعنی notes:export channel اور main-process writer ہے۔ یہ نمونے کی ایپ کے نام ہیں؛ آپ کے ہدف میں نام مختلف ہوں گے۔
ہر ربط کے لیے artifact digest، فائل کا راستہ، مقام اور کوڈ حقیقتاً کیا دکھاتا ہے، درج کریں۔ ایک handler سے جڑے لفظی channel کو حساب سے بننے والے channel یا مبہم جوڑ سے الگ رکھیں۔ کسی module یا handler کو غائب قرار دینے سے پہلے coverage اور limitations والے حصے دیکھیں۔ REA کے مطابق خراب یا دستیاب نہ ہونے والی فائلیں، ASAR کے ساتھی bytes کی کمی، حل نہ ہونے والے expressions اور محدود analysis تعلقات کو نامعلوم چھوڑ سکتے ہیں۔ Source map اصل source کے نام دکھا سکتا ہے، مگر یہ آلہ اصل source tree کی ضمانت نہیں دیتا۔
4. رویے کو الگ سے جانچیں
جامد سراغ سے ایک قابلِ تردید دعویٰ لکھیں، مثلاً یہ action اس channel کو چلاتا ہے اور handler اس قسم کی فائل لکھتا ہے۔ پھر منظور شدہ test ماحول میں صرف یہی action کریں اور نتیجہ براہِ راست دیکھیں: بنائی گئی فائل، بدلی ہوئی حالت یا اپنے اختیار کے تحت جمع کیا گیا trace۔ ایپ کا version، artifact digest، test کے مراحل اور مشاہدہ شدہ نتیجہ درج کریں۔ اگر ایپ چلانے کی اجازت نہیں تو دعویٰ کو جامد code path تک محدود رکھیں۔ REA کی مثال بھی کہتی ہے کہ اخذ کردہ path کو runtime capture سے جانچا جا سکتا ہے؛ صرف static graph یہ نہیں دکھاتا کہ کون سی branch چلی۔
آپ اس وقت کامیاب ہیں جب دوسرا developer انہی source مقامات کی شناخت کر سکے، static pairing کی حدود دیکھ سکے اور آپ کا محدود check دہرا سکے۔ صرف analysis command کا کامیاب ہونا runtime رویے کی تصدیق نہیں کرتا اور نہ ہی ایپ کی وفادار دوبارہ تشکیل ثابت کرتا ہے۔
اگر نتیجہ نامکمل ہو
پہلے دیکھیں کہ path مکمل نکالی گئی directory یا ASAR کی طرف ہے اور کوئی درکار .asar.unpacked ساتھی فائلیں موجود ہیں۔ REA کی coverage اور diagnostics دیکھیں؛ غائب یا ناکام source منفی نتیجہ نہیں بلکہ نامعلوم ہوتا ہے۔ بڑی ایپ کے لیے حوالہ میں عین --source-path selections درج کرنے کا طریقہ ہے، مگر منتخب نہ کی گئی فائلیں analysis کے دائرے سے باہر رہتی ہیں۔ اگر literal IPC match مبہم ہو یا channel حساب سے بنتا ہو تو حوالے دی گئی فائلیں دیکھیں اور سوال محدود کریں۔ ابہام باقی رہے تو آخری نوٹس میں اسے برقرار رکھیں۔
REA کا code MIT licensed ہے، مگر target software اور بیرونی analysis engine کی اپنی شرائط اور licenses ہیں۔ Static analysis target files کو مقامی طور پر process کرتا ہے۔ اگر آپ REA کے نتائج coding agent کو دیں تو اس model provider کی اپنی data policy ہے؛ اپنی تنظیم کی منظوری سے پہلے secrets یا proprietary output نہ بھیجیں۔ اپنے agent اور کسی optional engine کی terms اور costs بھی دیکھیں۔ یہاں کا طریقہ اور package version دستاویزات سے 14 اکتوبر 2026 کو جانچے گئے ہیں۔



