PDA

View Full Version : بهترین راه برای جلو گیری از کپی برنامه



مهدی رحیم زاده
چهارشنبه 26 فروردین 1388, 20:43 عصر
سلام
بار ها این موضوع رو توی سایت جست و جو کردم اما به نتیجه مورد نظرم نرسیدم . دوستان عزیز چطور کد فعال ساز برای برنامشون میزارن؟؟؟؟
با تشکر

behzadk
چهارشنبه 26 فروردین 1388, 22:46 عصر
من یه پیشنهاد دارم ببینید چه طوریه
یه windows service بنویسید و در اون با استفاده از چند مرحله encrype و hashing می تونین امنیت کامل برنامه رو تضمین کنید و یا با استفاده از سیستم license می تونین دقیقا مثل kaspersky عمل کنید در ضمن تو سایت www.componentsource.com چند تا license است

mom alone
چهارشنبه 26 فروردین 1388, 23:03 عصر
اینایی که گفتی یعنی چی؟
توضیح بیشتر نمی دی

alireza_tavakol
پنج شنبه 27 فروردین 1388, 00:00 صبح
من قبلا سریال قطعات سخت افزاری رو به دست می آوردم و حالا نسبت به سریال به دست اومده برنامه من یک کد مکمل لازم داشت .

و به این شکل امنیت رو واسه برنامه ام تضمین میکردم

مهدی رحیم زاده
پنج شنبه 27 فروردین 1388, 05:56 صبح
با سلام
جناب Behzadk ممنون، میشه وتوضیحاتتون رو کامل کنید؟
آقای توکلی هم این موضوع رو مد نظر قرار بدین که مثلا برنامه من قراره توی کل کشور پخش بشه ، حالا من چطور باید این موضوع رو درست کنم که هر جا نتونه برنامه رو نصب کنه و فقط برنامه ای که از من گرفته رو بتون نصب کنه !
با تشکر زیاد .

13601360
پنج شنبه 27 فروردین 1388, 09:31 صبح
ببین این نرم افزار ها بدردت می خوره


Shareware Maker 1.0


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


یا SeriousBit Ellipter 1.2.2

به کمک این ابزار می توانید برنامه های دات نت خود را بصورت Shareware ایجاد کنید.
البته اینها همش نقل قول بود نمی دونم میتونه بهت کمک کنه یا نه :متفکر:

شاید اصلا ربطی به موضوع نداشته باشه :خجالت:

alireza1384
پنج شنبه 27 فروردین 1388, 09:40 صبح
دراستفاده ازکدهای فعال ساز ، برنامه نویس ابتدا با استفاده ازمشخصات یک یا ترکیبی از چند سخت افزار سیستمی که برنامه برروی آن نصب می شود عددی تولید می کند. درداخل برنامه فرمولی قرارداده می شود که باگرفتن این عدد و قراردادن آن در فرمول مقداری به دست می آید که کاربردرصورت وارد کردن این مقدار به شکل درست می تواند برنامه را فعال کند. ازآنجاییکه کاربرازفرمول مذکوربی اطلاع است جهت گرفتن کد فعال سازلازم است با برنامه نویس تماس بگیرد. پس ازتماس وبادادن عدد تولید شده ازسخت افزارسیستم مقصد برنامه نویس می تواند عددموردنظررادرفرمول قرارداده و نتیجه که همان کد فعال ساز است به کاربربدهد.

m110_110
پنج شنبه 27 فروردین 1388, 11:47 صبح
با سلام
من هم گفته alireza1384 (http://barnamenevis.org/forum/member.php?u=38109) را تایید می کنم و برای جلوگیری از تماس ها و گرفتن وقت پیشنهاد یک سایت کوچک را می دهم که کاربران کد بدست آمده را در آن نوشته و بعد شما در سرور کد اصلی را بدست می آورید و به او نمایش می دهید
البته باید بگویم که شما باید برای هر pack از برنامه تان یک کد بگزارید تا وقتی یک کاربر به ان سایت وارد شد آن را بگیرید و در db ثبت کنید تا اگر کاربری با آن pack دوباره درخواست کد فعال سازکرد از نمایش کد فعال ساز جلوگیری کنید
این همان راه حلی است که من هم در ساخت یک برنامه دارم دنبال می کنم

NewFoxStudent
پنج شنبه 27 فروردین 1388, 12:12 عصر
با تمام پیشنهادهایی که شده میشه کار کرد
اما به این نکته توجه کنید که Reflector نرم افزاریه که کد تمام پروژه های داتنت رو در اختیار میزاره و به همین دلیل تقریباً این کارها بیهودست مگر اینکه اول راهی برای مقابله با Reflector پیدا کنید
در این مورد هم من تقریباً یک ساله که دارم تحقیق میکنم و هنوز به نتیجه نرسیدم
اگه این مشکل برطرف بشه راههای زیادی برای اجرای Licence توی نرم افزار ها وجود داره
و اگه این مشکل حل نشه یه کاربر معمولی که فقط کمی با داتنت آشناست میتونه هر برنامه ای رو به راحتی کرک کنه پس اول دنبال راه مقابله با Reflector بگردید

m110_110
پنج شنبه 27 فروردین 1388, 16:37 عصر
سلام
درست می گویید ولی راه حلش استفاده از برنامه Codeveil است و من برای همین استفاده می کنم و خیلی هم ازش راضی هستم چرا که دیگه برنامه هایی مثل Reflector نمی تونه کد برنامه یا dll هایت رو برگردونه
در ضمن اگر برنامه رو با Xenocode Virtual Application Studio (http://www.componentsource.com/products/xenocode-virtual-application-studio/index.html) از دات نت بیرون بیاری خوب هم این مشکل رو هم حل کردی و هم برنامه ات بدون دات نت کار می کنه

مهدی رحیم زاده
پنج شنبه 27 فروردین 1388, 22:21 عصر
در ضمن اگر برنامه رو با Xenocode Virtual Application Studio از دات نت بیرون بیاری خوب هم این مشکل رو هم حل کردی و هم برنامه ات بدون دات نت کار می کن
میشه در مرد این آخری یکم توضیح بدی و لینک دانلود اونو هم بزاری اینجا ؟

behzadk
جمعه 28 فروردین 1388, 11:37 صبح
با سلام
windows service همان سرویس ها هستند که در قسمت control panel/administrative tools است و در vs یک نوع پروزه داریم به اسم windows service که برنامه مربوط به قسمت windows service است و در هر بار اجرای برنامه می توانی با توابع wmi چک کنی قفلت در حال اجرا هست یا نه و می تونی به اون اطلاعات بفرستی و دریافت کنی و یک جنبه جالب دارد که دور از دید کاربر است و یه نکته هم هست که وابسطه به شرکت خاصی نیستی و برای قفلت مجبور به پرداخت هزینه نیستی

مهدی رحیم زاده
جمعه 28 فروردین 1388, 12:03 عصر
نمونه برنامه سراغ نداری ؟
در مورد ا Xenocode Virtual Application Studio هم اگه طلاعتی دارید بگید ممنون میشم .

Sajjad.Aghapour
جمعه 28 فروردین 1388, 21:37 عصر
ن هم گفته alireza1384 (http://barnamenevis.org/forum/member.php?u=38109) را تایید می کنم و برای جلوگیری از تماس ها و گرفتن وقت پیشنهاد یک سایت کوچک را می دهم که کاربران کد بدست آمده را در آن نوشته و بعد شما در سرور کد اصلی را بدست می آورید و به او نمایش می دهید
البته باید بگویم که شما باید برای هر pack از برنامه تان یک کد بگزارید تا وقتی یک کاربر به ان سایت وارد شد آن را بگیرید و در db ثبت کنید تا اگر کاربری با آن pack دوباره درخواست کد فعال سازکرد از نمایش کد فعال ساز جلوگیری کنید

توقع نداشته باشید که با این کار برنامه شما به دست هر کسی نیفته.نمی دونم نرم افزارهای شرکت Golden Data رو دید یا نه که بر همین اساس کار می کنه.ولی خود من چند نسخه از کپی اون رو دارم.
اگه صرفا قصد شما دادن کد فعال ساز به برنامه هست خوب همه نوع راهی وجود داره.اما اگه قصدتون قانون کپی رایت هست این راه ها فایده نداره مگه اینکه شرکت های نماینده تعهدی نسبت به کپی رایت برنامه شما داشته باشن.
درباره react کردن نرم افزار هم نرم افزارهای گوناگونی وجود داره که دوستمون codeVeil رو معرفی کردن.....
موفق باشید..

zahra111
جمعه 28 فروردین 1388, 22:43 عصر
سلام . من هم با alireza1384 موافقم. خودم هم قبلا از این روش استفاده کردم.

m110_110
شنبه 29 فروردین 1388, 08:31 صبح
باز هم سلام
ممنون از دوستان و نظرات خوبشون
و اما بگویم که من به شخصه می خواهم تا جایی که می توانم برنامه ام را امن کنم و تا جایی که می تونم از کپی بی رویه اون جلوگیری کنم
درست است که هر کاری بکونی شاید بتونند بالاخره برنامه ات را مثل تمام نرم افزار های موجود در بازار خودمون قفلش رو بشکنند و براش crack ای درست کنند ولی فکر می کنم وظیفه ی ما این است که تا جایی که می توانیم سعی کنیم
و اما در مورد دو برنامه ای که در پست قبلیم قید کردم
اولی برنامه Codeveil هست که همانطور که گقتم برای این استفاده می کنم که برنامه هایی شبیه Reflector نتونند کد برنامه ام رو برگردونند و در مکان هایی که می توان dotnet را نصب کرد و تعدادشان هم خیلی بالا نیست(برای سطح بازار نیست) خیلی عالی چرا که تقریبا من به هیچ مشکلی برخورد نکرده ام و خیلی راحت ازش استفاده می کنم
و اما دومی Xenocode برنامه ایست که می تونی exe برنامه ات به همراه dll هایی که از اون استفاده کرده ای به اون بدی تا برنامه ات رو بدون دات نت کنه (حالا بدون صرفه نظر از چگونگی این کار چرا که در همین سایت در موردش خیلی بحث شده)
من هم ازش استفاده کردم و به نظرم خیلی مفیده در صورتی که چند تا نکته رو رعایت کنی
قبلا چند برنامه رو باهاش تست کردم خصوصا پروژه هایی که می خواستم به اساتید بدم و اون ها نمی خواستند با دات نت باشه یعنی اون رو نصب کنند و تنها یک exe از من می خواستند و در اون ها به هیچ مشکلی برخورد نکردم
ولی در یک برنامه فهمیدم کاملا نمی تونه برنامه رو به همون شکل که با دات نت اجرا میشه انجام بده
البته نه اینکه برنامه رو بلایی به سرش بیاره نه
مشکل این برنامه اینه که وقتی برنامه ای رو به اون می دهی اون یک آدرس هم ازت می خواهد که اون رو پیش فرض اجراش قرار بده این هم به هیچ مشکلی نمی خوره الا اینکه اگر در برنامه ات برای ارتباط با بیرون از برنامه از آدرس دهی از کد Application.StartupPath استفاده کرده باشی(این چیزی است که تا حالا فهمیدم)
یعنی اگر برای آدرس دهی راهی برای استفاده نکردن از این آدرس دهی پیدا کنی (راه هایی ابتکاری که من هم حالا چه خوب چه بد یک راه حل درست کردم) انشاءالله دیگه به مشکلی بر نمی خوری و راحت می تونی برنامه ات رو هر کجا استفاده کنی
این راهی است که خود من هم برای یک نرم افزار برای یک شخص که می خواهد به تعداد بالا در بازار بفروشه دارم انجام می دهم
و اما خود برنامه
خوب می تونی از سایت خودش trail ش رو بگیری
من هم سال پیش از یک سایت ورژن full ش رو گیر اوردم ولی متاسفانه دیگه اون سایت از کار افتاده و نیست
یکمی سرچ کنی می تونی گیرش بیاری انشا الله
می بخشید مطلب طولانی شد امیدوارم مفید واقع بشه

مهدی رحیم زاده
شنبه 29 فروردین 1388, 21:37 عصر
با تشکر از توضیحات بسیار کاملتون .
دو تا در خواست دیگه هم دارم البته با عرض شرمندگی :
1-
(حالا بدون صرفه نظر از چگونگی این کار چرا که در همین سایت در موردش خیلی بحث شده)
میشه لینک توضیحاتش رو بزارید آخه اون موقع ها من چند تا تاپیک رو دیده بودم که روی این موضوع بحث می کردن اما به نتیجه نرسیدن .
2- میشه نسخه Full اونو یه جایی آپلود کنی با تشکر خیلی زیاد .

NewFoxStudent
یک شنبه 30 فروردین 1388, 09:05 صبح
اگه ممکنه در مورد نرم افزار CodeEveil بیشتر توضیح بدید

m110_110
یک شنبه 30 فروردین 1388, 10:26 صبح
سلام
تا آخر هفته شاید هم زودتر سعی می کنم هر دو برنامه رو یک جا up کنم

Alen
چهارشنبه 24 تیر 1388, 12:58 عصر
حالا اگه به فرض برنامه رو به CodeEvil کد کردیمش ، ممکنه Caraker بتونه محل قرار گیری شرط رو تشخیص بده و اونو حذف کنه
واضحتر بگم نباید اصولی رو برای نوشتن شرطی که قفل رو چک می کنه رعایت کرد؟

debugger
چهارشنبه 24 تیر 1388, 14:50 عصر
با سلام خدمت دوستان

متاسفانه برنامه های دات نت براحتی کرک می شن

ASKaffash
چهارشنبه 24 تیر 1388, 15:17 عصر
سلام
با تشکر از توضیحات شما میتوانید راهنمائی کنید که themida را از کجا تهیه و تست کنیم

seven7777777
چهارشنبه 24 تیر 1388, 16:38 عصر
چند نکته :
1. من با ویندوز سرویس ها مخالفم چون براحتی میشه اونها را از کار انداخت ، مخصوصا الان که انواع برنامه های Service Killer هم اومده !

2. نمی دونم برنامه های ما تا چه حد استاندارد و مهمه که دیگران بخوان اونها رو Decompile کنن و استفاده . البته منظورم وقتیه که واسشون وقت بزاریم و یه نوع قفل کوچیک بسازیم ، دیگه فکر نمی کنم بیاد اونو Decompile کنه و ... پس بهتره یه قفل کوچیک شخصی واسش بسازیم .

3. بهترین نوع قفل به نظر من اگه برنامتون خیلی تاپ هست به گفته دوستمون قفل سخت افزاریه و لاغیر .

4. با راه حل بدست آوردن کد سخت افزارها و تبدیل آنها به یک کد برای راه اندازی برنامه که در آن هم با راه اندازی سایت برای آن بیشتر موافقم ، بیشتر موافقم !!!:گیج:

5. این سوال رو بزارید به حساب کم تجربگی من ==> نمیشه بچه های سایت با هم همراه شن و یه نوع قفل نرم افزاری عمومی بسازن که همه برنامه ها تحت اون قفل بشن و ... :خجالت:البته فکر کنم نمیشه پس ولش کنین ...