PDA

View Full Version : قفل محدودیت زمانی



behzadkhatari
چهارشنبه 18 آبان 1390, 18:51 عصر
سلام خدمت اساتید محترم. من یه برنامه با c# دارم که این برنامه 3 نوع لایسنس 6 ماهه یکساله و دوساله داره. من میخوام وقتی که مثلا نسخه شش ماهه تموم شد برنامه از کار بیوفته. نمیخوام کاربر با عقب بردن تاریخ سیستم بتونه برنامه رو گول بزنه. در ضمن کاربران من اینترنت هم ندارن که بخوام تاریخ رو از اینترنت بگیرم. چطوری تاریخ دقیق رو داشته باشم که کاربر نتونه برنامه رو دور بزنه. با تشکر

electro_esma
چهارشنبه 18 آبان 1390, 19:05 عصر
دوست من با این اوصاف

تنها چیزی که به ذهن من می رسه اینه که برنامه شما کاری به تاریخ نداشته باشه چه از اینترنت و چه از سیستم

شما باید به برنامتون بگید که از زمان ران شدن شروع به save ساعت کنه و میزان ران شدن را با میزان ران شدن قبلی جمع کنه اگه مثلا به یه میزان خاصی رسید از کاربر کد فعال سازی بخواد


فکر کنم عملی ترین روش هم بدون اینترنت و وابسته بودن به ساعت و تاریخ ویندوز همینه . در ضمن این برنامه باید ساعت رو یه جایی توی خودش ذخیره کنه و کاربر هم نتونه بفهمه که این فایل چیه . که پاکش کنه . یعنی اگه پاک شد دیگه کار نکنه . یا اگه کپی شد یه چیز هایی رو باهم مقایسه کنی که کار نکنه.



حالا اینم فکر من بود فکر کنم هم عملی باشه.

behzadkhatari
چهارشنبه 18 آبان 1390, 19:14 عصر
با تشکر از جواب شما. اما اینطوری اگه کاربر یک ماه از برنامه استفاده نکنه دیگه با این روش نمیشه سر 6 ما اونو از کار انداخت فک نکنم این روش برای من راه مناسبی باشه

nunegandom
چهارشنبه 18 آبان 1390, 20:13 عصر
زمان نصب برنامه رو با lastmodify یه cmd.exe چک کن!

pooria_googooli
چهارشنبه 18 آبان 1390, 20:34 عصر
البته شما میتونی از تاریخ سیستم استفاده کنی . به این صورت که هنگام اجرای برنامه میره تاریخ سیستم را چک میکنه اگر کمتر از تاریخی بود که دفعه قبلی ذخیره کرده بودی برنامه ارور میده که تاریخ دستکاری شده و تا زمانی که تاریخ به حالت اول برگردانده نشه اجرا نمیشه . البته این روش یعنی کار با تاریخ زیاد مطمئن نیست چون کرکر ها به راحتی میتونن از کار بندازنش.

AliRezaPro
چهارشنبه 18 آبان 1390, 22:42 عصر
سلام خدمت اساتید محترم. من یه برنامه با C#‎ دارم که این برنامه 3 نوع لایسنس 6 ماهه یکساله و دوساله داره. من میخوام وقتی که مثلا نسخه شش ماهه تموم شد برنامه از کار بیوفته. نمیخوام کاربر با عقب بردن تاریخ سیستم بتونه برنامه رو گول بزنه. در ضمن کاربران من اینترنت هم ندارن که بخوام تاریخ رو از اینترنت بگیرم. چطوری تاریخ دقیق رو داشته باشم که کاربر نتونه برنامه رو دور بزنه. با تشکر
دوست گرامی , برای حل مسئله ی شما گرفتن تاریخ سیستم اصلا راه جالبی نیست .

ya30ien2
چهارشنبه 18 آبان 1390, 23:15 عصر
منم فکر میکنم راه جالبی نباشه
دوستان یکبار من نرم افزار 3dmax رو نصب کردم بعد از 1 ماه تایم برنامه به اتمام رسید و کرک میخواست من ویندوز رو عوض کردم اما بازم فایده نداشت کل هارد رو پاک کردم بازم فایده نداشت
کسی اطلاعاتی در مورد اینجور کرک کردن نداره

BEHZADnr
پنج شنبه 19 آبان 1390, 00:25 صبح
منم فکر میکنم راه جالبی نباشه
دوستان یکبار من نرم افزار 3dmax رو نصب کردم بعد از 1 ماه تایم برنامه به اتمام رسید و کرک میخواست من ویندوز رو عوض کردم اما بازم فایده نداشت کل هارد رو پاک کردم بازم فایده نداشت
کسی اطلاعاتی در مورد اینجور کرک کردن نداره
سلام
تا جایی که من میدونم نرم افزار 3dmax وقتی یکی از نسخه هایی رو که داری نصب میکنی یه سریال میسازه مخصوص همون نرم افزار بعد همونو با تاریخ ذخیره میکنه و وقتی یه بار کانکت بشی به اینترنت این اطلاعات رو ارسال میکنه به سرور سایت ، برای جلوگیری از این مشکل هم باید update برنامه رو غیر فعال کنید ، اینی که گفتم برای آخرین ورژن برنامه است
برای کرک برنامه هم بهتره به قسمت امنیت نرم افزار مراجعه کنید
موفق باشید

Nima NT
پنج شنبه 19 آبان 1390, 00:43 صبح
به نظر من بهتر هست اگر امنیت برنامتون براتون مهم هست از نسخه های آماده مخصوص این کار ( حالا یا خارجی یا ایرانی ) استفاده کنید و به عنوان یک تجربه سعی کنید حتی اگر خواستید از نسخه های خارجی استفاده کنید با کمی هزینه کردن از نسخه های ارجینال بهره ببرید و به هیچ عنوان از نسخه های کرک شده اینگونه برنامه ها استفاده نکنید و در مورد ایرانی ها هم که با توجه به وضعیت موجود در ارشاد و ... بعید میدونم بتونید با استفاده از نسخه های کرک شده قفلهای ایرانی نرم افزار خودتون رو محافظت کنید.

joker
پنج شنبه 19 آبان 1390, 01:29 صبح
کار سختی نیست ، یک تایمر داخلی توی برنامه بنویسید که مقدار را هر 1 ساعت ( یا هر یک دقیقه ) در محلی ( مثلا رجیستری ) حالا یا دیتای خالص یا ترجیحا رمز شده ، ذخیره کنه
اینطوری به ازاء کارکرد واقعی نرم افزار ، بدون توجه به تاریخ سیستم ، زمان استفاده را در اختیار دارید
البته با عوض کردن ویندوز ممکنه سیستم براش ریست بشه
در هر حال با عوض کردن ویندوز ، همه چیز از اول هست مگر اینکه برفرض برنامه شما از دیتابیسی استفاده میکند که کاربر قبل از عوض کردن ویندوز باید از آن بک آپ داشته باشد ، خب توی اون هم میتونید این سیستم چک را اعمال کنید

behzadkhatari
پنج شنبه 19 آبان 1390, 09:54 صبح
کار سختی نیست ، یک تایمر داخلی توی برنامه بنویسید که مقدار را هر 1 ساعت ( یا هر یک دقیقه ) در محلی ( مثلا رجیستری ) حالا یا دیتای خالص یا ترجیحا رمز شده ، ذخیره کنه
اینطوری به ازاء کارکرد واقعی نرم افزار ، بدون توجه به تاریخ سیستم ، زمان استفاده را در اختیار دارید
البته با عوض کردن ویندوز ممکنه سیستم براش ریست بشه
در هر حال با عوض کردن ویندوز ، همه چیز از اول هست مگر اینکه برفرض برنامه شما از دیتابیسی استفاده میکند که کاربر قبل از عوض کردن ویندوز باید از آن بک آپ داشته باشد ، خب توی اون هم میتونید این سیستم چک را اعمال کنید

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

joker
پنج شنبه 19 آبان 1390, 15:06 عصر
خب شما میتونی توی اون تایمر تاریخ و زمان جاری سیستم را هم ذخیره کنی ، اگه بزرگتر آخرین ذخیره بود یعنی کسی سیستم را دست نزاشته ولی اگه کوچکتر شد خب تابلو هست که تاریخ را به عقب برگشت دادند.

crazy_1892
پنج شنبه 19 آبان 1390, 22:54 عصر
دوستان به نظر من وقتی با تاریخ کار می کنیم اگر برنامه یک باز remove شه بعد دوباره نصب شه مشکل پیش میاد

Mahmoud.Afrad
جمعه 20 آبان 1390, 01:54 صبح
اولین باری که برنامه اجرا میشه تاریخ رو بگیره و جایی ثبت کنه دفعات بعد با وجود این تاریخ دیگه تاریخ رو تغییر نده و صرفا تاریخ سیستم رو چک کنه که کمتر نباشه.
اگر از پایگاه داد استفاده میکنید زمان اولین اجرا رو توی اون ذخیره کنید
ولی اگر دیتابیس مهم نباشه خوب با نصب مجدد دیگه دیتابیس قبلی نیست که بخوای جلوی دور زدن رو بگیری.