سلام
من یه معماری برای محافظت از برنامم در نظر گرفتم که از دوستان و اساتید درخواست ارائه نظر و انعکاس ایرادها و نقاط قوت آن را دارم
1- بیس برنامه بصورت برنامه نویسی سه لایه هست ( تا دسترسی به لایه های زیرین سخت تر بشه )
2- اجزاء برنامه ( مثلا فاکتور فروش ) رو بصورت کامپوننت (WindowsFormsControlLibrary) نوشتم که باز سه لایه هستن
3-یه سری اقدامات امنیتی مثل :
هش کردن پسوردها
پیغامهای خطا (خطاهای مربوط به شرط اجرای برنامه ) و عنوان فرم ها ( لوگین و ریجستر ) رو از یه متغیر گرفت
آدرس dll ها رو به جایی در پوشه ویندوز تغییر داد
4- برای وابسته کردن آن به سخت افزار از یه قفل سخت افزاری استفاده میکنم مثل تاینی
5- در آخر هم فایل exe و dll ها رو با یه پروتکتور محافظت میکنم ( مد نظر خودم یه پروتکتور بومی هست به دلیل اینکه در زمینه راهنمائی و پشتیبانی بیشتر میتونه مثمر ثمر واقع بشه )
6- جلوگیری از کرک شدن نرم افزار از طریق مهندسی اجتماعی ( مثلا چنان خدماتی بدی که مشتری بگه حاضرم بیشتر پول پرداخت کنم ولی از خدماتش بهره مند بشم نه مثل بعضی نرم افزارها که خدمات که نمیدن هیچ مرتب باید مبلغی رو پرداخت کنی تا نرم افزار قفل نکنه یا به اصطلاحی اکسپایر نشه )
7- استفاده از اسنیفر ( مثل نرم افزار فتوشاپ - بابیلون و ... ) که یک کد تو برنامه هست که چک میکنه ببینه اینترنت وصله یا نه و در صورت وصل بودن اطلاعاتی رو برای سرور میفرسته تا شرکت سازنده بدونه چه افرادی احتمالا دارن از نسخه کرک شده استفاده میکنن ( به همین خاطره که هنگام کرک فتوشاپ باید فایل hosts رو ویرایش کرد و آدرس سرور رو به آی پی سیستم خودمون تغییر بدیم )
این پست با نظر دوستان تکامل پیدا میکنه و ویرایش میشه