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

نام تاپیک: Reflection در C#‎

  1. #1

    Reflection در C#‎

    سلام
    من شنیدم که با امکان Reflection در C#‎ میشه یک dll رو به اصلاح باز کرد یعنی توابع و کلاسهای اون رو استخراج کرد و نمایش داد. کسی از دوستان در این زمینه کاری انجام داده؟ من یه مثال از کاربرد این عمل رو میخوام. ممنون

  2. #2
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

    نقل قول: Reflection در C#‎

    درسته.
    اما اقداماتی برای جلوگیری از لو رفتن کد هم میشه کرد.
    کاربردش هم که واضح هست. کد یه dll یا exe رو میشه دید

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: Reflection در C#‎

    در مثال این کاربرد میشه گفت که من یه قفل نرم افزاری با دات نت نوشتم و فروختم ، جناب کراکر هم با همون برنامه مذکور میاد سورس فاسل رو میبینه و مثل آب خوردن برنامه بنده رو کرک میکنه ، با این وجود دیگه احتیاجی به دیباگ کردن و... نیست.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    بهمن 1383
    محل زندگی
    Internet port 80
    پست
    137

    نقل قول: Reflection در C#‎

    متدهای انتی رفلکت هم وجود داره و همینطور native کردن برنامه برای اینکه نشه به راحتی به سورس برنامه رسید اما بازم کار نشد نداره

    برای برنامه های رفلکتور :
    http://www.red-gate.com/products/reflector/
    و آنتی رفلکتور :
    http://www.xheo.com/products/codeveil/

    اینا نمونه هست بگردی چیزای زیادی هست که البته خیلی هم قابل اعتماد نیستند

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: Reflection در C#‎

    دقیقا" همین طوره و قابل اطمینان نیستن ، چون تمامی متد های این برنامه ها همگی شکسته شده و کرک شدن.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    خوزستان، دزفول
    پست
    243

    نقل قول: Reflection در C#‎

    حالا باید چیکار کنیم پس؟!!!!
    این بود دات نت دات نت که میگفتن و ما رو از دلفی کشوندن تو دات نت؟

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1389
    پست
    49

    نقل قول: Reflection در C#‎

    اولا اون برنامه ایی که DLL و یا .exe های برنامه های .NET رو باز میکنه ILDASM هست. Reflection یک کلاس هست و این امکان رو میده که با Assembly که .NET دارد کار کنید. مثلا اگر شما میخواهید یک زبان جدید برای .NET بنویسید و یا کارهای dynamic دیگری در کد کنید.
    دوما همچین چیزی در Java هم امکان پذیر است که شما bytecode برنامه رو به سادگی میبینید و تغییر مدهید. شما حتا اگر در C یا Assembly هم کد بنویسید، خروجی شما دوباره به سادگی میتواند به Assembly تبدیل شود و تغییر داده شود.
    این Reverse Engineering ها نه ضعف است و نه فقط در یک زبان یا تکنولوژی قابل مشاهده است.
    شما یکی از راههایی که برای امن کردن کد خود میتوانید به کار ببرید، پروژه رو بعد از اتمام Obfuscated کنید. این باعث میشه که کد میانی (Microsoft Intermediate Language) یا همان MSIL، سختر قابل فهم باشه، زیرا اسم تمامی کلاس ها و متغییر های شما بصورت Random نام گذاری میشود و فهم آن بسیار سخت میشود.
    http://en.wikipedia.org/wiki/Obfuscated_code
    ولی این بدین معنا نیست که کد شما Crack نمیشود، چون این امکان ندارد که شما کد غیر قابل Crack بنویسود.

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

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