صفحه 3 از 3 اولاول 123
نمایش نتایج 81 تا 102 از 102

نام تاپیک: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

  1. #81
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    Earth
    پست
    200

    محافظت اسمبلی ها

    فکر می کنم این سوال من جواب ساده ای داشته باشه که من نمی دونم!

    فرض کنید ما یک کامپوننت برای دات نت طراحی کردیم (مثلا یک Button خاص)
    برای انتشار برنامه باید اسمبلی این کامپوننت رو هم همراه برنامه بفرستیم.(نه؟)
    حالا هرکسی می تونه این اسمبلی رو کپی کنه و توی برنامه های خودش بکار ببره ؟!
    چطور میشه از این اتفاق جلوگیری کرد ؟

  2. #82
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    حالا هرکسی می تونه این اسمبلی رو کپی کنه و توی برنامه های خودش بکار ببره ؟!
    چطور میشه از این اتفاق جلوگیری کرد ؟
    میتونی در توابعی که کاربر از این کامپوننت اجرا میکنه، یه پارامتر دیگه اضافه کنی به نام مثلا Serial Number که بایستی این کد رو از شما که سازنده هستی بگیره، یا مثلا اگه یه کامپوننت خاص نوشتی، میتونی یه Property بهش اضافه کنی که کد ثبت شده رو بگیره و در خودش ذخیره کنه و تا این کد توش رجیستر نشه، کار نکنه و به کاربر پیغام بده.

  3. #83
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    Earth
    پست
    200
    این روش یه جورایی درست به نظر نمیاد
    در بهترین حالت باید توی همه فرمهامون یه تابع جهت پر کردن مقادیر کلیدی کامپوننتهامون صدا بزنیم.
    اگر سورس کامپوننت رو نداشته باشیم چککار کنیم ؟
    عجیبه که برای این کار هیچ کاری در دات نت انجام نشده باشه !
    نمی دونم چرا یه همچین مورد حفاظتی رو مثل یه چیزی شبیه Signing برای اسمبلی ها نذاشتن که از اجرای غیر مجاز اسمبلی ها محافظت کنه !!!!

  4. #84
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    در بهترین حالت باید توی همه فرمهامون یه تابع جهت پر کردن مقادیر کلیدی کامپوننتهامون صدا بزنیم.
    خب شما مقدار رو در یک فایل xml میتونی ذخیره کنی و دیگه کاربر مجبور نیست، همه جا بخواد کد رو وارد کنه، خیلی از کامپوننت های تجاری از این سیستم استفاده میکنن.

  5. #85

  6. #86
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    تهران - شمیرانات
    پست
    78

    Unhappy

    نقل قول نوشته شده توسط hassan razavi مشاهده تاپیک
    اگه منظورتون این هست که Dll هایی رو که میسازید دیگران نتونند ازش استفاده کننید و انحصاریشون کنید ، بهتره در قسمت Project Properties به ،Tab های Signing و Security سری بزنید

    چطوری میشه روی یک DLL قفل گذاشت که اگه کسی قفلشو ندونه ، نتونه Addrefrence بکنه ؟ البته از طریق PFX فایل ها فکر کنم بشه ...

    من Sign کردم ولی وقتی رویه یک PC دیگه میرم و DLL رو Import می کنم تو VS هیچ رمزی نمی خواد !؟

  7. #87

  8. #88
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    تقریبا هیچ کدوم این ابزارها نمی تونن کمک قطعی به شما بکنند و پایه اساس و اعتماد شما به امنیت محسوب بشن.
    تنها چیزی که به شما کمک میکنه آگاهی شما از نقطه ضعفهایی در برنامه است که میتونه منجر به زیر سوال رفتن امنیتش بشه. مثلا اگر امنیت برنامه شما وابسته به بررسی یک شرط ساده باشه، به همون سادگی با وارونه کردن نتیجه شرط همه چیز تموم میشه.
    اما اگر برنامه شما برای بررسی پارامترهای امنیتی از یک کلاس و اعضای اون استفاده کنه (صرفا خواندن پارامترها و Init کردن امکانات برنامه بر حسب مقادیر اون اعضا، بدون استفاده از شرط) کار نفوذگر رو خیلی سخت تر کرده اید.
    رمزنگاری عبارتها (String) های مرتبط با بخش های امنیتی برنامه کمک بزرگی به امنیت محسوب میشه، چون دیگه با یک String Search ساده نمیشه فهمید باید دنبال چی گشت و در حقیقت تابلوهای راهنمای نفوذگر رو کور کرده اید.

  9. #89
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    http://hamdsoft.ir
    پست
    350

    .NET Reactor و .NET Reflector

    با سلام
    نمی دونم با برنامه های
    .NET Reactor و .NET Reflectpr
    آشنایی دارید یا نه
    من که تازه با اون ها اشنا شدم .
    تا اونجا که من فهمیدم و امتحان کردم برنامه NET Reactor یک برنامه بسیار عالی برای دات نتی هاست و می تواند کد های دات نت را به گونه ای در آورد که به راحتی نتوان آن را دیکامپایل کرد.
    و اما برنامه NET Reflector کارش این است که فایل های اجرایی دات نت را می تواند کدشون رو برگردونند واقعا هم خوب بر می گردونه.

    من یک برنامه ایی را نزدیک 3 ماه روش کار کردم. حال می خواهم بیرون بدهم و قفلی توسط شماره سریال cpu روی اون گذاشتم. ولی دیدم که برنامه NET Reflector راحت کدم رو برگردوند و خیلی راحت تر می توان از قفل من گذشت.
    حال اومدم با برنامه NET Reactor کدم را تبدیل کردم. خیلی خوب شد حال دیگه حتی برنامه NET Reflector هم نتوانست کدم رو برگردونه اما یه مشکل.
    مشکلش اینه که نسخه آزمایشیش روی انترنت یافت می شه و نسخه کاملش پولیه.
    حاله این نسخه آزمایشی اول برنامه یعنی قبل از اجرای خود برنامه یک پیغام می دهد که این برنامه با NET Reactor محافظت شده است و ... که من نمی خوام پیغام بده که طبیعتا باید نسخه کاملش تهیه گردد.

    و اما از شما می خواهم که بپرسم اولا چگونه باید کاملش رو گیر بیارم ؟ آیا در بازار یا اینترنت هست ؟ ثانیا اگر نه برنامه ی بهتری هست یا نه؟


    در ضمن اگر خواستید نسخه آزمایشی برنامه .NET Reactor رو می تونید از سایت
    http://www.filedudes.com/_NET_Reacto...oad-37018.html
    دانلود کنید .

    با تاخیر

    سال نوتون مبارک

    ممنون خداحافظ

  10. #90
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    خب طبق قوانین سایت، گذاشتن Warez ممنوعه، ولی پیشنهاد میکنم یه نگاهی هم به برنامه ی XenoCode بندازی، اینم برنامه ی خوبی برای محافظت از فایلهای اجرایی هست، حتی میتونه توسط تکنولوژی Virtualization برنامه ی شما رو بدون نیاز به DotNet FrameWork اجرا کنه.

  11. #91

    Reflector

    بگردیدمش
    یافتمش
    گذاردمش
    تا بگیرندش
    وببرندش


    ممنون از راهنمایی شما
    البته خودم هنوز ازش استفاده نکردم
    فایل های ضمیمه فایل های ضمیمه

  12. #92
    نقل قول نوشته شده توسط m110_110 مشاهده تاپیک
    سلام

    می خواستم ببینم تو این مدت کسی درباره net reactor چیزی بدست آورده
    این برنامه به نظرم خیلی بهتره ولی هنوز نتونستم کرکش رو بدست بیارم
    اگر کسی چیزی بدست آورد ما رو هم بی نصیب نذاره
    ممنون
    سلام دوست عزیز
    سیستمی که دات نت ریکتور برای محافظت از برنامه شما ارائه داده در واقع سیستمی هستش که داره از خودش هم محافظت میکنه.چطور میخوای از برنامه ای که خودشو نمی تونه محافظت کن برای محافظت از کدت استفاده کنی ؟
    اینو گفتم که برای ورژن های جدیدش دنبال لایسنس نگردی چون فکر نمی کنم گیر بیاری.(منظورم کرک خود نرم افزار هست نه اینکه قابل شکستن نیست)
    آخرین ورژنی که کرکش رو دیدم 2.9.0.5 بودش. فکر کنم الان ورژن جدیدش 3.7 باشه
    ولی در کل برنامه خیلی جالبی هست.

  13. #93
    در راستای طرح بهینه سازی تالار سی شارپ؛ چندین تاپیک مستقل در هم ادغام شدند.

    دیدن لینک زیر هم ممکن است مفید باشد :
    https://barnamenevis.org/showthread.php?t=41559
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  14. #94
    سلام
    بحث خیلی داغ بود گفتم واسه دوستانی که یه کم گیج شدن توضیح بدم چون یه جاهاییشو خودمم نفهمیدم و یاد جلسات مناقصه های دولتی افتادم. بگذریم.
    اصولاً کد های جاوا و دات نت و امثالهم که به Managed Code معروف هستند بعد از کامپایل exe واقعی (Machine Code) نمیشن و در هنگام اجرا توسط engine مربوطه (مثلاً کد دات نت توسط دات نت فریم ورک) به کد ماشین همون پردازنده تبدیل می شن. برای همین به اونا غیر وابسته به پلتفرم می گم یعنی رو هر رایانه ای با هر سیستم عاملی که engine نصب باشه قابل اجرا هستند. کد تولید شده توسط کامپایلر این زبونها به یه زبون حد واسط (یعنی نه سورس و نه کد ماشین) تبدیل میشه که تو دات نت به اون MSIL و تو جاوا ByteCode می گن.
    خوب این زبانهای حد واسط راحتر از کد ماشین قابل تبدیل به سورس کد هستن پس راحت تر کرک میشن. داستان کرک شدن و جلوگیری از اون تو مایه های داستان مرغ و تخم مرغه و نمی خوام وارد اون بشم اما یادمه آخرین تکنولوژی که شنیدم قراره بیاد استفاده از PKI در سطح پردازنده بود یعنی شما سریال CPU رو می دی کمپانی adobe اونا با سازنده CPU تماس می گیرن و از روی سریال public key شما رو بدست می آرن و فتوشاپ رو رمز شده میدن خدتتون و فقط رو pc شما کار خواهد کرد.
    در تفاوت زبونهای سطح پایین مثل C, Assembly, ... با سطح بالاها مثل جاوا یا دات نت باید بگم خوب یا بدی وجود نداره و بستگی داره بخوایم چیکار کنیم. اما به طور کلی هر چی سطح زبون می ره بالا performance فدای design میشه یعنی سرعت میاد پایین اما تولید، نگهداری و توسعه آسونتر میشه.
    اما اینا اصلاً مهم نیست. تو کشورهای پیشرفته کلید روی ماشین می ذاری دزد نمی بره اما بعضی جاهای دیگه با کلی دزدگیر و ... بازم دزد ماشینو می بره.
    امروزه نرم افزارها اونقدر ساختار پیچیده ای دارن پیدا می کنن که نه تنها سورس کد دیگه ارزشی نداره حتی اسناد طراحی مثل دیاگرام های UML اون رو هم اگر بدن بازم به کار نمیاد.
    پیشنهاد می کنم ذهن خودتونو با این چیزا خسته نکنید و در حد عرف از ابزارهای مربوطه مثل obfuscator ها استفاده کنید. باور کنید اگر برنامتون کرک بشه یعنی خیلی خوب بوده و باید خوشحال باشید.
    جالب اینجاست که رو ویندوز کرک شده با ویژوال استودیو و سایر ابزارهای گران قیمت کرک شده 4 خط کد می نویسیم بعد انتظار داریم کرک نشه و تازه یادمون میفته کرک عجب کار بدیه !
    آخرین ویرایش به وسیله hack.ir : جمعه 23 فروردین 1387 در 02:38 صبح

  15. #95
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شیراز
    پست
    373

    نقل قول: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

    سلام
    من اکثر جوابها را خوندم ولی درست نفهمیدم ngen را از کجا باید گیر بیارم
    گفتید که با فریم ورک منتشر شده.
    یعنی وقتی ویژوال 2005 را نصب می کنم اون هم نصب می شه؟

    کار کردن با اون چه طوریه ؟
    لطفا کامل توضیح بدید (گیرایمون کمه)

  16. #96
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

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

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen .exe


    برنامه مذکور را میتوانید با سوییچ ؟/ در cmd اجرا کنید تا اطلاعات حالات مختلف سوییچ هایش را نشان دهد.


    >ngen.exe /?

    Usage: ngen <action> [args] [/nologo] [/silent] [/verbose]
    ngen /? or /help

    /nologo - Prevents displaying of logo
    /silent - Prevents displaying of success messages
    /verbose - Displays verbose output for debugging

    Actions:
    ngen install <assembly name> [scenarios] [config] [/queue[:[1|2|3]]
    Generate native images for an assembly and its dependencies and install them in the Native Images Cache
    If /queue is specified compilation job is queued up. If a priority is not specified, the default priority used is 3.

    ngen uninstall <assembly name> [scenarios] [config]
    Delete the native images of an assembly and its dependencies from
    the Native Images Cache.

    ngen update [/queue]
    Update native images that have become invalid
    If /queue is specified compilation jobs are queued up.

    ngen display [assembly name]
    Display the ngen state

    ngen executeQueuedItems [1|2|3]
    Executes queued compilation jobs.
    If priority is not specified all queued compilation jobs are done.
    If priority is specified compilation jobs with greater or equal.
    priority than the specified are done.

    ngen queue [pause|continue|status]
    Allows the user to pause and continue the NGen Service Queue, and to query its status.

    Scenarios:
    /Debug - Generate images that can be used under a debugger
    /Profile - Generate images that can be used under a profiler
    /NoDependencies - Generate the minimal number of native images required by this scenario

    Config:
    /ExeConfig:<path to exe> - Use the configuration of the specified executable assembly
    /AppBase:<path to appbase directory> - Use the specified directory as the appbase


    ابزار فوق اسمبلی شما را به Native تبدیل کرده و به نوعی ان را نصب یا رجیستر میکند و Native شده آن را در زیر پوشه های C:\Windows\assembly قرار میدهد.

    این Native سرعت بسیار خوبی دارد و مخصوص سخت افزار و سیستم عامل جاری از IL به Native کامپایل شده.

    ولی باید توجه داشت که برای هر رایانه باید جداگانه عمل فوق انجام شود.
    و اگر هم بتوانید نسخه Native کامپایل شده را از مسیر فوق بردارید، باز فایده ندارد و کار نخواهد کرد و حتماً باید برای هر رایانه جداگانه انجام شود.
    ===========================
    من بعد از زدن پست فوق، صفحات قبلی تاپیک را هم دیدم، دوستان لینک msdn ابزار فوق را هم داده بودند، که بسیار کاملتر از توضیحات ناقص من است.
    http://msdn.microsoft.com/en-gb/libr...cf(VS.80).aspx
    آخرین ویرایش به وسیله __H2__ : دوشنبه 14 مرداد 1387 در 02:54 صبح دلیل: لینک msdn

  17. #97
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شیراز
    پست
    373

    نقل قول: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

    مرسی از توضیحات

    من برنامه را پیدا کردم ولی وقتی اجراش می کنم سریع بسته می شه!
    نگفتید نحوه کار کردن با اون چطوره؟ مثلا من یه برنامه نوشتم با سی شارپ. حالا چطور می تونم به وسیله این برنامه کدهاش را تغییر بدم (ناخواناش کنم)

    گفته بودید که باید برای هر کامپیوتر جداگانه این کار را باید انجام داد! منظورتون چیه؟
    یعنی اگر یه برنامه نوشتم باید برای اجرای آن روی هر سیستمی این عمل را انجام داد؟

  18. #98

    نقل قول: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

    آیا این امکان وجود دارد که هنگام نصب برنامه، از ngen.exe استفاده شود و Native Code روی سیستم مورد نظر نصب شود(چون ظاهرا Native برنامه فقط روی سیستمی که تبدیل شده کار می کند)؟

    لطفا راهنمایی کنید.

  19. #99
    VIP آواتار رضا عربلو
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    1,597

    نقل قول: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

    در واقع native Code ها به CLR کمک می کنند تا زمانی را که برای optimize کردن اسمبلی های دات نت را صرف می کند را صرفه جویی کند. و برنامه های دات نت تنها با داشتن native code ها (بدون اسمبلی های دات نت) اجرا نخواهند شد.
    اگر Net. نمی دانید وارد نشوید.

  20. #100
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    شیراز
    پست
    373

    نقل قول: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

    کسی نیست ngen را توضیح بده!!

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

  21. #101
    کاربر دائمی آواتار fat_roze2000
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    اصفهان
    سن
    44
    پست
    110

  22. #102
    کاربر تازه وارد آواتار sadafmahjoobi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    65

    نقل قول: معرفی دی کامپایلرهای دات نت و نحوه ی محافظت از اسمبلیها

    این تاپیکه خوبیه،امیدوارم فعال شه

صفحه 3 از 3 اولاول 123

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

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