PDA

View Full Version : SEH Protector 3.5.2 UnpackMe



Nima NT
پنج شنبه 16 مهر 1388, 00:57 صبح
با عرض سلام و خسته نباشید خدمت اساتید گرامی
ممنون میشم اگر لطف کرده و میزان امنیت این UnpackMe رو بررسی بفرمائید.
فایل Loader با ASProtect پک شده و هدف اصلی بیرون کشیدن فایل نهایی از حافظه هستش.
این UnpackMe با تمامی ویندوزها سازگار هست.
با تشکر از وقتی که میذارید.

----
ممنونم.:لبخندساده:

sepehrst
پنج شنبه 16 مهر 1388, 12:32 عصر
سطح امنیت: 1/10

یک امتیاز بدلیل زمان لازم جهت بازسازی ساختار فایل PE اصلی میباشد. این تنها نقطه قوت پروتکتور است. پروتکت کردن فایل با پروتکتورهای اضافی نظیر ASProtect و ... هیچ تاثیری در میزان امنیت ندارد.

Nima NT
پنج شنبه 16 مهر 1388, 12:35 عصر
با تشکر
ممنون میشم اگر در مورد سیستم آنتی دیباگ اون هم یه توضیحی بدید ؛ آیا سیستم وجود دیباگر رو برای شما شناسایی کرد ؟
پیدا کردن OEP در فایلهای Visual Basic معمولا" خیلی ساده هست ؛ آیا ضعف سیستم امنیتی به همین دلیل بود که بنده فایل هدف رو از VB انتخاب کرده بودم ؟

sepehrst
پنج شنبه 16 مهر 1388, 12:59 عصر
سیستم آنتی دیباگ بصورت مقطعی دیباگر را شناسایی میکرد، بنابراین قابل اطمینان نیست.
(بعد از چتد بار restart برنامه بدون بستن دیباگر، سیستم آنتی دیباگ از کار می افتاد).

در ضمن پروسس دوم بصورت محافظت نشده در حافظه قرار میگرفت و فقط ساختار PE تخریب میشد که قابل باز سازی است و بنابراین سیستم آنتی دیباگ هم نقش چندانی بازی نمیکنه. ممکنه پیدا کردن OEP فایلهای VB راحتتر باشه اما از آنجایی که پروسس دوم(اصلی) محافظت نشده، پیدا کردن OEP در مورد کامپایلر های دیگه فقط زمان بیشتری میبره. استفاده از startup code اختصاصی در مورد کامپایلرهایی که این امکان رو دارند مثل C، میتونه کارو کمی مشکل تر بکنه. که کاملا جدا از توانایی های پروتکتور مورد استفاده هست.
باز تا نظر بقیه دوستان چی باشه.

Nima NT
پنج شنبه 16 مهر 1388, 13:08 عصر
بازهم از توضیحاتتون بسیار متشکرم.
ممنون میشم اگر در مورد Start up Code کمی توضیح بفرمائید که چی هست ؟
البته کمی در این مورد جستجو کردم و مطالبی هم پیدا کردم ولی نمیدونم به اصل هدف رسیدم یا خیر ولی اونطوری که متوجه شدم شاید بشه با استفاده از SingFake بشه همین کار رو شبیه سازی کرد تا OEP اصلی تا حدودی از دید کراکر پنهان بمونه. ( البته در این مورد فکر کنم Code Section باید رمز بشه ).
درست میگم ؟

sepehrst
پنج شنبه 16 مهر 1388, 14:10 عصر
منظور از Strartup Code، کدی هست که مثلا در برنامه ++C/C تابع main رو فراخانی میکنه و Startup Code همون OEP شما هست.
دلیل اینکه میتونه کمی کارو مشکل تر بکنه این هست که شناسایی OEP از روی ظاهرش سخت میشه. چون دیگه شبیه کدهای مورد استفاده و شناخته شده در C,Delphi,... نیست.
البته روی این موضوع نمیشه خیلی حساب باز کرد.

یک مورد دیگه هست که به ذهنم میرسه(اگر فرصت پیش بیاد تست میکنم) و اون اینه که به احتمال زیاد آدرس OEP پروسس دوم قبل از resume شدن آن توسط پروسس اول، در هدر PE اصلی(هدف) که در حافظه لود شده، موجود هست (چون ntdll.dll باید آدرس OEP رو داشته باشه تا بتونه فایل رو بدرستی اجرا کنه) و بعد از اینکه که پروسس دوم به OEP رسید، پروسس اول آدرس OEP پروسس دوم رو عوض(خراب) میکنه. که اگه اینطور باشه، دیگه اصلا فرقی نمیکنه که فایل هدف VB باشه یا نه.

بنظر من، در مورد این پروتکتور، بازسازی ساختار PE خیلی مشکل تر از پیدا کردن OEP هست.

Nima NT
پنج شنبه 16 مهر 1388, 14:47 عصر
بازهم ممنونم.
با اینکار ( تخریب ساختارهای حیاتی PE ) سعی کردم جلوی ابزارهای Generic رو بگیرم ؛ به نظر شما آیا موفق بودم ؟

sepehrst
پنج شنبه 16 مهر 1388, 15:30 عصر
فعلا که بله. ولی شایدم بشه براش ابزار Generic نوشت. ابزار Generic هم حتما نباید کاملا اتوماتیک باشند.

البته من یکم search کردم. ظاهرا این پروتکتور کار گروه Under SEH Team هست. شما خودت اینو طراحی کردی؟ یا تو این گروه هستی؟

Nima NT
پنج شنبه 16 مهر 1388, 15:52 عصر
:لبخند:
بنده همون Gladiator هستم.
نسخه Free اون به زودی Release عمومی میشه.

GioTiN
سه شنبه 21 مهر 1388, 06:45 صبح
خب گلادياتور مي بينم كه آنپك مي ايي كه گذاشته بودي آنپك شد
:لبخند::لبخند::لبخند:

حالا اشكالي نداره بزودي با هم ميشينيم و يه ورژن باحال تر شو مينويسيم :بامزه:
باي :چشمک: