50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

دسترسی به ماژول های مدیریت نشده توسط CLR

با سلام

بنده چند وقت یک کتابی در زمینه #C مطالعه می کردم که با این جمله برخورد کردم ولی متاسفانه نتونستم برداشت دقیقی نسبت به این موضوع داشته باشم.

با این حال ممنون میشم دوستان با مثالی بفرمایند که منظور از این جمله ی نویسنده چیست!!!

"بعضی ها می گویند ابزار Obfuscator نمی تواند امنیت کد ما را 100 درصد تضمین کند. چون کد IL بالاخره باید توسط کامپایلر JIT کامپایل شود. ام باز هم برای این کار راه حلی وجود دارد و آن هم این است که قسمت های مهم برنامه خود را در چند ماژول مدیریت نشده بنویسید. بعد توسط CLR به قسمت های مدیریت نشده دسترسی پیدا کنید. با این کار قسمت های حساس برنامه شما به کد محلی تبدیل شده و هیچ راهی برای کرک آن باقی نمی ماند ،مگر اینکه کراکر بخواهد دستورات اصلی پردازنده را هم کرک کند!!!"

پرسیده شده در 1395/01/24 توسط

2 پاسخ

1

با سلام به شما Itpro ای عزیز.

کدی که شما در زبان سی شارپ می نویسید و کامپایل می کنید به کد زبان ماشین تبدیل نمی شود. بلکه به کد سطح میانی IL تبدیل می شود. که این کد IL باید توسط jit کامپایل و اجرا شود. حال می توان به روش های مختلفی کد IL را به کد سی شارپ بازگردانی نمود. که این عمل باعث کم شدن امنیت کد می شود. برای این که از این کار جلوگیری شود با استفاده از obfusecatorها تغییراتی در کد ایجاد می شود. حال جمله بالا به این نکته اشاره می کند که کار هیچ obfusecatorی کامل نیست که نتوان برنامه را decompile نمود. حال اگر بخواهیم که امنیت کد بسیار بالا باشد باید کد را در قالب چند ماژول جداگانه نوشت که دراین صورت کد به زبان ماشین تبدیل خواهد شد و قابلیت decompile از بین خواهد رفت

پاسخ در 1395/01/24 توسط
0

تشکر آقای عادلی عزیز

البته موضوعی که اینجا برای بنده نامفهوم بود بحث چند ماژول بودن بود.

چون اطلاعات بنده نسبت به این زبان بسیار کم است و تقریبا یک هفته ای است در حال یادگیری این زبان هستم.

با این وجود در صورت امکان ممنون میشم اگر یک مثالی در این زمینه بیان کنید.

پاسخ در 1395/01/24 توسط

پاسخ شما