امروزه یکی از داغ ترین و قدرتمند ترین زمینه های امنیت سایبری مبحث مهندسی معکوس(Reverse Engineering) میباشد. اگر بخواهیم مفهوم و فرآیند مهندسی معکوس را توصیف کنیم و توضیح دهیم میتوانیم به این شکل بیان کنیم که مهندسی معکوس یعنی پی بردن به معماری و پشته یک سخت افزار ویا نرم افزار. حال ممکن است برایتان سوال شود که فرایند مهندسی معکوس به چه صورت است؟ ابتدا میبایست شواهد و اساندی در رابطه با یک نرم افزار خاصی که میخواهید آنرا مهندسی معکوس کنید داشته باشید اگر نه میبایست با بررسی فرآیند کار نرم افزار و جمع آوری اطلاعات در رابطه با آن به شواهد و اسناد مورد نظر دست یابید.
انواع دلایل مختلف و متعددی برای اینکار وجود دارد که چندتا از این دلایل عبارتند از:
برای اینکه یک فرآیند مهندسی معکوس را بر روی یک نرم افزار را شروع کنید ابتدا میبایستی دانش کافی در آن زمینه و رابطه داشته باشید علاوه بر این نیاز به ابزار های قدرتمندی دارید که فرآیند مهندسی معکوس را با آنها پیش ببرید.
داشتن دانش تئوری در رابطه با مهندسی معکوس میتواند در اکثر زمینه مهندسی معکوس بهکارتان آید زیرا اکثر مباحث در زمینه های مختلف مهندسی معکوس به صورت مشترک میباشند. از جمله از این دانشهای نظری داشتن تسلط بر روی زبان های برنامه نویسی(ترجیحا زبان های همچون C و Assembly) داشتن تسلط بر روی Compiler ها و داشتن دانش متداول در رابطه با ساختار نرم افزار
خب حال شاید برای شما سوال شود که متداول ترین نرم افزار های که توسط افرادی که در زمینه مهندسی معکوس نرم افزار فعالیت دارند استفاده میشود کدامند و هرکدام چه کاربردی را برای افراد فراهم میسازند
این نرم افزار جزوه شناخته شده ترین و معروف ترین نرم افزار های Decompile سازی نرم افزار های اندرویدی میباشد و کافیست نرم افزار را به آن بدید تا به طور کامل به تمامی Source-Code آن دسترسی پیدا کند.
برای استفاده از این نرم افزار به عنوان Decompile سازی Source نرم افزار های اندرویدی میبایستی بدین شکل از آن استفاده کنید
apktool d TargetFile.apk
یکی از بهترین نرم افزار ها در زمینه آنالیز نرم افزار ها و مهندسی معکوس آنها میباشد که قابلیت های بسیار زیادی را از حمله Assembler سازی کد ها برای بهترین جلو بردن فرایند، امکان اجرای Script های متنوع همچون Mona.py، بهترین نرم افزار برای استفاده مهندسی معکوس سازی نرم افزارهای که Source آنها دردسترس نیست همچنین در زمینه شکستن لایسنس نرم افزارها نیز میتواند نرم افزار بسیار قدرتمندی باشد.
برای اینکه بتوانید یک نرم افزار را در آن اجرا سازید میباشد از قسمت زرد رنگ بالا سمت چپ نرم افزار مورد نظرتان را اجرا سازی کنید
فایل های با فرما Apk یا فایل های نصبی اندرویدی اصولا هیچ چیز خاصی نیستند جز یک فایل با فرمت Zip و اگر شما فرمت آنرا به Zip تقییر دهید راحت میتوانید محتویات درون آن را استخراج سازید، ولی با اینکار نمیتوانید به Source نرم افزار دستیابید اما در هنگام اینکار فایلی را میبینید تحت عنوان Class.dex که تمامی Source نرم افزار اندرویدی در آن قرار دارد. نرم افزار Dex2jar همانطور که از اسم آن هم میتوان حدس زد یک نرم افزار میباشد که فایل های .Dex یا همان Class.dex را استخراج سازیم و به فرمت Jar تبدیل کنیم که راحت تر به Source دستیابیم.
نحوه استفاده از این نرم افزار بدین شکل است که ابتدا مسیر فایل Class.dex را معرفی میکنید
پس از آن Enter کرده و مسیر فایل .Jar جدید ایجاد شده را به شما نمایش میدهد
حال خیلی راحت با یک File Manger میتوانید آنرا ببینید در مسیر مورد نظر
پس از استخراج سازی Source از Class.dex و تبدیل آن به فایل های .Jar میبایستی که آن با بازکنیم و بتوانیم به طور کامل به آن دسترسی داشته باشیم، اینجاست که نرم افزاری تحت عنوان JD-GUI به روی کار میآید که اینکار را برایمان انجام دهد. البته این نرم افزار توانایی نمایش Source فایل های .Class را نیز دارد. برای کار با آن میبایست از آیکون پوشه بالا سمت چپ استفاده کرده و فایلاتان را انتخاب سازید و آنرا اجرا کنید
نویسنده: امیرحسین تنگسیری نژاد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو
متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider میباشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود