Mr. SAM – Telegram
Mr. SAM
147 subscribers
131 photos
7 videos
23 files
751 links
جمعه
۱۲ ‏( دی = ۱۰ )‏ ۱٤۰٤
‏2 ( ژانویه = january = 1 ) 2026
تکنیک‌ها ، کالبدشکافی ، درک عمیق ، یک قدم جلوتر ...
https://news.1rj.ru/str/boost/NullError_ir
Download Telegram
#Reverse_Engineering

دیگر ابزارهای نوین
علاوه بر هوش مصنوعی، چند حوزه دیگر نیز در دنیای مهندسی معکوس باینری بسیار پرحرارت دنبال می‌شوند:

۱. تحلیل ترکیبی (Hybrid Analysis):
ابزارهای قدیمی‌تر معمولاً بر یکی از دو روش تحلیل ایستا (بررسی کد بدون اجرای آن) یا تحلیل پویا (بررسی رفتار برنامه حین اجرا) متمرکز بودند. اما نسل جدید ابزارها این دو رویکرد را به شکلی نوآورانه با هم ترکیب می‌کنند.

ابزار Frinet: این ابزار که ترکیبی از فریمورک‌های قدرتمند Frida (برای تحلیل پویا) و Tenet (برای تحلیل ایستا) است، به تحلیلگر اجازه می‌دهد تا اطلاعات زمان اجرا (مانند مقادیر رجیسترها و حافظه) را مستقیماً روی گراف‌های تحلیل ایستا مشاهده کند. این کار درک برنامه و دنبال کردن جریان داده‌ها را به شدت آسان می‌کند.

پلتفرم esReverse: این ابزار با ارائه یک محیط شبیه‌سازی کامل سیستم (Full-System Emulation)، به تحلیلگران اجازه می‌دهد تا کل یک سیستم‌عامل (مانند ویندوز یا لینوکس) و برنامه‌های درون آن را به صورت «سفر در زمان» دیباگ کنند. این قابلیت برای تحلیل بدافزارهای کرنل-لول یا آسیب‌پذیری‌های پیچیده بی‌نظیر است.

۲. چالش مهندسی معکوس زبان‌های برنامه‌نویسی مدرن
با محبوبیت روزافزون زبان‌هایی مانند Rust و Go در توسعه نرم‌افزار و حتی بدافزارها، چالش‌های جدیدی برای مهندسان معکوس ایجاد شده است. این زبان‌ها به دلیل ویژگی‌های خاص کامپایلر و ساختار متفاوت باینری‌های خروجی، تحلیل را دشوارتر می‌کنند. در نتیجه، بخش بزرگی از تحقیقات اخیر بر توسعه تکنیک‌ها و ابزارهای تخصصی برای موارد زیر متمرکز شده است:
بازیابی نمادها (Symbol Recovery): در باینری‌های Stripped شده (که اطلاعات دیباگ از آن‌ها حذف شده)، تشخیص توابع و متغیرها بسیار سخت است.
تحلیل Concurrency: درک نحوه عملکرد Goroutineها در زبان Go یا مکانیزم‌های همزمانی در Rust نیازمند ابزارهای پیشرفته است.

۳. تمرکز بر تحلیل زنجیره تأمین نرم‌افزار (Software Supply Chain)
یکی از مهم‌ترین و خطرناک‌ترین بردارهای حمله جدید، نفوذ به زنجیره تأمین نرم‌افزار است. ابزارهای نوین مانند Binarly Reachability Analysis با تحلیل عمیق باینری‌ها، مشخص می‌کنند که آیا یک کتابخانه آسیب‌پذیر در یک نرم‌افزار، واقعاً از مسیر کدی قابل دسترس و بهره‌برداری است یا خیر. این تکنیک به شرکت‌ها کمک می‌کند تا به جای رفع همه هشدارها، بر روی آسیب‌پذیری‌های واقعاً خطرناک تمرکز کنند.

به طور خلاصه، در حالی که همیشه کشف آسیب‌پذیری‌های بزرگ مانند Log4j جذابیت رسانه‌ای دارد، تحولات واقعی و «خفن» در دنیای مهندسی معکوس باینری در حال حاضر حول محور ادغام هوش مصنوعی و ابزارهای تحلیل ترکیبی پیشرفته و مقابله با چالش‌های زبان‌های مدرن می‌چرخد.

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
#Reverse_Engineering

۱. ۔Frinet (ابزار فردی و متن‌باز)

این ابزار برای اشخاص و محققان فردی طراحی شده است. Frinet یک پروژه متن‌باز (Open-Source) است که توسط شرکت امنیتی Synacktiv توسعه داده شده و کد آن به رایگان در گیت‌هاب (GitHub) در دسترس است.

نحوه نصب و استفاده:

این ابزار از دو بخش اصلی تشکیل شده است: یک Tracer مبتنی بر Frida و یک پلاگین برای IDA Pro.

1. پیش‌نیاز اصلی: شما برای استفاده کامل از این ابزار به نرم‌افزار تجاری IDA Pro نیاز دارید. بخش اصلی و بصری Frinet به عنوان یک پلاگین روی IDA Pro اجرا می‌شود.

2. دانلود: برای نصب، باید مخزن (Repository) آن را از گیت‌هاب با دستور زیر دریافت کنید. استفاده از فلگ --recursive ضروری است چون خود این پروژه به پروژه‌های دیگری وابسته است:

    git clone --recursive https://github.com/synacktiv/frinet.git

3. راه‌اندازی:

* بخش Tracer: این یک ابزار خط فرمان (Command-line) مبتنی بر پایتون است که با استفاده از فریم‌ورک Frida، اجرای یک تابع در یک برنامه را دنبال (Trace) کرده و گزارش آن را در یک فایل ذخیره می‌کند. این بخش روی ویندوز، لینوکس، اندروید و iOS کار می‌کند.

* بخش پلاگین Tenet: پوشه tenet که از گیت‌هاب دانلود شده را باید در پوشه پلاگین‌های IDA Pro خود کپی کنید. پس از آن، می‌توانید فایل Trace تولید شده توسط Tracer را در IDA Pro باز کرده و به صورت بصری و تعاملی، جریان اجرای کد را همراه با مقادیر رجیسترها و حافظه تحلیل کنید.

خلاصه: Frinet یک ابزار قدرتمند برای افراد است اما رایگان بودن آن مشروط به داشتن لایسنس نرم‌افزار گران‌قیمت IDA Pro است.

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
#Reverse_Engineering

۲. ۔esReverse (پلتفرم سازمانی)

این ابزار یک محصول کاملاً تجاری و سازمانی است. esReverse یک پلتفرم جامع برای تیم‌های مهندسی معکوس، تحلیل بدافزار و تحقیقات امنیتی در شرکت‌ها و سازمان‌های بزرگ است. این نرم‌افزار برای استفاده فردی طراحی نشده و قابل دانلود و نصب نیست.

نحوه دسترسی و استفاده:

1. تماس با شرکت: سازمان‌ها و شرکت‌هایی که به این پلتفرم نیاز دارند باید با شرکت سازنده آن یعنی eShard تماس بگیرند.

2. درخواست دمو (Demo): معمولاً اولین قدم، درخواست یک دموی آنلاین است. در این دمو، کارشناسان eShard قابلیت‌های پلتفرم را متناسب با نیازهای سازمان شما نمایش می‌دهند.

3. خرید لایسنس: در صورت تمایل، سازمان باید لایسنس استفاده از پلتفرم را خریداری کند. این پلتفرم می‌تواند به صورت On-Premises (روی سرورهای خود سازمان) یا در ابر (Cloud) راه‌اندازی شود.

4. استفاده تیمی: پس از راه‌اندازی، این پلتفرم یک محیط تحت وب و مشترک در اختیار تیم‌های امنیتی قرار می‌دهد تا بتوانند پروژه‌های خود را به صورت متمرکز و با ابزارهای یکپارچه انجام دهند.

خلاصه: esReverse برای سازمان‌هاست افراد نمی‌توانند آن را نصب کنند و دسترسی به آن نیازمند عقد قرارداد و پرداخت هزینه توسط یک شرکت است.

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
#Reverse_Engineering

۳. ۔Binarly Reachability Analysis
(سرویس سازمانی)

این ابزار نیز بخشی از یک پلتفرم تجاری و سازمانی است. "تحلیل دسترس‌پذیری" (Reachability Analysis) یکی از قابلیت‌های کلیدی پلتفرم بزرگتری به نام Binarly Transparency Platform است. این پلتفرم برای شرکت‌های تولیدکننده نرم‌افزار و سخت‌افزار طراحی شده تا امنیت زنجیره تأمین (Software Supply Chain) خود را مدیریت کنند.

نحوه دسترسی و استفاده:

روال دسترسی به این سرویس نیز کاملاً مشابه esReverse و مبتنی بر مدل کسب‌وکار به کسب‌وکار (B2B) است.

1. ارتباط با Binarly: سازمان‌های علاقه‌مند باید مستقیماً با شرکت Binarly تماس بگیرند.
2. ارائه نیازمندی‌ها: شرکت‌ها نیازمندی‌های خود در زمینه تحلیل فریم‌ور (Firmware) یا نرم‌افزار را به Binarly اعلام می‌کنند.
3. خرید اشتراک یا سرویس: دسترسی به این پلتفرم از طریق خرید اشتراک (Subnoscription) امکان‌پذیر است. پس از آن، سازمان‌ها می‌توانند فایل‌های باینری خود را در این پلتفرم آپلود کرده و گزارش‌های تحلیلی، از جمله اینکه آیا یک آسیب‌پذیری در کدشان واقعاً قابل دسترس و بهره‌برداری هست یا نه، را دریافت کنند.
4. یکپارچه‌سازی (Integration): این پلتفرم معمولاً از طریق API با فرآیندهای CI/CD (توسعه و یکپارچه‌سازی مداوم) سازمان‌ها یکپارچه می‌شود تا تحلیل‌ها به صورت خودکار انجام شوند.

خلاصه: Binarly یک سرویس برای سازمان‌هاست. این یک ابزار قابل نصب برای افراد نیست، بلکه یک پلتفرم تحلیلی است که شرکت‌ها برای امن‌سازی محصولات خود از آن استفاده می‌کنند.

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
#Reverse_Engineering


هوش مصنوعی در مهندسی معکوس چه می‌کند؟

مدل‌های زبانی بزرگ (LLMs) مثل GPT-4، Claude و مدل‌های متن‌باز مشابه، در حال یادگیری زبان ماشین (کد باینری و اسمبلی) هستند. آن‌ها می‌توانند وظایف بسیار زمان‌بر و پیچیده‌ای را به صورت خودکار انجام دهند:

خلاصه‌سازی کد (Code Summarization): به یک تابع چند صد خطی اسمبلی نگاه می‌کنند و به زبان ساده توضیح می‌دهند که "این تابع مسئول رمزنگاری داده‌ها با الگوریتم AES است."

دی‌کامپایل کردن بهتر (Better Decompilation): دی‌کامپایلرهای سنتی مثل IDA Pro یا Ghidra گاهی کدهای پیچیده و نامفهومی تولید می‌کنند. هوش مصنوعی می‌تواند این کدها را خواناتر کرده و ساختار منطقی آن‌ها را بازسازی کند.

تغییر نام متغیرها و توابع (Renaming Variables/Functions): یکی از خسته‌کننده‌ترین کارها در مهندسی معکوس، پیدا کردن نام بامعنی برای توابع بی‌نام (مثل sub_4010A0) است. هوش مصنوعی با تحلیل عملکرد تابع، نام‌های هوشمندانه‌ای مثل EncryptDataWithAESKey پیشنهاد می‌دهد.

کشف آسیب‌پذیری (Vulnerability Detection): با آموزش مدل روی هزاران نمونه از کدهای آسیب‌پذیر، هوش مصنوعی می‌تواند الگوهای خطرناک (مثل Buffer Overflow) را در یک باینری جدید شناسایی کند.

فکر کنید چند مدل مختلف هوش مصنوعی داریم و هر کدام ادعا می‌کنند در مهندسی معکوس بهترین هستند. چطور بفهمیم کدام یک راست می‌گوید؟ BinMetric دقیقاً برای همین کار ساخته شده.

این بنچمارک شامل مجموعه‌ای استاندارد از ۱۰۰۰ سوال در ۶ حوزه کلیدی مهندسی معکوس است که از پروژه‌های دنیای واقعی استخراج شده‌اند:

1. دی‌کامپایل کردن (Decompilation): تبدیل اسمبلی به کد C.

2. خلاصه‌سازی کد (Code Summarization): توضیح عملکرد یک تابع.

3. ازسازی فراخوانی توابع (Call-Site Reconstruction): تشخیص آرگومان‌های یک تابع.

4. بازیابی امضا (Signature Recovery): شناسایی کتابخانه‌های استفاده شده.

5. طبقه‌بندی الگوریتم (Algorithm Classification): تشخیص اینکه یک قطعه کد چه الگوریتمی (مثلاً مرتب‌سازی حبابی) را پیاده‌سازی می‌کند.

6. تولید کد اسمبلی (Assembly Instruction Generation): نوشتن کد اسمبلی بر اساس توضیحات.

پژوهشگران، مدل هوش مصنوعی خود را با این سوالات تست می‌کنند و امتیاز می‌گیرند. این کار به جامعه علمی کمک می‌کند تا پیشرفت مدل‌ها را به صورت عینی و استاندارد اندازه‌گیری کنند. پس شما از نتایج BinMetric برای انتخاب بهترین مدل یا ابزار استفاده می‌کنید.


@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
#Reverse_Engineering

ابزار در حوزه هوش مصنوعی

این حوزه به سرعت در حال رشد است و چندین ابزار رایگان و متن‌باز (Open-Source) وجود دارد که می‌توانید همین امروز از آن‌ها استفاده کنید. این ابزارها معمولاً به صورت پلاگین برای نرم‌افزارهای معروف مهندسی معکوس عرضه می‌شوند.

۱. پلاگین‌های مبتنی بر هوش مصنوعی برای Ghidra

ابزار Ghidra یک ابزار مهندسی معکوس رایگان خود NSA است، بهترین بستر برای شروع است. چندین پلاگین برای اتصال Ghidra به مدل‌های زبانی بزرگ وجود دارد.

پلاگین Ghidra MCP یک پلاگین بسیار محبوب است که به شما اجازه می‌دهد Ghidra را به مدل‌های هوش مصنوعی مختلف (چه مدل‌های محلی که روی کامپیوتر خودتان اجرا می‌کنید مثل Llama، و چه مدل‌های آنلاین از طریق API مثل OpenAI) متصل کنید.

پلاگین Ghidra GPT Funner این پلاگین به طور خاص برای تغییر نام هوشمندانه توابع با استفاده از مدل‌های GPT طراحی شده است.

ابزار Cutter دانلود آخرین نسخه تا از جدیدترین قابلیت‌ها بهره‌مند شوید.

پلاگینی به نام CutterMCP و نسخه بهبودیافته آن CutterMCP-plus دقیقاً همان کاری را انجام می‌دهد که Ghidra MCP برای Ghidra می‌کند. این پلاگین به عنوان یک سرور عمل کرده و به مدل‌های زبانی بزرگ (LLMs) اجازه می‌دهد تا به قابلیت‌های اصلی Cutter دسترسی پیدا کرده و به صورت خودکار فرآیند مهندسی معکوس را انجام دهند.

چطور کار می‌کند؟

شما پلاگین را نصب می‌کنید، کلید API خود (مثلاً از OpenAI) یا آدرس مدل محلی خود را وارد می‌کنید. سپس می‌توانید روی یک تابع در Ghidra کلیک راست کرده و گزینه‌هایی مانند "Explain this function" یا "Suggest a name for this function" را انتخاب کنید. پلاگین کد اسمبلی را به هوش مصنوعی می‌فرستد و جواب را مستقیماً در محیط Ghidra به شما نشان می‌دهد.

۲. ابزارهای مستقل

فریم‌ورک Angr این یک فریم‌ورک تحلیل باینری بسیار قدرتمند مبتنی بر پایتون است. هرچند به طور مستقیم یک ابزار هوش مصنوعی نیست، اما بستر اصلی بسیاری از تحقیقات دانشگاهی در زمینه استفاده از AI برای تحلیل خودکار برنامه‌ها (مانند پیدا کردن اکسپلویت) است. کار با آن نیاز به مهارت برنامه‌نویسی دارد.


@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Book Resource
🔰 Black Hat Rust 🔰