PDA

View Full Version : سوال: نحوه ایجاد تاریخ Expire برای برنامه در سی شارپ



nimnegah
جمعه 28 تیر 1387, 20:46 عصر
:متعجب:با سلام خدمت دوستان گرامی
من می خواستم بدونم که چطوری میشه وقتی یه برنامه رو با c#.net نوشتی برای اون تاریخ expire رو تعیین کنی ؟ من با c#.net برنامه مینویسم ولی تا حالا به این موضوع بر نخورده بودم لطفا در صورت پاسخ، مطلب رو به صورت کامل شرح بدید

ممنون

aliaaa
جمعه 28 تیر 1387, 22:29 عصر
می تونید تاریخ اولین روز نصب رو تو registry بنویسید و درهنگام اجرای برنامه هر بار آن را بخوانید و با تاریخ الان مقایسه کنید. کلاس رجیستری:
Microsoft.Win32.Registry.GetValue(string, string, object(
Microsoft.Win32.Registry.SetValue(string, string, object)

Amir Oveisi
شنبه 29 تیر 1387, 01:59 صبح
می تونید تاریخ اولین روز نصب رو تو registry بنویسید و درهنگام اجرای برنامه هر بار آن را بخوانید و با تاریخ الان مقایسه کنید.

به این سادگیام نیست!

gdevnb
شنبه 29 تیر 1387, 04:41 صبح
سلام
برای این کار اگه میخوایید از رجیستری استفاده کنید تاریخ رو رمزنگاری کرده بعد ذخیره کنید در این صورت نیازه برنامه خوب Protect بشه تا کلید(ها) لو نره.درنتیجه شما نیاز به یه Protector دارید من پیشنهاد میکنم از محصولات شرکت Ezriz استفاده کنید در این صورت نیازی نیست برای Expire کردن هم کد بنویسید چون این محصولات این امکانات رو بهتون میده.
Dotnet Reactor
Intellilock

nimnegah
شنبه 29 تیر 1387, 08:33 صبح
سلام
برای این کار اگه میخوایید از رجیستری استفاده کنید تاریخ رو رمزنگاری کرده بعد ذخیره کنید در این صورت نیازه برنامه خوب Protect بشه تا کلید(ها) لو نره.درنتیجه شما نیاز به یه Protector دارید من پیشنهاد میکنم از محصولات شرکت Ezriz استفاده کنید در این صورت نیازی نیست برای Expire کردن هم کد بنویسید چون این محصولات این امکانات رو بهتون میده.
Dotnet Reactor
Intellilock


ميشه لطفا بيشتر توضيح بدين؟

alirzn
شنبه 29 تیر 1387, 08:42 صبح
باید وقتی برنامه نصب میشه تاریخ رو بگیری و بعد تو source برنامت تاریخ expire تعریف کنی که بعد از اون برنامه باز نشه یا پیغام بده.


:متعجب:با سلام خدمت دوستان گرامی
من می خواستم بدونم که چطوری میشه وقتی یه برنامه رو با c#.net نوشتی برای اون تاریخ expire رو تعیین کنی ؟ من با c#.net برنامه مینویسم ولی تا حالا به این موضوع بر نخورده بودم لطفا در صورت پاسخ، مطلب رو به صورت کامل شرح بدید

ممنون

gdevnb
یک شنبه 30 تیر 1387, 13:11 عصر
سلام
در مورد رمز نگاری و ذخیره در رجیستری مطالب زیادی تو سایت میتونی پیدا کنی.

subsub
سه شنبه 12 شهریور 1387, 06:02 صبح
دوستان با این روشی که معرفی می‌کنند، اگه کاربر تاریخ سیستم رو تغییر بده بازهم برنامه Expired میشه؟

dr_csharp
سه شنبه 12 شهریور 1387, 09:01 صبح
دوستان با این روشی که معرفی می‌کنند، اگه کاربر تاریخ سیستم رو تغییر بده بازهم برنامه Expired میشه؟
سلام.ماه رمضون مبارک
منبعی که شما از روی اون تاریخ رو چک میکنید سیستم عامل هست پس واضحه که اگر توسط کاربر این تاریخ دستکاری بشه برنامه شما نیز تاثیر می پذیرد..شاید اگه بیاین و تغییر تاریخ سیستم با تاریخ شروع کار برنامه را درنظر بگیرید بهتر باشه.
برای مثال:تاریخ شروع :01/02/1387 و مدت کارکرد برنامه 20 روزه
الان تاریخ 16/02/1387 هست و 15 روز از کارکرد برنامه گذشته.هر بار که برنامه اجرا میشه این اختلاف رو رمزشده یه جایی ذخیره کنید.حال اگه کاربر تاریخ سیستم رو به 12/02/1387 تغییر بده اختلاف با تاریخ شروع 11 تا میشه و چون از مقدار قبلی یعنی 15 کمتره کاربر رو تنبیه میکنید و 15+12 رو ذخیره میکنید که میشه 27 روز و برنامه Expire میشه :لبخند:
دوستان اگه راه حل بهتری دارن ممنون میشم مطرح کنند :لبخندساده:

subsub
سه شنبه 12 شهریور 1387, 10:12 صبح
سلام.ماه رمضون مبارک
منبعی که شما از روی اون تاریخ رو چک میکنید سیستم عامل هست پس واضحه که اگر توسط کاربر این تاریخ دستکاری بشه برنامه شما نیز تاثیر می پذیرد..شاید اگه بیاین و تغییر تاریخ سیستم با تاریخ شروع کار برنامه را درنظر بگیرید بهتر باشه.
برای مثال:تاریخ شروع :01/02/1387 و مدت کارکرد برنامه 20 روزه
الان تاریخ 16/02/1387 هست و 15 روز از کارکرد برنامه گذشته.هر بار که برنامه اجرا میشه این اختلاف رو رمزشده یه جایی ذخیره کنید.حال اگه کاربر تاریخ سیستم رو به 12/02/1387 تغییر بده اختلاف با تاریخ شروع 11 تا میشه و چون از مقدار قبلی یعنی 15 کمتره کاربر رو تنبیه میکنید و 15+12 رو ذخیره میکنید که میشه 27 روز و برنامه Expire میشه :لبخند:
دوستان اگه راه حل بهتری دارن ممنون میشم مطرح کنند :لبخندساده:

ای دزد.:لبخند:

شوخی کردم. این روش به ذهن خودم هم رسید اما اگه قبلاً کسی چنین برنامه پیچیده رو نوشته، در اختیار دوستان قرار بده تا دوستان بتونند سریع برنامه‌هاشون رو تولید کنند.

Amir Oveisi
سه شنبه 12 شهریور 1387, 20:28 عصر
من پیشنهاد میکنم برای محدود کردن زمان استفاده از برنامه، به جای اینکه از تاریخ سیستم عامل استفاده کنید، برنامه خودتون تاریخ شمار باشه!
مثلا به جای اینکه بگین 20 روز محدودیت زمانی داره بگین مثلا 60 ساعت محدودیت زمانی داره، اینجوری میتونین با یه تایمر ساده مدت زمان کارکرد برنامه رو داشته باشید و اونو بصورت رمزنگاری شده در جایی نگهداری کنید.
حالا کاربر هر چقدر که میخواد تاریخ سیستم عامل رو تغییر بده!!!

موفق باشید
jooje

amir-haghighi
سه شنبه 12 شهریور 1387, 21:17 عصر
به ياد او::

در اينستال شيلد اين توانايي وجود دارد.

subsub
چهارشنبه 13 شهریور 1387, 21:41 عصر
به ياد او::

در اينستال شيلد اين توانايي وجود دارد.

میشه بیشتر توضیح بدید.

یعنی اینستال شیلد به طور پیش‌فرض این کار رو بدون دخالت برنامه انجام میده؟

با تغییر تاریخ سیستم، میشه سر اینستال شیلد کلاه گذاشت؟

Nima NT
چهارشنبه 13 شهریور 1387, 22:06 عصر
با توجه با ساختار فایل های دات نت و آسیب پذیری زیاد اونها در مقابل کراکر ها به نظر بنده اگر قصد ارائه نسخه دمو دارید ، برخی از امکانات رو از بیخ حذف کنید و بعد بدین دست مشتری.

subsub
چهارشنبه 13 شهریور 1387, 22:12 عصر
با توجه با ساختار فایل های دات نت و آسیب پذیری زیاد اونها در مقابل کراکر ها به نظر بنده اگر قصد ارائه نسخه دمو دارید ، برخی از امکانات رو از بیخ حذف کنید و بعد بدین دست مشتری.

همیشه که محدودیت زمانی استفاده از برنامه برای ارائه نسخه دمو نیست.

Amir Oveisi
چهارشنبه 13 شهریور 1387, 22:17 عصر
ولی این کار دیگه منسوخ شده.
معمولا واسه اینکه کاربرها با قابلیت و توانایی واقعی برنامه آشنا بشن الان اکثر نرم افزار ها رو بصورت Full Functional میدن دست کاربر و از محدودیت زمانی استفاده میکنن.
البته به نظر من بستگی به نرم افزار مورد نظر هم داره. مثلا من یه برنامه File Encrypter نوشته بودم که محدودیت نسخه trial ش این بود که کاربر فایل با سایز بیشتر از 10MB رو نمیتونست encrypt کنه، ولی با وجود اینکه از عملکرد کامل برنامه یه چیزی کم شده بود اما کاربر قابلیت برنامه رو کاملا حس میکرد.
کلا به نوع نرم افزار مورد نظر بستگی داره به نظر من...

Nima NT
چهارشنبه 13 شهریور 1387, 22:24 عصر
فرمایش شما صحیحه ، ولی شکستن قفل برنامه های تریال زمانی هرقدر هم که پیچیدگی داشته باشه ، سخت نیست.

مهدی رحیم زاده
پنج شنبه 14 شهریور 1387, 07:19 صبح
ای دزد.

شوخی کردم. این روش به ذهن خودم هم رسید اما اگه قبلاً کسی چنین برنامه پیچیده رو نوشته، در اختیار دوستان قرار بده تا دوستان بتونند سریع برنامه‌هاشون رو تولید کنند.
من سعی می کنم تا چند وقت دیگه یکی بنویسم . اما ممکنه زمان ببره چون خیلی سرم شلوغه . قبلا یه همچین چیزی نوشته بودم . البته یکمی که نه خیلی ساده تر !!!

sina.kh
پنج شنبه 29 تیر 1391, 10:00 صبح
سلام دوستان.یکی کد Expire کردن در سی شارپ رو برای من بذاره.ممنون میشم.
همچنین آموزش چاپ فاکتور بدون کریستال ریپورت(میخوام در فرم چاپ فاکتور فروش کالای مورد نظر انتخاب و زمانی که چاپ زده شده شد یک نمای کلی از چاپ و اطلاعات بیاد بعد...)خواهش میکنم کامل کمک کنید.آخه واسه پروژه پایان ترم دانشگاه میخوام.ممنون

nedamovahedi
یک شنبه 13 مرداد 1392, 13:03 عصر
سلام دوستان.خسته نباشید جمیعا.
یه سوال : فرض کنین برنامه هم نسخه ی سرور داره هم کلاینت.به نظرتون برای Trial کردن این رو چطوری باید مدیریت بکنیم؟؟!!
باید برای هر کلاینت جدا زمان Expire شدن بدیم یا نه؟؟؟
در ضمن برنامه با #و ویندوزی هست.