با سلام.
در این تاپیک می خوام کلا آموزش Unpack کردن انواع پکرها ها رو بزارم...
چون بحث پکرها و آنپکرها یه معقوله ای جدا هستش...و باید دانش بالایی در این زمینه داشته باشید...
به طور کلی 3 روش برای آنپک کردن وجود دارد:
1- automated static unpacking
2- automated dynamic unpacking
3- manual dynamic unpacking
روش اول میشه گفت سریعترین روش هستش و اگه کارکنه بهترین روش هستش ولی مسلما روی پکرهای محدودی ازین روش میشه استفاده کرد البته نه همه ی ورژن هاشون :مثل پکرهای NSPack, UPX, UPack
روش دوم به برنامه پک شده اجازه اجرا شدن داده میشه تا Unpacking Stub وظیفش رو انجام بده و پس از اتمام اون از برنامه ی آنپک شده دامپ گرفته میشه.توی این روش مهمترین مسئله یافتن انتهای Unpacking Stub هستش که اگه اشتباه این کار انجام بشه فایل آنپک شده ناقص خواهد بود.
روش سوم مطمئن ترین روش هستش چون همه چیز بصورت دستی انجام میشه....و از همه مشکل تر هم هستش.
دو روش رایج برای انجام این کار:
1- جستجوی الگوریتم پک و نوشتن برنامه ای که عکس آنرا انجام دهد.
2- اجرای برنامه ی پک شده و دامپ گرفتن و فیکس کردن PE header (بازسازی import table و تغییر EP برنامه به OEP )