تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 8 از 8

نام تاپيک: لایسنس برای برنامه

  1. #1
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    14 لایسنس برای برنامه

    سلام.
    چطور می تونیم برنامه امون رو بصورت تریال عرضه کنیم؟
    در واقع بهترین راه که بشه عملیش کرد و امن هم باشه چیه؟
    ممنون.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    به راه های متعدد میتوان این کار را انجام داد.
    ساده ترین راه ارائه یک نسخه متفاوت برای دوره آزمایشی است که مدت زمان کارکرد یا دفعات اجرا را در قالب یک داده رمزنگاری شده در فایلی یا در رجیستری نگاه دارد ولی مشکلی که دارد آن است که اگر کسی متوجه فایل یا کلید رجیستری شود (که خواهد شد) میتواند با تعویض و به نوعی فریز کردن آن فایل زمان برنامه تان را نامحدود کند.

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

    مزیتی که این روش ارائه میدهد ان است که سرور میتواند فهرستی از رایانه هایی که کد فعال سازی گرفته اند را ذخیره کند و به یک رایانه دوبار کد فعال سازی ندهد. (یک سد بیشتر)

    در این روش اگر محل ذخیره در فایل یا رجیستری فاش شود با کپی-بازیابی یا هر نوع فریز دیگری روی فایل باز هم برنامه حداقل یک تاریخ شروع فریز شده را دارد که منجر میشود کاربر مجبور شود ساعت سیستم را هم فریز کند (یک پله کار سختر میشود) و اگر برنامه دیتابیسی و سند گرا باشد (مانند یک برنامه فاکتور یا حسابداری) این فریز زمان عملاً استفاده از برنامه را غیر عملی میکند، مخصوصا که برنامه نویس تاریخ فیلدهای ورودی را روی محدوده تریال قفل کرده باشد. (بازهم یک پله سختر البته برای برنامه هایی که تاریخ روز برایشان مهم است)

    و...

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #3
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    پيش فرض

    سلام.
    ممنون از ارائه مطالبتون.
    من از این روش استفاده می کنم:
    تاریخ شروع برنامه و اینکه برنامه قابل استفاده باشه یا نه رو با الگوریتم MD5 کد می کنم و توی دیتابیس برنامه می زارم.
    از اونجایی که اطلاعات کد شده قابل تغییر نیست.
    البته مشکل فریز کردن تاریخ هم هست.
    اما اگه امکانش هست یه توضیح روی روشتون بدین. اینکه چطور میشه کد هش از اطلاعات سخت افزار درست کرد و اینکه چطور میشه تو رجیستری ریختش.
    ممنون.

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    در ساده ترین حالت ممکن میتوان گفت:

    برنامه در رایانه کاربر اجرا شده و سریال پردازنده یا هارد و... را در می آورد.
    این سریال طول ثابتی ندارد و به همین شکا خیلی هم ایمن نیست
    در نتیجه سریال فوق از یک الگوریتم هش مانند md5 رد میشود و دیتایی با طول ثابت ایجاد میشود.
    به عنوان نمونه 16 بایت یا یک متن 22 حرفی ------ یا 26 حرفی base32 یا 32 حرفی hex که به کاربر نشان داده میشود.


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


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


    در این بین میتوان کدی بعنوان سریال CD یا سریال خرید را هم از کاربر دریافت کرد و سرور در صورت صحت آن و عدم استفاده خارج از تعداد مشخص، کد فعال سازی نهایی را صادر کند.

    الگوریتمی شبیه این
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #5
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    پيش فرض

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

  8. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    برای دریافت اطلاعات سخت افزاری میتوانید از کتابخانه System.Management.dll استفاده کنید.
    مثال:
    به عنوان نمونه کد زیر سریال اولین هارد را برمیگرداند:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و...
    موفق باشید.

  9. #7
    پروفشنال aliaghaaaaa's Avatar
    تاريخ عضويت
    Feb 2008
    محل سكونت
    فارس/آباده
    پست ها
    518

    پيش فرض

    سلام.
    برنامه من به ManagementObjectSearcher اررور میده و میگه namespace اون رو نمیشناسه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  10. #8
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    همانطورکه در پست قبلی اشاره ای کردم، باید اسمبلی System.Management.dll را reference کنید.

  11. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •