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

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




صفحه 1 از 3 123 آخرآخر
نمايش نتايج 1 به 10 از 30

نام تاپيک: ایجاد لایسنس ، شماره سریال

  1. #1
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    14 ایجاد لایسنس ، شماره سریال

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

    و یه چیزه دیگه فرض کنید کد تولید شده . حالا می خواهیم که مشتری پس از پرداخت مبلغی کد اول رو بده و کد دوم رو بگیره . می خوام ببینم میشه همه ی این کارا رو به صورت آنلاین انجام داد . از پرداخت مبلغ تا دریافت کد .
    یه چیز دیگه که مثلا برنامه ۳۰ روزه باشه . روز شمار داشته باشه و نشون بده که چند روز باقی مانده . و اینکه بعد از حذف و نصب برنامه این تعداد روز ها از دست نره . همین طور بعد از عوض کردن ویندوز هم اگه بشه دیگه عالی میشه .

  2. #2
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    یعنی واقعا کسی بلد نیست؟!

  3. #3
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    14

    خودمونیما یه سوال پرسیدیم یه هفته هست هیچکی بلد نیست

  4. #4
    کاربر فعال آنتی‎ویروس و نرم‎افزارهای امنیتی M.Hashemi's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    کرمان - رفسنجان
    پست ها
    726

    پيش فرض

    با سلام
    داداش من در حدی نیستم که بتونم کامل جواب شما را بدم اما نظر خودم را میگم.
    1- شما باید سریال هارد و ... را بگیرید(با استفاده از دستورات خود .net اگر در اینترنت بگردی پیدا می کنی).
    2- با استفاده از کدهای بدست امده یک کد بسازید.
    3- این سریال را رمز گذاری کنید
    4- سپس مقدار رمز گذاری شده ی بدست امده را در یک فایل ذخیره کند و این فایل را از کاربر بگیرید
    5- هال این مقدار رمز گذاری شده را به حالت اولیه برگردانید و به عنوان سریال به کاربر بدهید تا برنامه فعال شود.
    ----------
    پس یعنی شما یک فایل از کاربر میگیرید و یک سریال به کاربر می دهید.
    بازم حاضرم نظر بدم
    پیروز باشی
    با تشکر

  5. #5
    پروفشنال Bobby Sands's Avatar
    تاريخ عضويت
    Jul 2010
    پست ها
    846

    پيش فرض

    سلام دوست عزیز
    ببین این چند مورد شاید به دردت بخوره
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  6. #6
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

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

    اگه میخوای سریال نرم افزار فقط رو یه سیستم جواب بده میتونی از این روش استفاده کنی.
    1- شما باید بر اساس سریال هارد و مادربرد کد رمزنگاری شده تولید کنی و به عنوان سریال به کاربر بدی.
    2- هنگام رجیستر نرم افزار به صورت آنلاین و از طریق سرور چک کنی که قبلا این سریال در سیستم ثبت شده یا نه. تا اگه الگوریتم ساخت سریالت لو رفت فقط سریال های موجود در دیتابیس اکتیو بشن.
    3- هنگام استفاده از نرم افزار چک کنی تا نرم افزار با 1 سریال رو 2 تا سیستم نصب نشده باشه (حالا به هر طریقی).
    مراحل 2 و 3 واسه امنیت بیشتره و میتونی ازش صرف نظر کنی.

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

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

  7. #7
    پروفشنال shadmehrshadow1's Avatar
    تاريخ عضويت
    Oct 2009
    پست ها
    842

    پيش فرض

    ساخت شماره سریال رو میشه یه کاریش کرد . مشکل اصلی اون 30 روز هست . یعنی روزشمار بزاری و اگه برنامه رو حذف و دوباره نصب و یا ویندوز رو عوض کنه این روزا از دست نره . اینترنت هم راه فرار داره میشه موقع کانکت شدن برنامه رو بست .
    میشه نحوه به دست آوردن شماره سریال هارد به صورت سخت افزاری بگید . چون فکر کنم شماره سریال نرم افزاری هارد بعد عوض کردن ویندوز تغییر می کنه.
    فکرنکنم کرکرها هم وقت نمیزارن که برای برنامه من کرک بسازن

    یه نگاه هم به این کد بکنید :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اولین مقدار مدل و دومی سریال.این سخت افزاری یا نرم افزاری؟
    Last edited by shadmehrshadow1; 24-07-2011 at 15:27.

  8. #8
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

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

    کلاس System.Management مشخصات سخت افزاری قطعات رو میده. اصلا فکر نمیکنم هارد سریال نرم افزاری داشته باشه.

    در کنار SerialNumber و model میتونی از signatur هم استفاده کنی و در تولید سریال ازش کمک بگیری. البته یه بررسی بکن که signatur تو هر هاردی یونیک باشه.

  9. #9
    پروفشنال anvar.net's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    IRAN
    پست ها
    648

    پيش فرض راه حل های ثبت نرم افزار و صدور مجوز استفاده از نرم افزارها در VS.net

    سلام

    چندی پیش یه دوستی تو همین تالار این سوال رو کرده بود اما به نتیجه قطعی نرسید, در همون موقع تلاش مختصری کردم که روش مناسبی برای حل این مشکل که هم دنبالشن پیدا کنم. متاسفانه بدلیل ذیق وقت به اخر نرسید و به حال خود رها شد .... حالا دوباره همون سوال و همون مشکلات ... امروز که به این پست رسیدم به خودم گفتم دوباره موضوع رو از سر بگیرم انشاء الله این دفعه تکمیل بشه ... بار هم به دلیل کمبود وقت تا چند روزی نمی تونم براش وقت بذارم ولی تا 3 روز اینده سعی م یکنم روش کار و حل مشکلی که در این بین دیده میشد رو مطرح کنم شاید در کنار دوستان بتونیم به نتیجه قابل اطمینانی برسیم, یه راهنمای مختصری که قصد اتمام آنرا داشتم نیز نوشتم اما بنابه دلایل ذکر شده در بالا چندان جلو نرفت ............... اینها رو به عنوان مقدمه کار قرار می دم تا 3 روز دیگه بریم سر کدها و سایر مسائل
    به امید خدا

    راه حل های ثبت نرم افزار و صدور مجوز استفاده از نرم افزارها در VS.net

    هدف از طراحی هر نرم افزار کوچک یا بزرگی استفاده از آن توسط کاربر یا کاربران نهایی است.در این میان استفاده رسمی از نرم افزار, مطلوب طراحان یا توزیع کنندگان اصلی بوده و ضعف در این زمینه می تواند منجر به فروپاشی تمامی طرح و برنامه های از پیش تعیین شده باشد. البته ذکر این نکته نیز قابل توجه است که امنیت مطلق برای هیچ سیستمی تعریف نشده است و رسیدن به آن در حال حاضر غیر ممکن است.

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

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

    هدف کلی ما روش هایی برای محدود کردن کاربران غیر قانونی در استفاده از برنامه های نوشته شده در محیط ویژوال استدیو دات نت است, گرچه روشن است که تعریف امنیت فقط در این سطح کاملا سطحی است. همچنین در این راستا می توانیم برنامه های بسازیم که شمایی از برنامه اصلی هستند و صرفا برای مقاصد اموزشی و معرفی بکار می روند تا کاربران با امکانات و ابزارهای برنامه ما آشنا شوند. راهکارهای مناسبی نیز ارائه می شوند تا از استفاده کاربران غیر مجار جلوگیری کنیم و آنها را مجبور به ثبت نرم افزار کنیم.

    حفظ امنیت در برنامه های تحت دات نت صرفا محدود به مباحث بالا نمی شود و ایجاد امنیت یکپارچه را باید در تمامی مسیر طراحی و توسعه رعایت کرد که در زمان حاضر بر روی آن بحث نمی کنیم, شاید در یک فرضت مناسب تر به گوشه های از آن اشاره کردم.

    با توجه به در خواست یکی از دوستان همین انجمن که چند روز پیش نوشته بود و تقاضا داشت تا رویکردی برای ثبت نرم افزار در برنامه مورد نظر خودش داشته باشد, این بحث رو دنبال کردم تا سایرین نیز استفاده ببرند.
    قبل از هر چیز لازم است نگاهی به تاریخچه کسب مجوز برای استفاده از نرم افزارها داشته باشیم تا روال کار بهتر قابل درک باشد. در روزهای اولی که تکنولوژیهای کامپیوتری پا به عرصه ظهور گذاشتند عملا هیچ گونه راهکاری برای مسئله کسب مجوز نبود, سیستم های کامپیوتری عمومی نبودند و کسانی هم که با آنها کار می کردند تکنسین های متخصص و دارای مجوز بودند که با دستگاههای بسیار بزرگ و حجیم سروکله می زدند, افراد عادی هم به این سیستم ها دسترسی نداشتند بنابراین عملا نیازی به صدور مجوز هم نداشتند. اما بعد از گذشت چندین سال, شرایط به کلی تغییر کرد. کامپیوترها به شرکت های ریز و درشت راه پیدا کردند و در اندک زمانی بسیاری از خانه ها صاحب یک کامپیوتر رومیزی شدند که نیاز اصلی آنها نرم افزارهای رنگ وارنگ برای کارهای مختلف بود. در این زمان کاربران نه تنها تکنسین نبودند بلکه قشر کثیری از آنها هم قانونا مجوز استفاده از بسیاری از نرم افزارها را نداشتند ............ توسعه دهندگان نرم افزار با این شرایط باید در فکر راه و چاره ای برای محدود کردن انتشار غیر قانونی و استفاده بدون مجوز توسط کاربران می شدند. به هر حال مسئله ای به اسم Licencing بوجود امد که معنای و مفهومش نیز همراه با ریشه کلماتش بود (برگرفته از کلمات Li به معنی دروغ گفتن و Cense که از کلمه سنت امریکایی گرفته شده است ) در مجموع معنای آن می شود دروغ گفتن درباره واحد بسیار کمی از پول.
    در اولین و ساده ترین قدم فقط موافقت نامه هایی بین توزیع کنندگان نرم افزار و خریداران رد و بدل می شد که خریدار متعهد به رعایت مفاد موافقت نامه می گردید. با گذشت زمان مشخص شد که صرفا تائید لفظی یک نرم افزار چندان چاره ساز نیست لذا توسعه دهندگان نرم افزار راه حل جدیدی را برای تفکیک کاربران دارای مجوز و کاربران سارق پیدا کردند. یعنی اختصاص کلیدهای عبور منحصر به فرد برای هر کاربر. با این استراتژی تا حدودی شرایط بر وفق مراد توسعه دهندگان نرم افزار چرخید اما زیاد دوام نیاورد. اعجوبه های عجیب و غریبی که نام کرکر به خود گرفته بودند نرم افزارهای گران قیمت چند هزار دلاری را در چند سوت لخت نموده و در پناه دنیای وب در سراسر دنیا پخش می کردند. جدالی که هنوز هم پابرجاست و بازار نرم افزار کشورهای جهان سوم ( خودمان هم که مشتری پروپا قرص این کهنه بازار بوده و هستیم) به مدد آن دارای جنب و جوش خاصی شده است. گرچه این نفوذها همیشگی هستند اما دلیلی برای دنبال نکردن تکنولوژی های امنیتی نیست و ما در حد توان خود برای آن باید برنامه ریزی داشته باشیم. به قول ما ایرانی ها (کار از محکم کاری عیب نمی کند)

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

    در صورت استفاده از رویه بالا, تولید کنندگان نرم افزار نیاز به راهی برای تولید کلید رمز یکتا دارند. برای تولید کلیدهای رمز معمولا 3 روش دنبال می شود :
    • حالت اول : در این حالت صرفا یک کلید رمز با توالی خاصی تولید می شود که با شاخص های دیگری مانند ID محصول یا ورژن آن ترکیب می شود. مهمترین مزیت این نوع کلیدهای رمز راحتی فرایند ساخت انها است و برنامه نیز نیاز به منطق پیچیده ای برای سنجش اعتبار رمز ندارد, در واقع برنامه فقط فرمت صحیح کلید رمز را چک می کند. عیب اصلی این روش هم در این است که براحتی می توان فرمت تولید کلید های رمز را تشخیص داد و سریال های معتبر جدیدی مشابه با آن ساخت.
    • حالت دوم : استفاده از کلیدهای رمز هش شده که با استفاده از یک شماره سریال اصلی یا فرمول خاص ساخته میشوند. در این حالت منطق اعتبار سنجی کلیدهای رمز ورودی نیز پیجیده تر از حالت قبل است و در صورتی که به فرمول ساخت کلیدها دسترسی نداشته باشیم فهمیدن منطق آنها پیچیده می شود. با استفاده از یک الگوریتم هش خوب می توان کلیدهای رمز مناسبی با سطح وسیع تولید کرد. در این حالت نیز ممکن است کلید به همراه ترکیبی با سایر شماره ها باشد. مانند سریال بعضی محصولات مایکروسافت
    • حالت سوم : در این روش کلیدهای رمز بر اساس یک شماره سریال که معمولا در زمان اجرا بدست می آید ساخته می شوند. در واقع کلید رمز نهایی وابسته به کلید اولیه است. می توان شماره سریال سخت افزارهای کامپیوتر را نمونه ای از این دست دانست که نسبتا منحصر به فرد هستند و رمز تولید نیز یکتا باقی می ماند حالت دیگری نیز ممکن است مطرح شود, در این حالت ممکن است طراح نرم افزار از ما بخواهد از طریق کامیپوتری که قرار است برنامه نصب شود با اینترنت متصل شده و کلیدهای فعال سازی دریافت شود. در این حالت نیز تولید کلید ممکن است بر اساس IP یا سریال های سخت افزاری باشد..


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

    نرم افزار ما که در محیط ویژوال استدیو نوشته شده (من از VB استفاده می کنم) فرم خاصی برای ثبت دارد که تا زمان ورود رمز صحیح از ورود کاربر به برنامه جلوگیری می کند. و بدون پشت سر گذاشتن آن راهی برای ورود به برنامه نیست.




    خوب حال سوال این است که در پشت این فرم ها چه می گذرد و اعتبار سنجی چگونه صورت می گیرد, رمز ها چگونه و بر اساس چه اسلوبی تولید می شوند, پس از این که برنامه بصورت قانونی ثبت شد برنامه چگونه آنرا تشخیص بدهد. و در نهایت با چه رویکردی از آن حفاظت بعمل آید. به عبارتی باید دنبال این سوالات باشیم.
    1 - رمز مورد نیاز کاربر را چگونه تولید کنیم که توسط برنامه معتبر تشخیص داده شود؟
    2 - برنامه چگونه رمز ارسالی کاربر را اعتبار سنجی کند؟
    3 - اگر رمز معتبر بود, چگونه به برنامه تفهیم کنیم که در مراجعات بعدی کاربر, از وی درخواست رمز نکند؟

    در نهایت هم ممکن است سوال چهارمی پیش بیاید که :
    اگر قرار است که برنامه ما بصورت زمانی کار کند چگونه گذشت زمان و رسیدن به نقطه پایانی را مشخص کنیم؟

    حال که نیازهای ما مشخص شدند, به هر کدام می پردازیم
    تولید رمز برای برنامه های نوشته شده تحت ویژوال استدیو دات نت (2005 تا 2010) : البته ذکر این نکته قابل توجه است که منظور ما از تولید کلید رمز صرفا تولید سریال رمز نیست بلکه تولید فایل های لایسنس هست که دربردارنده کلید رمز می باشند و برای فعال سازی برنامه بکار می روند و مستقیما هیچ کلید رمزی نمی سازیم.
    فایل های لایسنس تولید شده بصورت فایل های xml هستند که بصورت مجزا در کنار برنامه اصلی قرار می گیرند و برنامه ما نیز با خواندن محتویات فایل های لایسنس اعتبار آنرا چک می کند. هر فایل لایسنس نیز شامل یک امضاء دیجیتال است. امضاء دیجیتال بر اساس رمزسازی کلید عمومی-اختصاصی (public-private key encryption) تولید می شود. با این حساب هر زمان که برنامه ما اجرا می شود مبادرت به خواندن فایل لایسنس می کند, اگر فایل لایسنس وجود نداشته باشد یا محتوی داده های غیر معتبر یا امضاء غیر معتبر باشد واکنش مناسب را از خود نشان خواهد داد.
    نوع برنامه های که می خواهیم سیستم لایسنس را برای آن طراحی کنیم فرقی نمی کند چه باشد, به هر حال ما برنامه داریم به نام application که باید سیستم مناسبی برای لایسنس ان طراحی کنیم.
    فایل لایسنس که در بالا اندکی در موردش نوشتیم بصورت فایل xml است که در قدم اول دربردارنده مشخصات عمومی است و شمای کلی آن بصورت زیر است. فرایندی که امضاء دیجیتال را نیز می سازد, امضاء را بصورت رمز شده در داخل همین فایل لایسنس قرار می دهد.

    <?xml version="1.0"?><License> <Product>application</Product> <LicenseDate>1/1/2000</LicenseDate> <ExpireDate>12/31/2999</ExpireDate> <CoveredVersion>1.*</CoveredVersion> <Licensee>m anvar.net</Licensee> <SerialNumber>LIB-123456789</SerialNumber>
    <Signature> Digital signature appears here (not shown) </Signature></License>

    تگ های LicenseDate و ExpireDateابتدا و انتهای تاریخ معتبر لایسنس را مشخص می کنند, تگ Licensee مشخص کننده نام خریدار لایسنس است. تگ SerialNumber محتوای شماره سریال تعریف شده توسط فروشنده است که با این لایسنس یکتا همراه می شود. نگ CoveredVersion نیز مشخص کننده ورژن کنونی برنامه است که مشابه با اسمبلی تولید شده توسط ویژوال استدیو است, هر ورژن دارای 4 نقطه است که مشخص کننده چهار قسمت حائل می شود. مثلا ورژن 1.2.3.4 از سمت چپ به راست : عدد 4مشخص کننده ورژن عمده یا major, عدد 3 مشخص کننده ورژن کوچک تر یا minor , عدد 2 مشخص کننده توالی ساخت یا build و عدد 1 هم مشخص کننده ورژن تجدید نظر شده است. هر مولفه می تواند عددی بین 0 تا 9999 یا علامت * ستاره باشد. علامت ستاره مشخص می کند که مکان مورد نظر دارای مقادیر معتبر است.
    قسمت Signature هم مکان امضاء دیجیتال تولید شده است, فرمت این قسمت وابسته به ابزارهای کریپتوگرافی xml در دات نت است که این قسمت را تولید می کنند. یعنی اگر برای تمامی فایل های لایسنس از یک برنامه تولید کننده فایل لایسنس استفاده کنیم فرمت امضاء دیجیتال همگی آنها مشابه هم خواهد بود. برنامه تولید کننده فایل لایسنس یک جفت کلید عمومی و اختصاصی می سازد که برای امضاء کردن دیجیتال بکار می روند. قسمت عمومی این کلید که بصورت فایل xml است باید بعنوان یک منبع (resource) با نام LicensePublicKey به برنامه اصلی اضافه شود. قسمت اختصاصی آن نیز باید بصورت خصوصی نگه داشته شود. برای مجکم کاری این جفت کلید ها باید تا زمان عمر برنامه اصلی نگهداری شوند. مکان فایل لایسنس را نیز می توان در بخش setting برنامه اصلی قرار داد تا بهتر بتوانیم انرا مدیریت کنیم. می توان برنامه اصلی را جوری نوشت که در صورت نیافتن فایل لایسنس در پوشه های برنامه به دنبال آن بگردد.
    تولید فایل لایسنس

    برای تولید فایل های لایسنس ما نیاز به برنامه مجزایی داریم که منحصرا کارش تولید فایل های لایسنس است و باید مستقل از برنامه اصلی باشد. برنامه تولید لایسنس دارای سه مولفه اصلی است :
    • کلیدهای عمومی و اختصاصی که در فرایند امضاء مورد استفاده قرار می گیرند را می سازد و مدیریت می کند
    • کاربر را برای تاریخ لایسنس, تاریخ انقضاء , ورژن برنامه, نام لایسنس و شماره سریال برای یک لایسنس واحد به فعالیت وا می دارد.يعني با توجه به ورودي هاي بالا كليدها را توليد مي كنيم.
    • فایل xml لایسنس را تولید کرده و با استفاده از کلید اختصاصی بصورت دیجیتالی آنرا امضاء می کند.

    حال برنامه تولید لایسنس را می سازیم. این برنامه دو فرم دارد. فرم keyform برای تولید یا پیدا کردن کلیدهای عمومی- اختصاصی که در فرایند امضاء دیجیتال بکار می روند. فرم دوم LicenceGeneration است که فایل های لایسنس نهایی را برای مشتری تولید می کند.

    فرم keyform وظیفه پیدا کردن مسیر یا ساختن کلیدهای عمومی اختصاصی را بر عهده دارد. فرم LicenceGeneration نیز وظیفه ساخت فایل لایسنس بر اساس جفت كليدهاي عمومي اختصاصي برای کاربر نهایی را بر عهده دارد. وظیفه این فرم در ابتدا مطمئن شدن از سالم بودن فایلهای کلید عمومی خصوصی و پس از ان اطمینان از صحت اطلاعات ورودی کاربر است.

    ادامه دارد ....
    Last edited by anvar.net; 25-07-2011 at 13:21.

  10. 3 کاربر از anvar.net بخاطر این مطلب مفید تشکر کرده اند


  11. #10
    اگه نباشه جاش خالی می مونه احمد دات's Avatar
    تاريخ عضويت
    Jan 2010
    محل سكونت
    تهران
    پست ها
    429

    پيش فرض

    [QUOTE=shadmehrshadow1;6261368]سلام
    من یه برنامه می خوام بنویسم و می خوام براش لایسنس یا یه کد فعال سازی بزارم چند مورد هست :
    یکی اینکه چه روشی بهتر از همه هست .


    سلام دوستان عزیز

    خوب به نظر من برنامه های که ما می نویسیم یک قفل 90% هم داشته باشه کافی هست
    خوب من به رندوم علاقه ای خاصی دارم بس یک قفل رندم ساده برای شما توضیح می دم و اگر هم خواستید در محیط vb.net براتون می نویسم
    خوب شما یک برنامه می نویسید که این برنامه بعد از نسب یک رمز بصورت رندم بین 10000 تا 20000 می اندازه بعد این رمز رو به کاربر نمایش میده و از اون می خواد که به این شماره رمز رو sms کنه
    حالا شما که این برنامه رو نوشتید این sms دریافت می کنید
    خوب این sms یک شماره است که شما اونرو در فرمولی که خودتون ساختید و در برنامه هم گذاشتید یک شماره جدید ایجاد می کنید و به کاربر می دهید تا با آن وارد سیستم بشود


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

صفحه 1 از 3 123 آخرآخر

Thread Information

Users Browsing this Thread

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

User Tag List

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

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