RSS |محصولات | OneClickScan | برنامه های رايگان | درباره ما | سرويسهای ويژه

تحلیل فایل‌های اجرایی با استفاده از IDA

۱- مقدمه
۲- آشنایی با Disassembler ها
۳- Debug کردن (اشکال زدایی)
۴- آشنایی با IDA
۵- چگونگی تبدیل کردن برنامه سطح بالا به برنامه سطح پایین

• توابع

• صدا زدن تابع به صورت مستقیم
• صدا زدن تابع با استفاده از اشاره گر
• صدا زدن تابع با استفاده از اشاره گر و محاسبه پیچیده آدرس مقصد
• پیاده سازی CALL با استفاده از JMP
• حذف Ret اضافی از کد

• توابع Start-Up

• تابع Main
• تابع WinMain
• تابع DllMain

• توابع Virtual

• صدا زدن تابع
• صدا زدن تابع به صورت خالص

• سازنده ها و مخرب ها

• سازنده ها و مخرب ها
• سازنده ها و مخرب ها به متغییر عمومی

• اشیاء و ساختارها و آرایه ها

• کار با ساختار
• شباهت بین متغییر معمولی و ساختار
• مقایسه بین متغییر معمولی و ساختار
• ارسال یک ساختار به یک تابع
• شئی از یک ساختار
• تعریف یک متغییر داخل یک کلاس و یا یک ساختار
• تعیین هویت یک شی از یک کلاس

• اشاره گر ها
• عمگر هایnew و delete
• توابع کتابخانهای
• متغییر توابع

• طرز کار پاس کردن متغییر های یک تابع
• پاس کردن متغییر های یک تابع در ++Visual C
• پاس کردن متغییر های یک تابع در ++Borland C
• خروجی یک تابع
• صدا زدن از نوع stdcall
• صدا زدن از نوع cdecl
• صدا زدن از نوع PASCAL با ++Visual C
• صدا زدن از نوع PASCAL با ++Borland C
• تشخیص stdcall و PASCAL
• صدا زدن از نوع PASCAL با Turbo Pascal تحت ویندوز
• پاس کردن متغییر های با استفاده از رجیسترها

• در ++Visual C
• در ++Borland C
• در Watcom C

• مشکل fastcall
• پاس کردن متغییر های ممیز دار

• در ++Visual C
• در ++Borland C
• در Watcom C
• Turbo Pascal تحت ویندوز

• پاس کردن متغییر this به صورت ضمنی
• پاس کردن متغییرهای با داشتن حالت پیش فرض
• پاس کردن متغییرهای با آدرس
• انواع متغیر خروجی یک تابع

• خروجی یک تابع از نوع ساختار
• خروجی یک تابع از نوع ممیز دار
• خروجی یک تابع از نوع رجیستر
• خروجی یک تابع از نوع inline
• خروجی یک تابع از نوع آدرس معمولی
• خروجی یک تابع از نوع آدرس در Heap
• خروجی یک تابع از نوع عمومی و static
• خروجی یک تابع از نوع پرچم

• متغییر های عمومی در Stack

• در ++Visual C
• در ++Borland C

• کار با رجیستر ها ومتغییر های موقتی
• کار با متغییر های عمومی

• ارسال متغیر عمومی به صورت صریح

• ثابت ها و Offset ها

• صدا زدن یک تابع به صورت غیر مستقیم

• متغییر رشته

• در C
• در Pascal

• کار با IF-THEN-ELSE

• انواع Flag ها
• متغییر های ممیز دار
• مقدار گیری رجیسترها با استفاده از Flag ها
• چگونگی محاسبه پرش ها
• مقایسه اعداد صحیح در در ++Visual C و ++Borland C
• بررسی عملیات پیچیده مقایسه ای
• بررسی مرحله به مرحله کد بهینه شده و بهینه نشده کامپایلر

• کار با switch–case–break
• کار با LOOP

• بررسی while و do/while در ++Visual C و ++Borland C
• بررسی for در ++Visual C و ++Borland C
• بررسی break در ++Visual C و ++Borland C
• بررسی continue در ++Visual C و ++Borland C

• عملگر های ریاضی

• عملگر جمع (+)در ++Visual C و ++Borland C
• عملگر تفریق (-)در ++Visual C و ++Borland C
• عملگر تقسیم (/)در ++Visual C و ++Borland C
• عملگر باقیمانده (%)در ++Visual C و ++Borland C
• عملگر ضرب (*)در ++Visual C و ++Borland C
• ++

۶- چگونگی مقابله با Trace کردن
۷- مکانیزم حفاظت
۸- کد کردن
۹- Exception Handling
۱۰- مقابله با BP
۱۱- استفاده از WriteProcessMemory
۱۲- تله گزاری برای برنامه های جابجا پذیر
۱۳- چک کردن خود و حفاظت از برنامه
۱۴- Anti Unpacking

برای دریافت اطلاعات بیشتر از برگزاری این کلاس ها با شرکت مهندسی مهران رایانه تماس حاصل نموده یا با آدرس ایمیل Training@ImenAntiVirus.com مکاتبه کنید .
 
 

© ۱۳۸۸-۱۳۷۳ آزمايشگاه تحقيقات ويروس‌های رايانه‌ای ايمن
کليه حقوق اين سايت متعلق به شركت مهندسی مهران رايانه می‌باشد.

English Page

صفحه اصلی

نمایندگان فروش ایمن

خبرنامه تخصصی ايمن

خبرنامه امنيتی مهران

دائره المعارف ويروس‌ها

ارسال ويروس‌های جديد

پرسش‌های شما

فرستادن پيام

استخدام

تماس با ما

شرکت مهران رايانه

نقشه سايت

مرکز آموزش