PDA

View Full Version : قفل کردن setup برنامه



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

Sayehzendeh
یک شنبه 06 خرداد 1386, 09:42 صبح
شما چندین راه دارید
1-LICENSE گذاشتن روی برنامه
2- بحث STRONG NAMING را رعایت کنید
3-با استفاده از نرم افزارهای قفل گذار و SETUP ساز این کار را بکنید
4-با دستکاری در REGISTERY

Keramatifar
یک شنبه 06 خرداد 1386, 11:40 صبح
دوست عزیز
استفاده از رجیستری رو بکل فراموش کن چون دیگه همه یاد گرفتن با مونیتور کردن رجیستری (با استفاده از برنامه های رجیستری مونیتورینگ) در هنگام اجرای برنامه کلیدهاشو در رجیستری پیدا کنن

اگر برنامت فیدبک مالی خوبی برات داره و کرک نشدنش برات مهمه می تونی یه سری به novinmedia.com بزنی ولی در غیر اینصورت می تونی یک ID از سخت افزار هر کامپیوتر بعنوان شماره سریال بگیری و بر اساس فرمولی براش کد فعال کننده تولید کنی ...
به این صورت می تونی به هدفت برسی

مهدی رحیم زاده
یک شنبه 06 خرداد 1386, 12:48 عصر
-LICENSE گذاشتن روی برنامه
2- بحث STRONG NAMING را رعایت کنید
3-با استفاده از نرم افزارهای قفل گذار و SETUP ساز این کار را بکنید
4-با دستکاری در REGISTERY
اگر میشه یه توضیح کوچولو در مورد هر کدوم و معرفی نرم افزار های معروف ...

می تونی یک ID از سخت افزار هر کامپیوتر بعنوان شماره سریال بگیری و بر اساس فرمولی براش کد فعال کننده تولید کنی ...

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

مهدی رحیم زاده
دوشنبه 07 خرداد 1386, 05:50 صبح
کسی پیدا نمیشه که منو راهنمایی کنه ؟؟؟

HAIdle
دوشنبه 07 خرداد 1386, 13:37 عصر
اگه خیلی این نرم افزاره مهمه می تونی بری یه شرکتی مثل پیام پرداز و برای هر نسخه برنامه یه usb tocken ناقابل بخری. چیزی حدود 30000 تومان هم بیشتر نیست!!!

مهدی رحیم زاده
دوشنبه 07 خرداد 1386, 15:06 عصر
دوستان عزیز من می خوام که این کار رو با استفاده از کد نویسی انجام بدم ...

ali_ahle_del
شنبه 18 خرداد 1387, 09:55 صبح
آقا من این کار ها رو با کدنویسی انجام دادم . ولی نمیونم چکار کنم که این برنامه رو هر کامپیوتر فقط و فقط یک بار اجرا بشه ؟ و هر دفعه که user برنامه رو run میکنه پیغام Need Serial Number نیاد . لطفا کمکم کنید .

hozouri
شنبه 18 خرداد 1387, 10:47 صبح
یه راه حل اینه که برای هر مشتری یه قفل USB بذاری که کار باهاش هم خیلی راهته

top7news
شنبه 18 خرداد 1387, 13:25 عصر
سلام من هم با دوستان موافقم که از قفل سخت افزاری مثل قفل های usb استفاده کنی که هم ارزونه نسبتا و هم کار باهاشون راحته .
ولی اگه میخوای که با نرم افزار این کار رو بکنی به نظر من توی فرم اصلی برنامه که با بسته شدنش ، همه فرم ها بسته میشن یه thread بنویس و توش یه کدی بذار که بره و بانکی که پایین توضیح میدم رو چک کنه ، توی بانکت هم یه جدول مخصوص قفلت درست کن که فقط خودت حق نوشتن داخلش رو داشته باشی و دارای فیلد های نام کاربری ، رمز عبور و یه flag از نوع boolean باشه ، حالا یه فرم به فرم های برنامه ات اضافه کن و توی اون فرم این امکان رو فقط به خودت میدی که برنامه رو اکتیو کنی ، هر بار که برنامه اکتیو میشه مقدار flag رو صفر کن یعنی برنامه در حال اجراست . و چون توی بانک ذخیره میشه دفعه بعد هم وجود داره و از بین نمیره ، حالا اگه نرم افزار خاموش بشه یا هر حالتی که مد نظرت هست ، از کار بیافته ،
توی اون thread که بهت گفتم اول برنامه ات بذاری ، هر بار که برنامه شروع مجدد بشه ، اون تیکه کد میره و این جدول خاص و فیلد flag رو چک میکنه ، اگه مقدارش 1 بود اجازه ورود میده و اگر نه باید تمام گزینه های فرمت رو disable کنی یا کلا فرم رو ببندی و دفعه بعد که فرم run میشه از کاربر بخواد که با شما یا مدیر سیستم تماس بگیره تا شما بری و مجددا نام کاربری و کلمه عبور رو وارد کنی .
برای اینکه اگر کسی هم به بانکت دسترسی پیدا کرد نتونه نام کاربری و رمز عبور رو بدست بیاره ، موقع وارد کردن اونها توی textbox اونها رو hash کن و به بانکت بفرست و یا یه الگوریتم شخصی برای کد کردن داده هات بذار.
اینطوری عملا نرم افزارت دارای قفله نرم افزاری میشه .

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

ali_kolahdoozan
شنبه 18 خرداد 1387, 14:20 عصر
يك كد در اولين اجرا بده و كاربر رو مجبور كن بهت زنگ بزنه و كد بگيره

razavi_university
شنبه 18 خرداد 1387, 14:28 عصر
فکر کنم بد نباشه یه سری به تالار امنیت نرم افزار (http://barnamenevis.org/forum/forumdisplay.php?f=66) هم بزنی اونجا بحث های تخصصی تری روی معایب و مزایای این موارد میشه