PDA

View Full Version : امنیت برنامه با تغییر در IL خود .net



monirprogram
شنبه 21 آبان 1390, 13:14 عصر
سلام دوستان. میدونم در مورد امنیت خیلی بحث شده. اما یه سوال برام پیش اومده( اینم بگم من کلی زا تاپیکها رو خوندم درمورد امنیت. ) پس لطفا نگید تکراری و نظرتون رو بگید.
آیا اگر IL محیط خود .net رو تغییر بدم، میتونم نرم افزار امنی داشته باشم و مطمئن باشم که با نرمافزارهای دیگه قابل بازخوانی نیست؟ آیا کسی قبلااین کار رو کرده. ؟؟؟؟؟؟؟؟؟؟؟؟:متفکر::متفکر:: تفکر:

Mrs.Net
شنبه 21 آبان 1390, 16:47 عصر
بستگی داره که چجوری میخوای تغییر بدی؟ و کجا میخوای برنامه ات اجرا کنی؟

Nima NT
شنبه 21 آبان 1390, 16:53 عصر
یعنی خود موتور مترجم IL رو تغییر بدید ؟؟

monirprogram
شنبه 28 آبان 1390, 09:59 صبح
بستگی داره که چجوری میخوای تغییر بدی؟ و کجا میخوای برنامه ات اجرا کنی؟

من تا بحال این کارو نکردم. اما لینکی داخل سایت codeproject بود که با یه نرم افزار این کار رو انجام میداد و صورت توابع پایه دست میزد. اما نمیخوام از نرم افزار استفاده کنم. میخوام کد رو بنویسم. میشه لطفا بگید معمولا چطوری تغییر میکنه و عملا کجا باید فراخوانی بشه؟؟؟؟؟؟؟؟؟؟؟؟
این رو هم بگم که چند نمونه کد پیدا کردم، اما یا کار نمیکردن یا کامل نبودن و یا خیلی ساده قابل حدس بود. بنابراین نتونستن کمکی کنن.

Nima NT
شنبه 28 آبان 1390, 21:11 عصر
میشه لینک مربوطه رو اینجا قرار بدید.
ممنون.

monirprogram
یک شنبه 29 آبان 1390, 10:26 صبح
از یک reflector استفاده کرده بود. شاید دیده باشین. مثلا دستور messagebox حالتش رو تغییر داد. یا هر چیز دیگه. من معمولا لینکها رو که دیدم حذف میکنم. باید بگردم. پیدا کردم بهتون لینکشو میدم.اما وقتی میشه این دستو رور تغییر داد ،میشه هر چیز دیگه ای رو هم عوض کرد.

hepL3r
یک شنبه 29 آبان 1390, 14:28 عصر
از یک reflector استفاده کرده بود. شاید دیده باشین. مثلا دستور messagebox حالتش رو تغییر داد
دقیقا" متوجه منظورتون نشدم .
شاید چیزی که مورد نظر شما هست و توی اون سایت دیدید , تکنیک Obfuscation باشه که در مورد بیشتر برنامه های دات نت استفاده میشه ؟
این تکنیک امنیت رو فقط کمی بالا میبره و اگه یه کرکر تخصصش دات نت باشه , براحتی میتونه این برنامه ها رو کرک کنه .

علیرضا حسن زاده
یک شنبه 29 آبان 1390, 17:05 عصر
البته Obfuscation ربطی به غیر قابل کرک بودن نرم افزار نداره و کد های دات نت رو برای Reflectorها ناخوانا میکنه از لحاظ کرک فرقی نداره که برنامه Obfuscation شده یا نه ولی اگه Obfuscation نشده باشه درک کد و نهایتا کرکش ساده تر میشه

Nima NT
یک شنبه 29 آبان 1390, 19:15 عصر
از یک reflector استفاده کرده بود. شاید دیده باشین. مثلا دستور messagebox حالتش رو تغییر داد. یا هر چیز دیگه. من معمولا لینکها رو که دیدم حذف میکنم. باید بگردم. پیدا کردم بهتون لینکشو میدم.اما وقتی میشه این دستو رور تغییر داد ،میشه هر چیز دیگه ای رو هم عوض کرد.
شاید کد خود فایل دات نت رو عوض کرده نه هسته مفسر رو ، چون تغییر کد هسته مفسر یه کم سخت و پیچیده هستش ولی امکان پذیره.


البته Obfuscation ربطی به غیر قابل کرک بودن نرم افزار نداره و کد های دات نت رو برای Reflectorها ناخوانا میکنه از لحاظ کرک فرقی نداره که برنامه Obfuscation شده یا نه ولی اگه Obfuscation نشده باشه درک کد و نهایتا کرکش ساده تر میشه
خوب چه فرقی کرد ، هر دو حرف یکی هست ، برنامه Obfuscate میشه که راحت کرک نشه پس مستقیما" با این مساله سر و کار داره.

علیرضا حسن زاده
یک شنبه 29 آبان 1390, 22:05 عصر
خوب معلومه که فرق داره بعد از Obfuscate می تونیم فایل هدف رو با دید یه فایل Native که هیچ کار امنیتی براش انجام نشده نگاه کنیم (با این دید که دسترسی مستقیم به کد سورس هر دو مورد دات نت بعد از Obfuscate و Native معمولی نداریم) وکار کرک معمولی انجام میشه ولی وقتی بحث قفل گذاری میاد کار فرق میکنه (البته این نظر شخصی بنده هست ونوع نگاهم به موضوع)

Nima NT
یک شنبه 29 آبان 1390, 22:22 عصر
خوب معلومه که فرق داره بعد از Obfuscate می تونیم فایل هدف رو با دید یه فایل Native که هیچ کار امنیتی براش انجام نشده نگاه کنیم
منظورتون رو کامل متوجه نشدم ولی اینجوری که من از صحبت شما متوجه شدم اینطوری نیست ، برنامه که Obfuscate میشه لزوما" Native نمیشه و همچنان یک برنامه دات نتی هست و شامل نقاط ضعف و قوت خودش ، و نحوه کرک کردنشون کاملا" فرق میکنه.

علیرضا حسن زاده
یک شنبه 29 آبان 1390, 22:48 عصر
منظورم نا خوانا بودن و غیر قابل دسترس شدن کد اصلی برنامه هست که فرقی نداره والا روش کرک فرق می کنه از این لحاظ گفتم که بعد Obfuscate حالا میشه فایل دات نت رو تا حدی مثل یه فایل Native محافظت شده فکر کرد که کرکش معمولا سخت نیست
گذشته از اینها برنامه های خودکاری هم هستن که عکس این عمل روانجام می دن و فایل Obfuscate شده رو تا حدی قابل خواندن میکنه(البته خودم استفاده نکردم)

monirprogram
دوشنبه 30 آبان 1390, 07:49 صبح
لینک صفحه ای که مد نظرم بود اینه. http://www.codeproject.com/KB/msil/reflexil.aspx البته نمیدونم شاید بنا به حرف شما اومده فقط دستورات سطح رو دست زده. اما من میخوام این تغییرات رو داخل مترجم بدم، که دقیقا همینطور پیاده سازی بشه. میشه اگر کسی چیزی میدونه ،یا مقاله ای یا نمونه برنامه ای هست، بهم راهنمایی کنه. در مورد میزان امنیت هم میشه نظر بدین. که اگر این کار انجام بشه،امنیت برنامه حفظ میشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟

monirprogram
دوشنبه 30 آبان 1390, 07:56 صبح
خوب معلومه که فرق داره بعد از Obfuscate می تونیم فایل هدف رو با دید یه فایل Native که هیچ کار امنیتی براش انجام نشده نگاه کنیم (با این دید که دسترسی مستقیم به کد سورس هر دو مورد دات نت بعد از Obfuscate و Native معمولی نداریم) وکار کرک معمولی انجام میشه ولی وقتی بحث قفل گذاری میاد کار فرق میکنه (البته این نظر شخصی بنده هست ونوع نگاهم به موضوع)
شاید حرف شما درست باشه و من چون اطلاعات کافی ندارم نمیتونم بحثی در موردش کنم. من دقیقا نمیخوام قفل طراحی کنم. فقط میخوام کدهای برنامه ام قابل دسترس نباشه و دیکد نشه همین. (گرچه میدونم باید روش کار کنم، اما طراحی قفل مد نظرم نیست)و نمیخوام هم از نرم افزارهای آماده استفاده کنم.

monirprogram
چهارشنبه 02 آذر 1390, 07:55 صبح
سلام خانمها و آقایون برنامه نویس. مطمئنم خیلی هستند که اطلاعات فوق العاده دارن . و البته میدونم که دلشون نمیخواد همینطوری اطلاعات به کسی بدن. ولی من فقط به یه استارت احتیاج دارن. میشه راهنمایی کنید ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟

علیرضا حسن زاده
چهارشنبه 02 آذر 1390, 10:00 صبح
سلام خانمها و آقایون برنامه نویس. مطمئنم خیلی هستند که اطلاعات فوق العاده دارن . و البته میدونم که دلشون نمیخواد همینطوری اطلاعات به کسی بدن. ولی من فقط به یه استارت احتیاج دارن. میشه راهنمایی کنید ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟

شما که می خوای کدهای IL رو تغییر بدی کدنویسی با IL رو بلدی؟ می تونی بدون Reflector کدهای یه برنامه ساده رو تو IL تغییر بدی؟ اول اینا رو یاد بگیر و بقول بعضی زبان اسمبلی دات نت رو خوب بلد شود بعد خودت می تونی تو زمینه امنیتش کار کنی ساختار فایل دات نت رو برو چند تا مقاله کتاب بگیر بخون ببین چه تفاوتهایی با PE داره CLR و CLI چیه اصلا برنامه دات نت چجوری اجرا میشه؟؟ بعدا می تونی حرفهایی که در مورد امنیت فایل های دات نت زده میشه رو راحت متوجه بشی
اینجوری که شما مگی یه استارت احتیاج داری بهتره بری دنبال برنامه های آماده و یکیشو انتخاب کنی و برنامه تو با اون محافظت کنی خیلی هم راحته الان کسی بیاد بگه هدر فایل رو تغییر بده (مثلا استارت) تا Reflector نتونه فایل رو باز کنه شما می تونی این کار رو انجام بدی؟

monirprogram
شنبه 05 آذر 1390, 07:53 صبح
با تشکر از شما. من میتونم یه برنامه خیلی ساده در حد ایجاد یه فرم و تغییر خصوصیات ظاهریش رو با کدهای il بنویسم و مستقیم با خود IL اجراش کنم. بعد هم باز هم مرسی در مورد همون تفاوتها . میرم دنبالش. ولی اگر کسی چیزی بگه،خب میرم پیداش میکنم. ولی باز هم ممنون