نمایش نتایج 1 تا 16 از 16

نام تاپیک: جلوگیری از Kill و دیباگ در دات نت؟!

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اینجا!
    پست
    115

    جلوگیری از Kill و دیباگ در دات نت؟!

    راستش علاقه ای به پست زدن نداشتم چون دوست ندارم پستم اسپم باشه یا سوال تکراری به حساب بیاد ولی خب وقتی دیدیم پیام خصوصی هم نمیتونم بفرستم ...
    سوال دقیق من اینه که چطوری میشه تحت زبانهای .Net کاری کرد که برنامه نوشته شده قابل Debug نباشه. همچنین قابل Kill کردن از طریق هر برنامه ای. شبیه به آنتی ویروس Norton 360 که نام پروسسش هم هست ccApp
    منظورم این نیست که debugger رو شناسایی کنیم. خب من میام خودم یک دیباگر مینویسم که شناسایی نشه. منظور من اینه که چطور میشه از خوندن اطلاعات در حافظه یا رم برنامه جلوگیری کرد. یعنی نشه با openprocess توی مموری برنامه تغییر داد.
    در ضمن اگر در مورد Anti-Debug ها هم توضیح بدید ممنون میشم. جایی خوندم با چند کد اسمبلی به عنوان یک anti-debug میشه همین کاری که میخواسم رو انجام بدم.
    ممنون
    - سروش

  2. #2

    نقل قول: جلوگیری از Kill و دیباگ؟!

    يه تكنيكي هست به نام code obfuscate
    شايد به كارت بياد
    به بخش
    External links

    در پايان لينك بالا هم نگاهي بنداز

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اینجا!
    پست
    115

    نقل قول: جلوگیری از Kill و دیباگ؟!

    نقل قول نوشته شده توسط ccx70007 مشاهده تاپیک
    يه تكنيكي هست به نام code obfuscate
    شايد به كارت بياد
    به بخش
    External links

    در پايان لينك بالا هم نگاهي بنداز
    ممنون. اره من در این مورد یک سری مقاله خوندم ولی متاسفانه در مورد برنامه های تحت .net زیاد فایده ای نداره چون کرکر میتونه از طریق il des که خود ماکروسافت در اختیارش میزاره از کدمون سر در بیاره و این جالب نیست.
    در ضمن کد برای فهم خودمونم سنگین میشه!! explorer خود visual studio هم فکر کنم بعضی توابع نرمافزارمون رو نشون بده (حتی اگر friend باشه) که بازم بدتر!!
    به نظر من این روش بهتر به درد زبانهای سنتی تر میخوره تا سری .net!
    البته منظور اصلی من هم این نبود. من میخواستم کرکر اصلا نتونه روی مموری برنامه تغییر ایجاد کنه.

    در هر حال ممنون.
    پیشنهاد دیگه ای نیست!!!؟

  4. #4

    نقل قول: جلوگیری از Kill و دیباگ؟!

    من اين لينك ها رو با اين عناوين ديدم
    اميدوارم به دردت بخوره :
    Visual Studio 2008 documentation for built-in .NET obfuscation
    How-To-Select an Obfuscation Tool for .NET
    Obfuscation tools for .NET, on MSDN

  5. #5

    نقل قول: جلوگیری از Kill و دیباگ؟!


  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اینجا!
    پست
    115

    نقل قول: جلوگیری از Kill و دیباگ؟!

    ممنون. این مقالاتی که گذاشتی برای اینکه کد قابل فهم نباشه خوبه. ولی بزار منظورمو بهتر بگم. به تصاویر زیر دقت کن:
    Visual Studio 2008:

    OllyDbg:


    هر دو این نرم افزارها اصلا نیمتونند به پروسس ccApp اتچ بشند. چیز اصلی که من میخوام شبیه اینه.کسی اطلاعاتی داره؟!

    ممنون از همه و مخصوصا شما ccx70007.

  7. #7

    نقل قول: جلوگیری از Kill و دیباگ؟!

    شايد خوب ccapp مياد و نام و عنوان برنامه ها رو چك مي كنه كه اگر اين پروسه در حال باز شدن با برنامه اي باشه كه اسم يا title نرم افزار شامل debugger و ........... باشه جلوگيري كنه
    براي اطلاع از نحوه ي كاركرد ccapp يا بايد يه ديباگر نوشت يا اين كه با ديباگر هاي گمنام هم ببينيم ميشه آيا اين پروسه رو باز كرد يا نه؟
    راستي با IDA هم نتونستي كاري كني؟
    من يه راه ديگه هم به ذهنم ميرسه كه براي ديباگ كردن اين جور موارد بيخيال محيط ويندوز بشي و از يه ديباگر تحت لينوكس استفاده كني.البته مسئله ي شناختن فايل هاي EXE براي ديباگر و محيط لينوكس ميمونه كه اونم قابل حل هستش
    آقا بحث بسيار جالبي و شيريني هست....پيگير مورد باش...من هم پيگيري مي كنم و نتيجه را به عرض شما دوستان مي رسونم

  8. #8
    کاربر دائمی آواتار HadiDelphi
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تبریز
    سن
    35
    پست
    238

    نقل قول: جلوگیری از Kill و دیباگ؟!

    خوب معلومه دیگه برنامه ران کننده CApp یه دیباگر داخلی داره که Capp رو بعد از اجرا تحت دیباگ خودش درمیاره و دیگه سایر دیباگر ها نمیتونن به اون اتچ کنن

  9. #9
    کاربر دائمی آواتار HadiDelphi
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    تبریز
    سن
    35
    پست
    238

    نقل قول: جلوگیری از Kill و دیباگ؟!

    نقل قول نوشته شده توسط ccx70007 مشاهده تاپیک
    براي اطلاع از نحوه ي كاركرد ccapp يا بايد يه ديباگر نوشت يا اين كه با ديباگر هاي گمنام هم ببينيم ميشه آيا اين پروسه رو باز كرد يا نه؟
    با هر نوع دیباگری امتحان کنید (چه مشهور و چه گمنام) همین خطا رو میده

  10. #10
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اینجا!
    پست
    115

    نقل قول: جلوگیری از Kill و دیباگ؟!

    نقل قول نوشته شده توسط HadiDelphi مشاهده تاپیک
    خوب معلومه دیگه برنامه ران کننده CApp یه دیباگر داخلی داره که Capp رو بعد از اجرا تحت دیباگ خودش درمیاره و دیگه سایر دیباگر ها نمیتونن به اون اتچ کنن
    این عملیه ولی درست نیست. چون اگر چه با این کار میشه جلوی باز شدن پروسس توسط یک دیباگر دیگه رو گرفت اما نمیشه جلوی kill شدن پروسس رو گرفت (فکر کنم) در حالی که اگر بخوای این پروسس رو kill هم کنی هم نمیتونی. این دو تصویر دیگه رو ببین:
    TuneUp Process Manager:

    Windows Task Manager:


    شايد خوب ccapp مياد و نام و عنوان برنامه ها رو چك مي كنه كه اگر اين پروسه در حال باز شدن با برنامه اي باشه كه اسم يا title نرم افزار شامل debugger و ........... باشه جلوگيري كنه
    براي اطلاع از نحوه ي كاركرد ccapp يا بايد يه ديباگر نوشت يا اين كه با ديباگر هاي گمنام هم ببينيم ميشه آيا اين پروسه رو باز كرد يا نه؟
    نه. من خودم سعی کردم یکی از بایت های برنامه رو تغییر بدم (خودم برنامه رو نوشتم) ولی ارور Access Denied میده!!

    در ضمن من به یک نکته اشاره نکردم. من برنامه ای که دارم مینویسم یک سرویس هستش و البته برنامه ccapp اگر چه یک سرویس نیست ولی در یوزر System Service اجرا میشه. (البته توسط Explorer.exe).

    در هر حال از همتون ممنون. اگر اطلاعات بیشتری بدست آوردید ما رو محروم نکنید. خودم هم دارم جاهای مختلفی رو میگردم.
    - سروش

  11. #11
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اینجا!
    پست
    115

    نقل قول: جلوگیری از Kill و دیباگ؟!

    اها!! از طریق تغییر privilege ها میشه. دارم سعی میکنم یک برنامه به زبان C#‎ و یا vb بنویسم. اگه تمومش کردم احتمالا سورسش رو براتون میزارم.

  12. #12

    نقل قول: جلوگیری از Kill و دیباگ؟!

    از طریق تغییر privilege ها میشه
    يعني مي خواي حق دسترسي رو افزايش بدي؟؟
    چگونه؟؟؟

  13. #13
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اینجا!
    پست
    115

    نقل قول: جلوگیری از Kill و دیباگ؟!

    نقل قول نوشته شده توسط ccx70007 مشاهده تاپیک
    يعني مي خواي حق دسترسي رو افزايش بدي؟؟
    چگونه؟؟؟
    کاهش!! تعیین اینکه هیچ یوزری حق بستن یا تغییر اطلاعات مموری این برنامه رو ندارد!!

  14. #14

    نقل قول: جلوگیری از Kill و دیباگ؟!

    تغییر privilege به خودی خود هیچ تاثیری در این موضوع نداره، فقط امکان دسترسی برنامه رو به منابع سیستم وسیعتر می کنه.

    اگه میخوای جلوی attach شدن یک دیباگر دیگه و یا بستن برنامه رو بگیری، چاره ای جز hook کردن بعضی توابع ویندوز نداری.

    تازه با توجه به اینکه میخوای از #c یا vb استفاده کنی، تو ring3 هستی و این خودش یک محدودیت دیگه است.

  15. #15
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اینجا!
    پست
    115

    نقل قول: جلوگیری از Kill و دیباگ؟!

    نقل قول نوشته شده توسط B-Vedadian مشاهده تاپیک
    تغییر privilege به خودی خود هیچ تاثیری در این موضوع نداره، فقط امکان دسترسی برنامه رو به منابع سیستم وسیعتر می کنه.

    اگه میخوای جلوی attach شدن یک دیباگر دیگه و یا بستن برنامه رو بگیری، چاره ای جز hook کردن بعضی توابع ویندوز نداری.

    تازه با توجه به اینکه میخوای از #c یا vb استفاده کنی، تو ring3 هستی و این خودش یک محدودیت دیگه است.
    کاملا نه.
    من تحقیقات زیادی کردم و متوجه شدم راههایی برای این کار وجود داره که الان سه تاشون رو یادم میاد!!
    1. تغییر privilege ها
    2. نوشتن یک درایور
    3. hook کردن تابع termanateprocess در ntoskernal.exe

    راه اول بهترین راه هستش. البته اشتباه نباید کرد. منظوم از تغییر privilege ها تغییر اونها برای برنامه نیست. منظورم تغییر privilege های کاربر هستش. تعریف اینکه کاربر ادمینستراتور اجازه دیباگ این پروسس رو نداره!! در مورد این راه مقاله هایی خوندم ولی چون اصلا مثالی ندیدم نمیتونم کاری بکنم!! اکثر برنامه های استاندارد از این روش استفاده میکنند!!
    راه دوم رو یادمه میگفتند با نوشتن یک دراویر (به علت وجود در رینگ0) میشه جلوی این موضوع رو گرفت. چگونگیش رو نمیدونم ولی بعضی ها گفته بودند اگر یک درایور مجازی بنویسید که برنامه رو از طریق O/I مشغول کنه اون برنامه بسته نمیشه چون ویدوز ابتدا دنبال آزاد کردن منابع است و چون برنامه مشغول میمونه این اتفاق نمیفته!! (البته این مورد فقط در مورد KILL کردن)
    3. سومی رو هم که میدونید. البته دیباگ رو نمیدونم ولی برای جلوگیری از KILL شدن برنامه اینکارو میشه انجام داد. کما اینکه آنتی ویروس NEST فکر کنم یا همچین چیزی از این روش استفاده میکنه.

    این اطلاعات من بود. MSDN ای ها هم نتونستند بهم جواب بدهند ولی خب من کماکان دارم تحقیق میکنم.

  16. #16

    نقل قول: جلوگیری از Kill و دیباگ در دات نت؟!

    به نظر شما می شه از طریق group policy دسترسی دیباگ به نرم افزار را محدود کرد؟
    کسی راه حلی در این زمینه داره؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •