PDA

View Full Version : سوال: قفلهای نرم افزاری



dharmaa
شنبه 04 آذر 1391, 11:27 صبح
سلام دوستان
من میخوام برای نرم افزارم قفل نرم افزاری بذارم ولی متاسفانه نمیدونم چهطوری!
کسی هست که بدونه چه طوری میشه برای نرم افزارهای ساخته شده با سی شارپ قفل نرم افزاری گذاشت،
و ایمن ترین روش رو به من معرفی کننه ؟
بی صبرانه منتظر پاسخها هستم...

aryasoft2872
شنبه 04 آذر 1391, 12:31 عصر
روال به این صورته که یک کد سخت افزاری با انجام تغییرات مشخص از کدی که از مادربرد یا یکی از قطعات سخت افزاری به دست میارید, تولید کنید.
کد کاربری رو طبق قایده حاصی تولید می کنید مثلا ساده ترین حالت ممکن باقیمانده تقسیمش بر یک عدد,عددی ثابت باشه که خوب معکوس که برای تولید کد استفاده میشه رو با اندکی دانش ریاضیات می تونید فرمولشو بسازید.

حالا بین این دوتا کد محاسباتی انجام می دید مثلا کد سخت افزاری رو برای هر حرفش معادل عددی در نظر می گیرید ۵ کاراکتر اول رو انتخاب می کنید ضربدر کد کاربری می کنید و حالا برای مثال ۹ حرف اول رو به عنوان کد فعالسازی در نظر می گیرید.

یک مثال ساده بود حالا می تونید با دانش ریاضیات خودتون پیچیده ترش کنید.

veniz2008
شنبه 04 آذر 1391, 12:42 عصر
سلام. قبلا ذر این مورد خیلی بحث شده. یه نگاه به لینک های زیر بندازید امیدوارم به نتیجه دلخواه برسید. فقط این نکته رو مدنظر داشته باشید که هیچ قفل نرم افزاری 100% مطمئن نیست. یعنی فرض رو بر این نگیرید که قفل اصلا شکسته نمیشه فقط با توجه به دانش سازنده و هکر ، میزان امنیت و میزان سختی برای شکستن قفل تغییر پیدا میکنه. البته یه نگاهی هم به مباحث "قفل سخت افزاری" بندازید، موفق باشید.
http://barnamenevis.org/showthread.php?249864-%D9%82%D9%81%D9%84-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C-PS-27-%D9%88%D8%B1%DA%98%D9%86-2&highlight=%D9%82%D9%81%D9%84+%D9%86%D8%B1%D9%85+%D 8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C
http://barnamenevis.org/showthread.php?355992-%DA%86%D9%87-%DA%A9%D8%A7%D8%B1%DB%8C-%D8%A7%D9%86%D8%AC%D8%A7%D9%85-%D8%AF%D9%87%DB%8C%D9%85-%D8%A8%D8%A7-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C%D9%85%D8%A7%D9%86-%DA%A9%D8%B1%DA%A9-%D9%86%D8%B4%D9%88%D9%86%D8%AF-%D8%9F&highlight=%D9%82%D9%81%D9%84+%D9%86%D8%B1%D9%85+%D 8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C
http://barnamenevis.org/showthread.php?339526-%D9%82%D9%81%D9%84-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D9%8A&highlight=%D9%82%D9%81%D9%84+%D9%86%D8%B1%D9%85+%D 8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C

dabirsiaghi
شنبه 04 آذر 1391, 16:43 عصر
سلام دوستان
من میخوام برای نرم افزارم قفل نرم افزاری بذارم ولی متاسفانه نمیدونم چهطوری!
کسی هست که بدونه چه طوری میشه برای نرم افزارهای ساخته شده با سی شارپ قفل نرم افزاری گذاشت،
و ایمن ترین روش رو به من معرفی کننه ؟
بی صبرانه منتظر پاسخها هستم...
دوست عزیز قفل های نرم افزاری تا وقتی شما نرم افزارتون رو Encrypt نکنید هیچ فایده ای ندارند زیرا براحتی شخص میتواند نرم افزار شما را باز کرده و سورس های آن را ببیند و جایی که شما قفل نرم افزاری را قرار داده اید را از برنامه پاک کند.نرم افزارهایی مانند Smart Assembly کار Encrypt را انجام میدهنند

dabirsiaghi
شنبه 04 آذر 1391, 16:49 عصر
بهترین روش:
1-Encrypt کردن برنامه
2-ایجاد قفل نرم افزاری از مشخصات سخت افزار کاربر
3-استفاده از فلش های دانگل که میتوان اجرای برنامه را منوط به وجود این قطعه کرد و نیز اطلاعاتی را داخل EEpram این قطعه نوشت و کاربر باید اطلاعات را صحیح وارد کند تا برنامه کار کند(البته میتوان بر پیچیدگی آن افزود)

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

minaalamshahi
چهارشنبه 24 تیر 1394, 19:23 عصر
میشه گزینه 1 و2 رو بیشتر توضیح بدید یا لینکی برای آموزش قرار بدید؟

محمد رضا فاتحی
پنج شنبه 25 تیر 1394, 08:39 صبح
وقتی برنامه ای تحت دات نت نوشته میشه به راحتی و حتی با داشتن فایل نهایی(EXE) با نرم افزارهای خاصی که به رفلکتور مشهورن می توان دستورات و کدهای برنامه رو استخراج کرد... به راحتی...
برای جلوگیری از این کار باید برنامه رو Encrypt کرد... هر چند بازهم توسز کسایی که خوره کرک باشن بازهم کرک می شه ولی دیگه برنامتون هلو بپر تو گلو نمی شه...

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