ايران ويج

نسخه‌ی کامل: راهنمايی در مورد حفاظت برنامه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان عزيز
من دارم رو يه پروژه کار ميکنم که حفاظت برنامه برام خيلی مهمه
اين برنامه همراه سخت افزار فروخته ميشه
يعنی اينکه يه mini pc هستش که روش windows 7 embeded نصب ميشه و فقط همين برنامه.
توی صحبت هايی که با بعضی از دوستان داشتم به اين نتيجه رسيديم که بهترين راه اينکه توی خود برنامه يه کد سخت افزاری واسه همون دستگاه بزاريم و کامپايل کنيم.
که روی سيستم ديگه اصلاً باز نشه. چون تعداد فروش اين سيستم انقدری زياد نيست مشکلی پيش نمياد.
حالا مشکلی که برام پيش اومده update کردن برنامه هستش.Whistle
اين برنامه هر چند هفته يک بار online update ميشه و توی update فايل اصلی برنامه رو مجبوريم عوض کنيم، چون function های جديد نوشته ميشن و ...
يعنی با اين کار اون کد سخت افزاری که با برنامه کامپايل شده از بين ميره
يه پيشنهاد ديگه اين بود که function ها رو بايد update بشن رو بريزيم توی dll و اونا رو update کنيم که فايل اصلی update نشه.
ولی به چند دليل شدنی نيست.
اول اينکه تمام کار اين برنامه همون function ها هستن، يعنی هر کسی ميتونه import کنه و ...
دوم اينکه اگه خود فايل اصلی نياز به update داشت چی؟

يعنی اگه از همون روش کد سخت افزاری استفاده کنم بايد واسه هر مشتری يه update پک جداگانه بنويسم و بزارم رو server که کار احمقانه ای به نظرم ميادAmaze
حالا نظر دوستان کرکر عزيز رو ميخواستم بدونم که چه روشی رو واسه حفاظت برنامه پيشنهاد ميکنن
برنامه با .net نوشته شده
و روی سيستم بسته نصب ميشه و فقط هم روی اون سيستم بايد کار کنه
من خیلی در مورد برنامه شما اطلاعات ندارم اما از گفته های شما بر میاد که :

چون این برنامه رو همراه با یک Mini PC می فروشید و تعداد مشتریهاتون هم کمه پس احتمالا دارید در مورد یک برنامه

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

نکته دیگه ای که باید بهش توجه کرد احتیاج مداوم برنامه به Update هست و این یعنی کرکر احتمالی باید هر دفعه بشینه

برنامه جدید رو کرک کنه.

البته با توجه به دو نکته بالا تقریبا هیچ کسی رقبتی برای کرک این برنامه نداره ولی اگه یه دیوونه ای پیدا بشه بخواد کرکش

کنه، مگه با .Net مادر مرده می شه جلوش رو گرفت؟!

با توجه به همه اینها می شه گفت یک نوع قفل بسیار ساده هم می تونه بیشترین ضریب اطمینان رو به شما بده و

می تونید مطمئن باشید قفل های بزرگ تر و پیچیده تر تقریبا هیچ تاثیر مثبت اضافه ای بر روی کرک نشدن برنامه شما ندارن.

به زبون خودمونی تر بابا خیالت راحت ما اینجا سورس برنامه رو هم می دیم به مشتری ( زمانی که برنامه مشتری های خاص

خودش رو داره ) و هیچ مشکلی هم نداریم، تا پشتیبانی و آپدیت شما هست جایی واسه کرکر نیست.

حرفت رو کاملاً قبول دارم
الان تصميمم بر اينه که قفل سخت افزاری رو که گفتم رو توی يه dll بزارم که update نميشه.
واسه .net هم فعلاً option بهتری از smart assembly پيدا نکردم.
از طرف ديگه چون برنامه حتماً بايد online باشه يه سيستم callback طراحی کردم که هر بار برنامه run بشه validate ميکنه
يعنی مشخصات مشتری و برنامه رو ميده به server و ok ميگيره

بازم ممنون Di Di جان
نقل قول: واسه .net هم فعلاً option بهتری از smart assembly پيدا نکردم.
اگر هدفتون جلوگیری از ریسورس شدن سورس کدتون هست بهتر هست از این برنامه عمل نکنید چون ظرف چند ثانیه میشه لایه امنیتی اون رو حذف کرد.

متشکرم
(۲۲-آبان-۱۳۹۰, ۱۹:۱۴:۱۰)PouriaAmid نوشته است: [ -> ]حرفت رو کاملاً قبول دارم
الان تصميمم بر اينه که قفل سخت افزاری رو که گفتم رو توی يه dll بزارم که update نميشه.
واسه .net هم فعلاً option بهتری از smart assembly پيدا نکردم.
از طرف ديگه چون برنامه حتماً بايد online باشه يه سيستم callback طراحی کردم که هر بار برنامه run بشه validate ميکنه
يعنی مشخصات مشتری و برنامه رو ميده به server و ok ميگيره

بازم ممنون Di Di جان

شرمنده دوستان من زیاداز کرک سر در نمیارم ولی اگه قفل توی یهDllجدا باشه که کرک شدن ساده تره!یعنی یه فایل با تعداد دستور کمتر و فکر کنم ساده تر بشه بهش دست پیدا کرد!
امیدوارم جسارت نکرده باشم به اساتید!