👈فول فایل فور یو ff4u.ir 👉

شبیه سازی محیط برای جلوگیری از unpack شدن packer ها word

ارتباط با ما

دانلود


شبیه سازی محیط برای جلوگیری از unpack شدن packer ها word
فهرست مطالب
عنوان صفحه
چکیده1
مقدمه2
فصل 1: آغاز سخن
1-1-مقدمه4
1-2- بدافزار های بسته ای 6
1-3- اثر مخرب بد افزار های بسته ای6
1-4-انواع بدافزار های بسته ای شده7
1-4- روش دفاع8
1-5-چگونگی کارکرد بسته ای شده ها9
1-6-انواع ضد بسته ای ها10
1-6-1-ضد بسته ای غیر فعال11
1-6-2- ضد بسته فعال11
1-7-فصل های این پژوهش12
1-8-نتیجه گیری12
فصل 2 : مفاهیم بنیادی
2-1- مقدمه14
2-2- رابط برنامه نویسی کاربردی14
2-2-1- اما نقش رابط برنامه نویسی کاربردی در برنامه نویسی15
2-2-2- علت استفاده از توابع رابط برنامه نویسی کاربردیدربرنامه‌نویسی15
2-2-3 پرونده های DLL16
2-2-4 مشخصات توابع رابط برنامه نویسی کاربردی18
2-2-5 ارائه چند کد برخی از توابع رابط برنامه نویسی کاربردی19
2-3 بلوک محیطی فرآیند29
2-4- جدول آدرس واردات32
2-5- پرونده اجرایی قابل حمل32
2-5-1 - روند اجراي فايل هاي پرونده اجرایی قابل حمل34
فصل 3 : پک و آنپک
3-1-مقدمه37
3-2-شکل برنامه های بسته ای شده ها37
3-3-زیربر نامه باز کننده بسته38
3-4- بارگذاری برنامه قابل اجرا39
3-5- تجزیه و تحلیل داده ها ی ورودی‌40
3-6- talijamp41
3-7 محاسبه بی نظمی ها42
3-8 غیر بسته ای کردن43
3-8-1 خودکار43
3-8-2-غیر خودکار‌44
3-9- یافتن نقطه اصلی ورودی46
3-9-1-استفاده از یک ابزار خودکار در یافتن نقطه ورودی اصلی46
3-9-2-یافتن نقطه ورودی اصلی بصورت دستی47
3-10- اصلاح جدول ورودی بطور دستی51
3-11- راه ها و روش ها برای بسته بندی های رایج53
3-11-1-UPX153
3-11-2- PE Compact54
3-11-3- ASPack54
3-11-4- Petit55
3-11-5-WinUpack56
3-11-6Themida-58
3-12 آنالیز بدون باز کردن کامل59
3-13- DLL بسته شده60
نتیجه گیری61
فصل 4 : ضد اشکال زدایی
4-1- مقدمه63
4-2- آشکار سازی اشکال زدایی63
4-2-1- به وسیله رابط برنامه نویسی کاربردیویندوز63
4-3- بررسی دستی ساختارها66
4-3-1- بررسی نشانه BeingDebugged66
4-3-2- بررسی نشانه Process‌Heap68
4-3-3- بررسی NTGlobalFlag69
4-4- بررسی باقی مانده سیستم70
4-5- تشخیص رفتار اشکال زدا71
4-5-1- اسکن INT71
4-5-2-اجرای حاصل جمع کنترل کد72
4-6- بررسی های زمان73
4-6-1- استفاده از دستور rdtsc73
4-6-2- استفاده از Qurey PErformance counter و Get tikcount74
4-7- رویارویی با قابلیت‌های اشکال زدا75
4-7-1- استفاده از فراخوانی های انبار محلی76
4-8-استفاده از استثناها79
4-9- وارد کردن وقفه ها80
4-9-1- وارد کردن INT381
4-9-2- واردکردنINT2D81
4-9-3- وارد کردنICE82
4-10- آسیب های اشکال زدا82
4-10-1- آسیب های سرآیند82
4-10-2-آسیب output debug string85
4-11- نتیجه گیری85
فصل 5 : مترسک
5-1- مقدمه88
5-2- مترسک چیست؟88
5-3- نمودار کلی کار90
5-4- استفاده از رابط برنامه نویسی کاربردی91
5-3- استفاده از مسیر دستی ساختارها91
۵-۳-۱- الگورینم مترسک با کمک نشانه‌ها92
5-3-2- نمودار الگوریتم قبلی93
5-4- پیاده سازی عملی مترسک94
5-4-2- تابع Get tick count94
5-4-3- الگوریتم ساخت مترسک به کمک تابع Get tick count95
5-4-3- نمودار ساخت مترسک به کمک تابع Get tick count95
5-4-4- نمودار الگوریتم ساخت مترسک به کمک تابع Get tick count96
5-4-5-ساخت فایل ها98
5-4-3- ساخت مترسک با تابع NtGlobalFlag101
فصل 6 : نتیجه گیری
6-1- مقدمه104
6-2-آنالیز بدافزارها105
6-2-1– پویا105
6-2-2– ایستا106
6-2-3- مطالعه روشهاي ضد تحليل107
6-3-روش­های مطرح در این پژوهش108
6-4- نتیجه پایانی109
منابع و مأخذ
منابع و مأخذ111
چکیده انگلیسی................................... 114
 فهرست جداول
عنوان صفحه
جدول 2-1 لیستی از DLL ها18
جدول 2-2 زمینه های بلوک محیطی فرآیند که توسط مایکروسافت مستند شده است30
جدول 2-3 زمینه هایی از PEB که از متغیرهای جهانی هسته شروع شده اند31
جدول 2-4 ساختار فایل پرونده اجرایی قابل حمل34
جدول 4-1 بررسی دستی نشانه BeingDebugged67
جدول 5-1 واکنش توابع91
 فهرست شکل­ها
عنوان صفحه
شکل3-1 یک نمونه از جهش ته47
شکل3-2 بایت های دستور نگهداری شده در نقطه ورودی اصلی پیش از اینکه برنامه اصلی باز شود.48
شکل 3-3 برنامه قابل اجرا را‌‌ زمان بارگذاری در حافظه است نشان می‌دهد48
شکل3-4 یک تابع ورودی را فرا می خواند52
شکل3-5: جهش ته برای یک برنامه بسته شده با Upack56
شکل4-1: تکنیک ضداشکال زداییoutputdebugstring65
شکل4-2: ساختار بلاک محیط پردازش بلوک شده ثبت شده67
شکل4-3: بررسی دستی نشانه ProcessHeap69
شکل4-4 بررسی NTGlobalFlag70
شکل4-5: کد C برای تشخیص FindWindow71
شکل4-6: اسکن کد برای نقاط توقف72
شکل4-7: تکنیک زمان rdtsc74
شکل4-8 تکنیک زمان بندی Get tick count75
شکل 4-9 : نمونه فراخوانی TLS- جدول TLS درنمای PE77
شکل 4-10: نمای یک تابع فراخوانی TLS در IDApro( ctrl-E برای نمایش فشاردهید)78
شکل 4-11 : گزینه های اولین توقف ollyDbg78
شکل 4-12: گزینه های پردازشی استثنا OllyDbg80
شکل4-13: تکنیک INT381
شکل 4-14: PE IMAGE-OPTIONAL- HEADER و آسیب NUMBER OF REVA AND SIZES83
شکل 4-15:‌ساختار PE IMAGE- SECTION- HEADER84
شکل 5-1:نمودار مترسک90
شکل 5-2 نمودار الگوریتم مترسک93
شکل 3-5 نمودار ساخت الگوریتم97
 چکیده
روش معمولی که با پکر‌ها برخورد می‌کند، شامل مراحل زیر می‌شود:
۱. یک پکر را شناسایی کنید. برای شناسایی یک پکر، باید آن به یک گروه پکر اختصاص داده شود. انجام این کار به همین آسانی که به نظر می‌رسد نیست. پکرهای بسیاری وجود دارند که کد‌هایشان ثابت است، و با استفاده از رشته‌های ساده قابل شناسایی هستند. اما بسیاری پکر‌ها از کد چندشکلی برای تغییر ظاهرشان استفاده می‌کنند، و برخی از پکر‌ها عمداً از رشته‌های قلابی متعلق به سایر پکر‌ها یا کد کامپایلر استاندارد استفاده می‌کنند، تا برنامه شناسایی کننده را فریب دهند.
۲. یک پکر را تعیین هویت کنید. این مرحله فرا‌تر از شناسایی است. برای تعیین هویت یک پکر، باید آن را در یک نسخه موجود طبقه بندی کنید یا آن را به یک نسخه جدید اختصاص دهید. توانایی تعیین هویت یک پکر، برای آنپک کردن موفق ضروری است، زیرا ممکن است به اندازه کافی اعضای مختلفی در یک گروه وجود داشته باشد که آنپکر مخصوص یک عضو گروه نتواند برای عضوی دیگری از‌‌ همان گروه به کار برده شود.
۳. یک برنامه شناسایی کننده ایجاد کنید. دو مرحله قبلی معمولاً توسط یک انسان، یا برنامه‌هایی مانند برنامه‌های شبکه عصبی که در ارتباط با پکرهای اختصاص داده شده به گروه‌های شناخته شده آموزش دیده‌اند، انجام می‌شدند. این مرحله، در مقابل، نوشتن برنامه‌ای است که عملکردش فقط شناسایی آن گروه، و احتمالاً آن عضو مخصوص است.
۴. یک برنامه آنپکر ایجاد کنید. برخلاف برنامه شناسایی کننده، که هدفش فقط شناسایی پکر است، برنامه آنپکر در واقع اقدامات عکس پکر مربوطه را انجام می‌دهد، و باینری پک شده را تا حد ممکن به شکل اصلی آن، از جمله فراداده‌های آن مانند PE header برای باینری‌های Win32 ، بازیابی می‌کند.
در این پژوهش بر اساس یک ایده جدید می‌خواهیم بدون استفاده از روش­های معمولی ذکر شده بتوانیم با جلوگیری از آن پک شدن پکر‌ها بدون حضور اشکال زدا‌ها روشی را ابداع نماییم. در این حالت با کمک شناسایی انواع رد پا‌هایی که یک اشکال زدا در محیطی که در آن حضور دارد می‌گذارد می‌توانیم با تغییر محیط به صورتی که نشانه‌های حضور بد افزار را نشان دهد از باز شدن بسته‌ای‌ها جلوگیری نماییم.
درصد فزاینده‌ای از برنامه‌های بدافزاری که به طور کنترل نشده منتشر می‌شوند، توسط پکر‌ها پک می‌شوند. پکر‌ها برنامه‌هایی هستند که شکل باینری ورودی را بدون تغییر دادن معنای اجرایی آن تغییر می­دهند تا انواع جدید بدافزار ایجاد شوند که می‌توانند از ابزارهای شناسایی بدافزارهای مبتنی بر امضاء فرار کنند.
امروزه نویسندگان بدافزار به جای مستقیماً پیچیده کردن کد بدافزار، بیشتر به پکر‌ها متکی هستند. پکر‌ها برنامه‌هایی هستد که شکل باینری قابل اجرا را به شکلی دیگر تغییر می‌دهند تا با کوچک‌تر شدن و یا داشتن ظاهری متفاوت از شکل اصلی خود، از پویشگرهای ضد ویروس مبتنی بر امضاء فرار کند. در موارد بسیاری، نویسندگان بدافزار به طور مکرر ترکیب‌های متفاوتی از چندین پکر را برای یک بدافزار به کار می‌برند تا به طور سریع تعداد زیادی از باینری‌های دارای اشکال مختلف برای منتشر شدن به طور کنترل نشده، ایجاد شوند. این امر که باینرهای بیشتر و بیشتری پک می‌شوند به طور جدی تأثیر پویشگرهای ضدویروس مبتی بر امضاء را کاهش می‌دهد؛ همچنین منجر به افزایش نمایی اندازه امضای ضدویروس می‌شود، زیرا وقتی برنامه ضدویروس نتواند تهدید پک شده را به طور مؤثری آنپک کند، گزینه‌ای غیر از ایجاد یک امضای جداگانه برای آن تهدید ندارد.
اندازه گیری دقیق درصد برنامه‌های مخرب (بدافزار) و برنامه‌های بی‌خطر (خوب افزار) که پک می‌شوند، مشکل است. شرکت‌های گوناکون اعداد مختلفی را گزارش کرده‌اند، اما به طور کلی پذیرفته شده است که بیش از ۸۰ درصد بدافزار‌ها پک می‌شوند. این نمونه‌های بدافزار اغلب به جای پک شدن «بسته بندی» می‌شوند، زیرا بسیاری از پکر‌ها شکل اصلی باینری‌های ورودی را به گونه‌ای تغییر می‌دهند که الزاماً شامل فشرده سازی نمی‌شوند.
  1-1-مقدمه
اولین ویروس­های کامپیوتری در اوایل دهه ۸۰ ظاهر شدند و اکثراً فایل­های خود تکرار شونده ساده­ای بودند که برای سرگرمی و خنده ایجاد شده بودند. در سال ۱۹۸۶ گزارش اولین ویروسی که سیستم عامل ام اس داس مایکروسافت را بر روی کامپیوترهای شخصی مورد هدف قرار داد، منتشر شد. در واقع ویروس Brain به عنوان اولین ویروس از این نوع شناخته می‌شود. همچنین اوایل سال ۱۹۸۶ شاهد اولین ویروس فایلی به نام Virdem و اولین تروجان (برنامه‌ای که به نظر مفید یا بی‌خطر می‌رسد ولی در واقع برای دزدی اطلاعات و یا صدمه زدن به رایانه میزبان طراحی شده است) به نام PC-Write بودیم. تروجان مذکور خود را به عنوان یک برنامه کاربردی و محبوب Word Processor جا زده بود. همچنان که افراد بیشتری از تکنولوژی ویروس‌ها اطلاع پیدا می‌کردند، تعداد ویروس‌ها، تعداد سكوهای[1] هدف حملات، پیچیدگی ویروس‌ها و تنوع آن‌ها رو به افزایش پیدا کرد. در یک بازه زمانی ویروس‌ها بر روی سکتورهای راه­اندازی[2] تمرکزکرده و بعد از آن شروع به آلوده سازی ­ فایل­های اجرایی کردند. در سال ۱۹۸۸ اولین کرم اینترنتی (نوعی از بدافزار که از یک کد خرابکار برای گسترش خودکار از یک رایانه به رایانه دیگر از طریق شبکه استفاده می‌کند) ظاهر شد. کرم Morris منجر به کند شدن قابل توجه ارتباطات اینترنتی شده که در پاسخ به این حمله و تعدادی حملات مشابه، گروه پاسخگویی به رخدادهای رایانه‌ای به منظور حفظ ثبات اینترنت از طریق هماهنگی در پاسخگویی به رخداد‌ها، پایه گذاری شد. گروه مذکور از طرف دانشگاه کارنگی ملون آمریکا پشتیبانی می‌شود. در سال ۱۹۹۰،، به عنوان محلی برای تبادل و به اشتراک گذاشتن دانش نویسندگان ویروس، راه اندازی شد. همچنین اولین کتاب در مورد نوشتن ویروس منتشر شد و اولین ویروس چندریختی (معمولاً به آن chameleon یا Cas پرونده اجرایی قابل حمل r اطلاق می‌شود) گسترش پیدا کرد. یک ویروس چندریختی نوعی از بدافزار است که از تعداد نامحدودی الگوریتم رمزنگاری برای مقابله با تشخیص استفاده می‌کند. ویروس­های چندریختی توانایی تغییر خود در هربار تکرار را دارا می‌باشند. این توانایی آن­ها را از دید برنامه‌های آنتی ویروس مبتنی بر امضا که برای تشخیص ویروس‌ها طراحی شده‌اند، پنهان می‌دارد. به این ترتیب، در اوایل دهه ۹۰ خبر اولین حمله ویروسی چندریختی با نام Tequila منتشر شد و سپس در سال ۱۹۹۲ اولین موتور ویروس چندریختی و ابزار ویروس­نویسی پا به عرصه ظهور گذاشت. بعد از آن ویروس‌ها روز به روز کامل‌تر شدند. برخی ویروس‌ها شروع به دسترسی به دفترچه آدرس‌های ایمیل و ارسال خود به آن آدرس‌ها کردند؛ ویروس‌های ماکرو خود را به فایل‌های برنامه‌های کاربردی مانند آفیس متصل کرده و به آن‌ها حمله می‌کنند؛ و ویروس‌هایی که مشخصاً برای سوءاستفاده از آسیب‌پذیری‌های سیستم عامل‌ها و برنامه‌های کاربردی نوشته می‌شوند. ایمیل‌ها، شبکه‌های به اشتراک­گذاری فایل (P2P)، وب سایت‌ها، درایوهای مشترک و آسیب‌پذیری‌های محصولات، همه و همه برای گسترش و حمله ویروس‌ها مورد سوء استفاده قرار می‌گیرند. (راه‌های نفوذ یانقاط سری ورود به شبکه که توسط بدافزار‌ها ایجاد می‌شوند) بر روی سیستم­های آلوده ایجاد شدند تا راه را برای بازگشت مجدد نویسندگان ویروس و هکرها جهت اجرای نرم­افزارهای دلخواه، باز کنند. در این مقاله منظور ما از هکر یک فرد برنامه نویس رایانه یا کاربر آن است که قصد دسترسی به یک رایانه یا شبکه را به صورت غیر قانونی دارد. بعضی از ویروس‌ها دارای موتور ایمیل جاسازی شده هستند که رایانه آلوده را وادار می‌سازد تا مستقیماً از طریق ارسال ایمیل، ویروس را انتشار دهد. همچنین نویسندگان ویروس شروع به طراحی دقیق معماری حمله‌های خود با استفاده از مهندسی اجتماعی کرده‌اند. همراه با این تکامل بدافزار‌ها، آنتی ویروس‌ها نیز به خوبی تکامل پیدا کرده‌اند. در حال حاضر بیشتر آنتی ویروس‌های موجود در بازار بر مبنای امضای ویروس یا‌‌ همان شناسایی مشخصه‌های یک بدافزار برای تشخیص کدهای مضر، عمل می‌کنند. به همین دلیل در فاصله زمانی بین انتشار یک ویروس جدید و شناسایی امضای آن و پخش آن بین آنتی ویروس‌های مختلف، یک رشد ناگهانی در میزان آلوده سازی ویروس مشاهده می‌شود.


👇 تصادفی👇

ترفند هاي شگفت انگيز ويندوزجزوه سد های خاکیپایان نامه بررسي اصل استقلال قضاوت در جمهوري اسلامي ايراننرم افزار سیستم باربریتاریخچه چیلرهای جذبیپردازش تحلیلی پایگاه داده و کاربرد های آندانلود سمینارفحلی در گاوهای شیری(Estrus in dairy cattle)هنر افسون كننده ي ژاپني نين جوتسوگزارش کارآموزی ماشین های کشاورزی، تنظيمات كلي كمباين ✅فایل های دیگر✅

#️⃣ برچسب های فایل شبیه سازی محیط برای جلوگیری از unpack شدن packer ها word

شبیه سازی محیط برای جلوگیری از unpack شدن packer ها word

دانلود شبیه سازی محیط برای جلوگیری از unpack شدن packer ها word

خرید اینترنتی شبیه سازی محیط برای جلوگیری از unpack شدن packer ها word

👇🏞 تصاویر 🏞