PDA

View Full Version : گفتگو: نسخه محدود برای فروش اینترنتی یک نرم افزار



farboodj1375
سه شنبه 15 شهریور 1390, 20:38 عصر
با سلام.
خسته نباشید.
شاید زدن این تاپیک تو بخش ویبی کار درستی نباشه ولی چون برنامه با ویبی نوشته شده و قفل کردنش هم باید با ویبی باشه اینجا زدم...
در ضمن میدونم که خدا تا تاپیک در این مورد زده شده ولی من تو هیچکدوم جواب سوالمو نگرفتم...:ناراحت:


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

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

و از یه طرف دیگه هیچ قفل نرم افزاری مطمینی وجود نداره؟

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


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


حالا به نظر شما باید من چیکار کنم؟؟؟:گریه::گریه::گریه:

akbarg64
سه شنبه 15 شهریور 1390, 20:56 عصر
سلام.من یه پیشنهاد دارم که نمیدونم درسته یا نه.توی یه جایی از برنامه طوری بنویس که موقعی که نرم افزار فعال شد و تو کد فعال سازی رو بهش دادی یه سری مشخصات اون فرد ثبت بشه از طریق اینترنت.بعد تو چک کن اگه بود که هیچ.حالا میرسیم سر بحث اینکه اون مشخصات توی سرور تو ثبت نشده یا اتصال به اینترنت انجام نشد یه کیلاگر خوشکل توی سیستم طرف دانلود بشه بعد هم .............. یا کاری های دیگه.خوب ما هم حق داریم مگه نه؟؟؟؟؟؟؟؟؟؟؟؟البته نمیدونم تا چه حد شدنیه.این یکی از فکر هایی بود که زده به سرم و تا حالا اینکار رو نکردم.نمیدونم درسته یا نه.در هر صورت این هم یه نظر بود مثل تمامی نظر های دیگه که ممکنه طرفدار یا مخالف داشته باشه.موفق باشید

returnx
سه شنبه 15 شهریور 1390, 23:51 عصر
مشکل این هم اینه که اونوقت وقتی کاربر نسخه کامل رو گرفت میتونه بره خودش اونو بفروشه...


بابا جلوگیری از CopyRight تقریبا غیر ممکنه ، حتی ماکروسافت هم نمیتونه جلوی اینکارو بگیره...
اما یکی از امن ترین راه ها اینکه به هر محصول یه کد رجیستر بدید بد برای فعال سازی حتما کاربر باید وصل شه به ایترنت ، بعد از فعال سازی این کد رجیستر تو سرور ثبت بشه دیگه کپی این محصول با این کد نتونه فعال بشه....

MahmoodGH
چهارشنبه 16 شهریور 1390, 03:01 صبح
بابا جلوگیری از Copy Write تقریبا غیر ممکنه ، حتی ماکروسافت هم نمیتونه جلوی اینکارو بگیره...
اما یکی از امن ترین راه ها اینکه به هر محصول یه کد رجیستر بدید بد برای فعال سازی حتما کاربر باید وصل شه به ایترنت ، بعد از فعال سازی این کد رجیستر تو سرور ثبت بشه دیگه کپی این محصول با این کد نتونه فعال بشه....
ضمن تایید روش ms2222 ، یه راه دیگه هم دادن کد ریجستر بصورت تلفنی هست ، که البته اگه طرف اهل کرک کردن و اینجور چیزا باشه الگوریتم کد ریجستر رو درمیاره و براش کیجن میسازه !!!:متفکر:

farboodj1375
چهارشنبه 16 شهریور 1390, 08:51 صبح
از همه دوستان ممنونم بابت شرکت در این گفتگو...


بابا جلوگیری از Copy Write تقریبا غیر ممکنه ، حتی ماکروسافت هم نمیتونه جلوی اینکارو بگیره...
اما یکی از امن ترین راه ها اینکه به هر محصول یه کد رجیستر بدید بد برای فعال سازی حتما کاربر باید وصل شه به ایترنت ، بعد از فعال سازی این کد رجیستر تو سرور ثبت بشه دیگه کپی این محصول با این کد نتونه فعال بشه....

شما نمونه ای در این زمینه ندارین؟من در زمینه برنامه نویسی تحت وب هیچ اطلاعاتی ندارم...راستس به نظر شما این روش قابل دور زدن نیست؟

متشکر

farboodj1375
چهارشنبه 16 شهریور 1390, 08:53 صبح
ببخشید یه سوال دیگه هم داشتم : تا حالا یک نرم افزار تریال (ایرانی یا خارجی ) دیدین که هنوز کرک نشده باشه؟(کرکر ها تلاش کرده باشند و نشده باشه نه اینکه ارزش کرک کردن نداشته باش)

shedayat
چهارشنبه 16 شهریور 1390, 09:31 صبح
سلام.
نه دوست عزیز همونطور که برای هر چیزی یه زد (anti) برا خودش وجود داره که این قانون طبیعته برا هر روشی یه روش برا دور زدن اون روش وجود داره. برای همین هم شاید برنامه ای بیاد که کرک شدنش یه خورده سخت و پیچیده باشه ولی بالاخره کرک می شه.
تا حالا هم برنامه ای نیومد که ارزش کرک شدن رو داشته باشه کرک نشده باشه.
اصلا این یه چیز غیر ممکنی هست. هیچ کس نمی تونه بگه که من یه برنامه ای می نویسم که صد در صد امنیت داره و اصلا هیچکس نمی تونه کرکش کنه.

موفق باشی.

ramzdar
چهارشنبه 16 شهریور 1390, 09:53 صبح
خیالت راحت باشه.
به جرأت میگم 98 درصد برنامه های ایرانی کرک نمیشن.
از هر کی میخوای بپرس. قانون Copy Right تو کشور ما فقط اینه که ما نباید برنامه های ایرانی رو کرک کنیم.
برای اینکه مطمئن بشی برنامتو ثبت کن دیگه مطمئن باش کرک نمیشه. کیجنش هم در نمیاد.

farboodj1375
چهارشنبه 16 شهریور 1390, 10:22 صبح
سلام.
ممنون.
میشه بگین روش ثبت یک نرم افزار چیه؟؟
---------
در ضمن درسته که قانون کپی رایت برای نرم افزارای ایرانی وجود داره ولی خب کو کسی که رعایت کنه؟؟؟؟
شما الان ببین آخر همه فیلمای ایرانی که میان به بازار نوشته هرگونه کپی برداری پیگرد قانونی دارد خب...ولی تو همین شهر ما به جرئت میشه گفت بیش ار 80 یا حتی 90 درصد مردم نسخه اصلو نمیخرند...و هیچکس هم ازشون نمیپرسه...

--------------------------------------
با همه این مباحث از اونجایی که اینجا یک تاپیک علمی هست به نظر من بهتره با هم همکاری کنیم تا به ایده هایی برای سختتتر کرک شدن نرم افزارامون ارایه بدیم.

موفق باشید.

shedayat
چهارشنبه 16 شهریور 1390, 18:56 عصر
خیالت راحت باشه.
به جرأت میگم 98 درصد برنامه های ایرانی کرک نمیشن.
از هر کی میخوای بپرس. قانون Copy Right تو کشور ما فقط اینه که ما نباید برنامه های ایرانی رو کرک کنیم.
برای اینکه مطمئن بشی برنامتو ثبت کن دیگه مطمئن باش کرک نمیشه. کیجنش هم در نمیاد.

شما از کجا مطمئنید که این حرف رو می زنید؟
اگه یه برنامه خوب ایرانی باشه که جنبه عمومی داشته باشه مطمئن باش که کرکش می کنن.

king ag
چهارشنبه 16 شهریور 1390, 19:34 عصر
شما از کجا مطمئنید که این حرف رو می زنید؟
اگه یه برنامه خوب ایرانی باشه که جنبه عمومی داشته باشه مطمئن باش که کرکش می کنن.
درسته که کرکش می تونند بکنند
ولی قوانین بسیار محکمی پشت نرم افزار ها هست که در صورت هر گونه کرک کردن و یا کپی برداری و از این قبیل جرم ها، زندان و پرداخت خسارت بالایی داره که کسی به خودش این اجازه رو نمیده که دست به همچنین کاری بزنه
ویا اگر هم کسی کرک کرد دیگه پخشش نمیکنه و برای استفاده خودش فقط به کار میگیره
البته در قبال این خدمات دردسر هایی هم برای ثبت وجود داره که از مهمترین آنها میشه به اخذ 100000 تومان از متقاضی ثبت اشاره کرد

akbarg64
پنج شنبه 17 شهریور 1390, 07:06 صبح
حالا بالفرض مثال ثبت شد نرم افزار.و نرم افزار شما هم کرک شد.و در اینترنت منتشر شد.اونوقت چطور تشخیص میدین کار کی بوده؟؟؟؟؟؟؟؟؟؟؟؟

Mr'Jamshidy
پنج شنبه 17 شهریور 1390, 10:19 صبح
ببین دوست من بهترین روش همون روشی هست که برنامه به صورت واقعا تریال عرضه بشه بعد هرکسی که خواست و کد رو از شما خرید میاد داخل برنامه اطلاعات رو میزنه و کرید رجیستر رو میزنه

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

از این طرف شما باید یک برنامه داشته باشی که روی سرور ران میشه و فایل exe کامل برنامه رو داره

اون برنامه محدود ه بود که فروخته بودی بعد یارو کد خریده بود، میاد و به این برنامه متصل میشه و اطلاعات رو به برنامه میده

برنامه چک میکنه ببیده که آیا اطلاعات درسته یا نه یارو از بیکاری اومده شانسی کد در بیاره

اگر درست بود اطلاعات فردی + اطلاعات سخت افزاری + کد رجیستر یارو به فایل اصلی و کامل برنامه میچسبه و فایل برای طرف ارسال میشه، البته همه این کارا باید داخل برنامه اجرا بشه تا طرف اگر جوجه هکر بود نفهمه برنامه داره چی کار میکنه

بعد برنامه باید طوری طراحی بشه که داخل یک تایمر با Interval تصادفی چک کنه (این کار برای اینه که طرف نفهمه کی برنامه میخواد کد رو چک کنه که اون قسمت برنامه رو کرک کنه)اگر برنامه تقلبی بود برنامه میوفته تو یک حلقه بی نهایت که هنگ کنه (اینم برای اینه که طرف فکر کنه یک مشکلی برای برنامه پیش اومده نه این که بخاطر خرید برنامه این شکلی میشه)

این روش همین الان به زهنم رسید فلبداهه گفتم امیدوارم مفید واقع بشه

فقط دو تا نکته رو بهت میگم 100% مد نظر داشته باش
هیچ وقت نباید مشخص بشه برنامه کی داره کد رو چک میکنه چون باعث میشه سرعت کرک برنامه خیلی بره بالا (یعنی پیغام و ... نده)

برنامه رو در حالت P-Code کامپایل کن این حالت کد های برنامه رو به صورت چرت و پرت در میاره که طرف نمیفهمه چی به چیه

موفق باشید


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

علم غیب

farboodj1375
پنج شنبه 17 شهریور 1390, 12:36 عصر
برنامه رو در حالت P-Code کامپایل کن این حالت کد های برنامه رو به صورت چرت و پرت در میاره که طرف نمیفهمه چی به چیه
میشه در این مورد بیشتر توضیح بدین؟؟چجوری میشه این کارو کرد؟



هیچ وقت نباید مشخص بشه برنامه کی داره کد رو چک میکنه چون باعث میشه سرعت کرک برنامه خیلی بره بالا (یعنی پیغام و ... نده)

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


در ضمن نمیدونم تا حالا دیکشنری LongMan رو دیدین (نرم افزارش رو ) . فکر کنم فقط تو 2 تا سیستم نصب میشه و فکر کنم هنوز کرک نشده.کسی از اون مورد اطلاعی نداره؟

از همه ممنون.

farboodj1375
پنج شنبه 17 شهریور 1390, 12:42 عصر
راستی این هم یه پیشنهاد هست که من دارم: هنگام نصب برنامه تو جاهای مختلف تو رجیتری مثلا 10 یا 20 جا تعداد دفعات باقیمونده از نسخه تریال رو بصورت کد شده ثبت کنیم و چندین جای ویندوز هم فایلای مختلفی ( مثلا 40 یا 50 تا ) فایل پخش کنیم و تو اونا هم تعداد دفعات باقیمانده رو ثبت کنیم . یه تعدادی فایل الکی و کلید های رجیستری الکی هم بسازیم.(محض گمراه کردن)

بعد موقع اجرا محتویات همه اون 40 یا 50 تا فایل و کلیدهای رجیستری رو چک کنیم و اگه همشون موجود بودن(حذف نشده بودن) و محتویات همشون یکی بود ( کسی اونا رو دستکاری نکرده بود) برنامه کارش رو انجام بده و مثلا از همه اون فایلا یک مقدار کم کنه ( در ازای یمبار اجرا).

خب شاید روش خوبی نباشه ولی چیزی بود که به ذهنم رسید...خوشحال میشم نظرتون رو بدونم...

farboodj1375
پنج شنبه 17 شهریور 1390, 12:48 عصر
آقایون شرمنده یک سوال دیگه هم داشتم : (ببخشید:لبخند:)

کسی یک نمونه برنامه ویبی نداره که وجود برنامه های مانیتورینگ رو احساس کنه و اونا رو ببنده...؟؟

ASedJavad
پنج شنبه 17 شهریور 1390, 15:48 عصر
ولی کلا نکته جالب اینه که برنامه های ایرانی خیلی کرکشون در نمیاد.
این کرک کردن هم کار خود خارجیای ناکسه!!!!!:شیطان::شیطان::قهقهه :
مثلا تا حالا کسی کرک نرم افزار کلک 2001 به بالاتر رو دیده؟ یا نسخه های جدید نرم افزار میرعماد؟ یا ... بگذریم.

farboodj1375
پنج شنبه 17 شهریور 1390, 15:54 عصر
خب درسته که خیلی کرکشون در نمیاد...
ولی بالاخره اگه کسی یکم کرک سرش بشه حداقل برای استفاده خودش که میتونه برنامه رو دور بزنه...

vbhamed
پنج شنبه 17 شهریور 1390, 17:45 عصر
با سلام.
خسته نباشید.
شاید زدن این تاپیک تو بخش ویبی کار درستی نباشه ولی چون برنامه با ویبی نوشته شده و قفل کردنش هم باید با ویبی باشه اینجا زدم...
در ضمن میدونم که خدا تا تاپیک در این مورد زده شده ولی من تو هیچکدوم جواب سوالمو نگرفتم...:ناراحت:


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

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

و از یه طرف دیگه هیچ قفل نرم افزاری مطمینی وجود نداره؟

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


البته این مشکلی هست که متاسفانه خیلی از برنامه نویسان گرامی باهاش درگیر هستند و برنامه هاشون بعد از مدت کوتاهی مورد عنایت کرکر ها قرار میگیرند...
حالا به نظر شما باید من چیکار کنم؟؟؟:گریه::گریه::گریه:

سلام

من گفتم به كاربر نسخه نمايشي مي ديم ولي نگفتم كه وقتي خريد نسخه آزاد بدون قفل بهش مي ديم
نسخه اصلي نرم افزارتون بايد قفل داشته باشه و چون فروش اينترنتي هستش قفل بايد از نوع كد تلفني يا اينترنتي باشه
روش كار هم اينه كه با توجه به مشخصات سيستم كه بهترينش شماره سريال هارد ديسك هست، يك كد سيستم توليد ميشه و اين كد در تركيب با يك شماره سريال دلخواه از طريق يك الگوريتم پيچيده يك كد فعالسازي توليد مي كنه كه شما اين كد رو به كاربر مي دين
حالا اگر كاربر بخواد برنامه رو به كسي ديگه بده، چون هارد ديسك فرق كرده كد سيستم هم فرق مي كنه

farboodj1375
پنج شنبه 17 شهریور 1390, 21:40 عصر
متشکر.
مشکل ما هم همینه : ساخت یک قفل نرم افزاری به روشی امن
و اینکه اطلاعاتی مثل اینکه برنامه فعالسازی شده یا نه یا تعدد دفعات باقیمانده برای اجرای نسخه آزمایشی رو کجا ذخیره کنیم که قابل دستکاری نباشه.

--- روشی که تو پست 15 گفتم بدرد نمیخوره؟

و اینکه کسی نمیدونه چجوری میشه وجود نرم افزارهای مانیتورینگ رو فهمید و اونا رو بست؟

vbhamed
جمعه 18 شهریور 1390, 00:27 صبح
سلام

وقتي قراره نسخه آزمايشي ساخته بشه با توجه به اينكه نسخه آزمايشي محدوديت هايي داره به نظر من ديگه تعداد دفعات اجرا مهم نيست ولي اگر قراره حتما اين كار انجام بشه شايد بهترين راه نوشتن تعداد دفعات اجرا در فايلي روي سايت اينترنتي شما باشه البته اين كار براي هر كامپيوتر كه از روي مثلا همون شماره سريال هارد شناسايي ميشه، بايد در فايل جداگانه انجام بشه

موقع اجراي برنامه هم اول سايت خودتون و اون فايل رو چك كنيد ببينيد تعداد دفعات اجراش چند بار شده و باز هم مي‌تونه اجرا بشه يا نه، در اين روش درسته كه طرف بايد به اينترنت متصل باشه اما امنيتش تضمين شده تر هست
بعد كه مشتري برنامه رو خريد، ديگه نياز به ارتباط اينترنتي نداره

فعال شدن يا نشدن برنامه هم كه معلومه، اگر شما به يك سريال خاص كد كاربري دادين فعال شده وگرنه خير، ضمنا طبق تجربه بهتون توصيه مي‌كنم كلا نسخه نمايشي به مشتري ندين، اگر طرف هم مي‌خواست برنامه رو ببينه، با كمك نرم‌افزارهاي ريموت از راه دور فقط كارايي برنامه رو بهش نشون بدين

اما قسمت مهم ساخت قفله كه مبحث خيلي ساده اي نيست و كلي شركت روي اين موضوع كار مي‌كنن
روش كار همونيه كه در پست قبلي گفتم ولي پيچيده كردنش و مهمتر از همه نوشتن به نحوي كه نشه دورش زد بستگي به تجربه برنامه نويس داره

يك نكته مهمه، شما كلي الگوريتم پيچيده مي‌نويسي و در نهايت يك جايي از برنامه چنين شرطي داري
If Lock = True Then
RunProgram
Else
MsgBox "Code Error"
End
End If

همين كار باعث ميشه هكر به راحتي قفل رو دور بزنه و مثلا شرط شما رو معكوس كنه پس چنين روشي حتي با وجود استفاده از الگوريتمهاي پيچيده، كاملا بي فايده است.

اگر شما به جاي خروج از برنامه كاري كنيد كه اگر قفل درست نبود مثلا يكي از رشته هاي مهم عمومي برنامه مثل مسير ديتابيس خراب بشه ديگه برنامه درست كار نمي‌كنه، براي اين كار هم نياز به شرط نيست، فرض كنيد رشته عمومي db مسير و نام بانك اطلاعاتي برنامه است، ProgramCode كدي كه برنامه با تركيب كد سيستم (شماره سريال هارد) + شماره سريال دلخواه + الگوريتم پيچيده توليد كرده ما بايد همين كد رو به عنوان UserCode يا كد جواب به مشتري بديم تا برنامه UserCode رو با ProgramCode مقايسه كنه و اگر برابر بودن برنامه درست اجرا بشه، حالا همچين چيزي رو مي نويسم
dbase = Left$(dbase, InStr(ProgramCode, UserCode) * Len(dbase))
طبق دستورات بالا اگر ProgramCode برابر UserCode باشه تابع Instr عدد 1 و در غير اينصورت 0 رو بر مي‌گردونه
حالا اين 1 يا 0 در طول رشته dbase ضرب ميشه كه اگر 0 باشه نتيجه نهايي هم 0 و اگر 1 باشه نتيجه نهايي طول رشته ميشه سپس اين نتيجه نهايي در تابع Left براي جداسازي تعداد كاراكتر از سمت چپ dbase استفاده ميشه يعني اينكه در نهايت يا مقدار dbase همون مسير بانك باقي مي‌مونه يا پوچ ميشه كه اگر UserCode = ProgramCode نباشه dbase هم پوچ ميشه ولي مهم اينه كه ما براي انجام اين كار از هيچ دستور شرطي استفاده نكرديم كه هكر بتونه اون رو كشف و معكوس كنه

خب ديگه كار تمومه، اگر كد درست نباشه مسير بانكتون خراب ميشه و ديگه برنامتون كار نمي‌كنه

همچنين مي‌تونيد رشته هاي مهم ديگه برنامه رو هم اينطوري تاثير بديد، البته ميشه كارهاي ديگه هم انجام داد كه ديگه بستگي به خودتون داره، فقط خيلي مهمه كه تو گلوگاه چك كردن كد از دستور شرطي يا دستور خروج يا نمايش MsgBox و كارهايي از اين قبيل كه دست ما رو براي هكر رو مي‌كنه جدا خودداري كنيد

farboodj1375
جمعه 18 شهریور 1390, 09:36 صبح
ممنون.
روشتون واقعا روش خوبیه....

میشه یکم راهنمایی کنین که اگه بخوایم به همین روش یک قسمت هایی از برنامه رو غیر فعال کنیم و مثلا Enable دکمه ای رو که صفحه حسابداری رو باز میکرده False کنیم....باید چیکار کنیم؟؟یا اینکه این روش به آسونی هک میشه؟

vbhamed
جمعه 18 شهریور 1390, 09:48 صبح
سلام

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

farboodj1375
جمعه 18 شهریور 1390, 10:17 صبح
اگه تو یک تایمر با اینتراول کم این موضوع رو چک کردیم چی؟
(اگه طرف تغییر داد در کمترین زمان ممکن به حالت پیش فرض برگرده.)

akbarg64
جمعه 18 شهریور 1390, 11:31 صبح
سلام.جناب vbhamed نمونه ای در این زمینه ندارین که کامل باشه؟؟؟؟؟ همین چک کردن شماره سریال و قسمت هایی که مربوط به ریجستر کردن هست.ممنون میشیم یه نمونه بزارین.

vbhamed
جمعه 18 شهریور 1390, 20:50 عصر
اگه تو یک تایمر با اینتراول کم این موضوع رو چک کردیم چی؟
(اگه طرف تغییر داد در کمترین زمان ممکن به حالت پیش فرض برگرده.)

سلام

نياز به تايمر نيست، مي تونيد تو كد دكمه اين موضوع رو چك كنيد كه حتي اگر دكمه فعال هم شد مشكلي پيش نياد
ولي كلا يه چيزي يادتون باشه
راهي كه پياده سازيش براي خودتون خيلي ساده باشه، شكستنش براي هكر هم ساده ميشه

farboodj1375
جمعه 18 شهریور 1390, 23:55 عصر
ممنون.
ببخشید آقا حامد اینقدر سوال میکنم...
من میتونم اطلاعات یک فایل تکست رو از روی یک سرور در اینترنت بخونم...
حالا چجوری میتونم در اون تغییر ایجاد کنم؟

Mr'Jamshidy
یک شنبه 20 شهریور 1390, 15:29 عصر
ممنون.
ببخشید آقا حامد اینقدر سوال میکنم...
من میتونم اطلاعات یک فایل تکست رو از روی یک سرور در اینترنت بخونم...
حالا چجوری میتونم در اون تغییر ایجاد کنم؟

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

maniaf69
یک شنبه 20 شهریور 1390, 21:04 عصر
یک راه راحت تر هم هست که میتونی یک صفحه با زبان پی اچ پی بنویسی که مثلاً اگه لود شد مقداری داخل اون فایل بریزه
و اینو با web browser لود کن و هر بار که برنامه باز شد یک مقدار جدید به فایل میده
اگه سوالی بود بپرس

Mr'Jamshidy
یک شنبه 20 شهریور 1390, 21:14 عصر
یک راه راحت تر هم هست که میتونی یک صفحه با زبان پی اچ پی بنویسی که مثلاً اگه لود شد مقداری داخل اون فایل بریزه
و اینو با web browser لود کن و هر بار که برنامه باز شد یک مقدار جدید به فایل میده
اگه سوالی بود بپرس

یک سوال هست
این صفحه ای که میگی اگر سرور اجازه نده باز هم میتونه همچین کاری انجام بده؟

maniaf69
یک شنبه 20 شهریور 1390, 21:38 عصر
الببته بستگی داره از چه سروری استفاده می کنی
اگه از سرور های پرشینگیگ استفاده کنی اصلاً امکان پذیر نیست چو توی اینجور سرور ها شما اجازه اجرا کردن صفحه پی اپ پی رو ندارید

vbhamed
دوشنبه 21 شهریور 1390, 02:47 صبح
ممنون.
ببخشید آقا حامد اینقدر سوال میکنم...
من میتونم اطلاعات یک فایل تکست رو از روی یک سرور در اینترنت بخونم...
حالا چجوری میتونم در اون تغییر ایجاد کنم؟

سلام
خب اگر سرور مال خودتونه يك يوزر پسورد براي يك فولدر خاص براش تعريف كنيد كه اجازه خواندن و نوشتن و حذف فايل رو داشته باشه
بعدش فايل رو بخونيد، تغييرات رو روش بديد و بعد دوباره آپلود كنيد روي فايل قبلي
فقط نكته اينكه بعد از اينكه با موفقيت آپلود شد اونموقع برنامتون رو فعال كنيد نه قبلش !
براي آپلود كردن هم يك سرچ كوچولو كنيد پيدا ميشه

joker_pok
پنج شنبه 03 آذر 1390, 14:54 عصر
من هم یه راه حل دارم شما باید کاری بکنی که برنامتون اگر احساس کرد داره کرک میشه دوباره برنامه بتونه قفل بشه و از دست کرکر ها فرار کنه مثلا دیدین تا حالا کسی بتونه گنجیشک رو با دست خالی بگیره ؟ خیلی سخته برنامه ها رو باید طوری بسازیم که اگر خودش احساس خطر با کرک شدن رو داشت دوباره برنامه قفل بشه و نتونه کرک بشه اما اینم یه جور مشکله میدونین چرا ؟ چون همه ما انسانها دارای عقل محدود هستیم پس زیاد نمیشه به چیزایی فکر کرد که کسی نتونه فکر کنه حتی خود ربات ها هم محدود هستن چون ساخته دست بشر هستند پس شما سعی نکن چون خود میکروسافت رو الان ویندوز هاشو بدون کد 150 هزار دلاری با سی دی 500 تومان ما ایرانی ها داریم به ثبت می رسونیم . پس محدودیم دوستان محدود

secondstriker
شنبه 26 آذر 1390, 10:36 صبح
ضمن تایید روش ms2222 ، یه راه دیگه هم دادن کد ریجستر بصورت تلفنی هست ، که البته اگه طرف اهل کرک کردن و اینجور چیزا باشه الگوریتم کد ریجستر رو درمیاره و براش کیجن میسازه !!!:متفکر:

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

Mr'Jamshidy
شنبه 26 آذر 1390, 14:15 عصر
یه راه دیگه هم هست!
من دارم روی یه الگوریتم کار می کنم که به تعداد نسخه های نرم افزار رجیستر کد می سازه. توی کد هر کدوم از نرم افزارایی که فروش می ره فقط همون کد مخصوص خودش وجود داره!
یعنی در واقع توی هر کدوم از نرم افزارایی که دانلود می شه یا رایت می شه فقط و فقط یک کد رجیستر وجود داره و در واقع الگوریتم رجیستر ساز نداریم:لبخندساده:

جالبه اما میتونید در مورد روشتون یکم توضیح بدید؟

secondstriker
شنبه 26 آذر 1390, 16:14 عصر
جالبه اما میتونید در مورد روشتون یکم توضیح بدید؟

اين روش ريزه كاري هاي زيادي داره! راجع به اين ريزه كاري ها نمي تونم توضيحي بدم :ناراحت:
به صورت كلي اين روش 2 تا رجيستر كد به كاربر ميده كه يكيش بر اساس مشخصات سيستمه و يكيش هم براساس نرم افزار؛ يعني اون كد منحصر به فردي كه به هر كدوم از محصولات خريداري شده داده شده! خوبي اين كد اينه كه كركر ها نمي تونن براش كيجن بسازن. اين دو كد توي يه سايت به اسم خريدار ثبت مي شه. به اين ترتيب هر خريدار هم كد كامپيوترش ثبت ميشه و هم كد نرم افزارش كه جلوي كپي كردنو تا حد زيادي ميگيره!:تشویق:
حالا هر كسي با ورژن كپي شده بخواد از سايت كد بگيره كد دوم مانع ميشه. هر كسي هم كه بخواد يك نرم افزار بخره و اونو روي n تا سيستم نصب كنه كد اول مانع از اين ميشه!:کف:
به اين ترتيب ميمونه فقط تغيير دادن كد برنامه و دور زدن آن توسط كراكر! كه براي اين مورد n تا توصيه و كد تو همين سايت گذاشتن.:بامزه:

secondstriker
شنبه 26 آذر 1390, 16:17 عصر
من هم یه راه حل دارم شما باید کاری بکنی که برنامتون اگر احساس کرد داره کرک میشه دوباره برنامه بتونه قفل بشه و از دست کرکر ها فرار کنه مثلا دیدین تا حالا کسی بتونه گنجیشک رو با دست خالی بگیره ؟ خیلی سخته برنامه ها رو باید طوری بسازیم که اگر خودش احساس خطر با کرک شدن رو داشت دوباره برنامه قفل بشه و نتونه کرک بشه اما اینم یه جور مشکله میدونین چرا ؟ چون همه ما انسانها دارای عقل محدود هستیم پس زیاد نمیشه به چیزایی فکر کرد که کسی نتونه فکر کنه حتی خود ربات ها هم محدود هستن چون ساخته دست بشر هستند پس شما سعی نکن چون خود میکروسافت رو الان ویندوز هاشو بدون کد 150 هزار دلاری با سی دی 500 تومان ما ایرانی ها داریم به ثبت می رسونیم . پس محدودیم دوستان محدود

امتيازي كه برنامه هاي ما نسبت به ماكروسافت داره اينه كه حداقل n تا كراكر نميشينه كركش كنه!:لبخندساده:

Mr'Jamshidy
شنبه 26 آذر 1390, 19:34 عصر
یه راه دیگه هم هست!
من دارم روی یه الگوریتم کار می کنم که به تعداد نسخه های نرم افزار رجیستر کد می سازه. توی کد هر کدوم از نرم افزارایی که فروش می ره فقط همون کد مخصوص خودش وجود داره!
یعنی در واقع توی هر کدوم از نرم افزارایی که دانلود می شه یا رایت می شه فقط و فقط یک کد رجیستر وجود داره و در واقع الگوریتم رجیستر ساز نداریم:لبخندساده:

لپ کلام "آخرش الگوریتم داریم یا نه"


اين روش ريزه كاري هاي زيادي داره! راجع به اين ريزه كاري ها نمي تونم توضيحي بدم :ناراحت:
به صورت كلي اين روش 2 تا رجيستر كد به كاربر ميده كه يكيش بر اساس مشخصات سيستمه و يكيش هم براساس نرم افزار؛ يعني اون كد منحصر به فردي كه به هر كدوم از محصولات خريداري شده داده شده! خوبي اين كد اينه كه كركر ها نمي تونن براش كيجن بسازن. اين دو كد توي يه سايت به اسم خريدار ثبت مي شه. به اين ترتيب هر خريدار هم كد كامپيوترش ثبت ميشه و هم كد نرم افزارش كه جلوي كپي كردنو تا حد زيادي ميگيره!:تشویق:
حالا هر كسي با ورژن كپي شده بخواد از سايت كد بگيره كد دوم مانع ميشه. هر كسي هم كه بخواد يك نرم افزار بخره و اونو روي n تا سيستم نصب كنه كد اول مانع از اين ميشه!:کف:
به اين ترتيب ميمونه فقط تغيير دادن كد برنامه و دور زدن آن توسط كراكر! كه براي اين مورد n تا توصيه و كد تو همين سايت گذاشتن.:بامزه:

روشش روش خوبیه اما شما از هر روشی استفاده کنی آخرش اگر کسی بخواد کرک کنه میکنه مگر اینکه Anti-Debuging و ... خیلی قوی داشته باشی

secondstriker
شنبه 26 آذر 1390, 20:10 عصر
لپ کلام "آخرش الگوریتم داریم یا نه"



روشش روش خوبیه اما شما از هر روشی استفاده کنی آخرش اگر کسی بخواد کرک کنه میکنه مگر اینکه Anti-Debuging و ... خیلی قوی داشته باشی


مگه بدون الگوریتم هم میشه! فقط الگوریتم رجیستر ساز برای کد دوم نداریم همین! بقیه برنامه که الگوریتم داره عزیزم!:لبخندساده:

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

MeHrDaD341
شنبه 26 آذر 1390, 22:30 عصر
نرم افزار هلو با اون عظمت کرک شد یعنی این که هر کار انجام بدی فقط کرک کردن برنامه رو سخت تر میکنی و زمانشو به تعویق میندازی.
ولی یه راه حل که خیلی راحت نشه کرکش کرد اینه که یه برنامه بنویسی که شماره سریال هارد نشون بده و بعدش بگی که مشتری اونو بهت بده (سریال هارد) بعدشم به برنامت بگی که روی هر سیستمی که سریال هاردش جز این بود اجرا نشه یا بزنه خودشو پاک کنه اینجوری هر مشتری نسخه مخصوص خودشو داره و نمیتونه برنامه رو بفروشه :D

secondstriker
شنبه 26 آذر 1390, 22:43 عصر
نرم افزار هلو با اون عظمت کرک شد یعنی این که هر کار انجام بدی فقط کرک کردن برنامه رو سخت تر میکنی و زمانشو به تعویق میندازی.
ولی یه راه حل که خیلی راحت نشه کرکش کرد اینه که یه برنامه بنویسی که شماره سریال هارد نشون بده و بعدش بگی که مشتری اونو بهت بده (سریال هارد) بعدشم به برنامت بگی که روی هر سیستمی که سریال هاردش جز این بود اجرا نشه یا بزنه خودشو پاک کنه اینجوری هر مشتری نسخه مخصوص خودشو داره و نمیتونه برنامه رو بفروشه :D

اینجور که من فهمیدم منظور شما قفل تلفنی است! درسته؟

MeHrDaD341
شنبه 26 آذر 1390, 23:11 عصر
نیازی نیست که تلفنی باشه.
مشتری هر جور شده (ایمیل، اس ام اس، تلفن) یا هر جور دیگه اون سریال رو به شما بده و شما هم تو برنامت ازش استفاده کنی.

secondstriker
شنبه 26 آذر 1390, 23:32 عصر
نیازی نیست که تلفنی باشه.
مشتری هر جور شده (ایمیل، اس ام اس، تلفن) یا هر جور دیگه اون سریال رو به شما بده و شما هم تو برنامت ازش استفاده کنی.

می دونم ولی اسم این قفل اصطلاحاً اینه!:افسرده:

vbhamed
سه شنبه 29 آذر 1390, 11:19 صبح
سلام

من طبق تجربه به اين رسيدم كه از تركيب تمام روشهاي ممكن استفاده كنيد
يعني قفل تلفني + قفل سخت افزاري + ثبت برنامه در سايت اينترنتي متعلق به خودمان و چك كردن هر چند وقت يكبار

احساسات مذهبي بعضي ها رو هم ميشه تحريك كرد (نظير راضي نبودن برنامه نويس و اين كه اينكار مانند دزدي است و ...)
با هشدارهايي نظير "اين برنامه در صورت استفاده غير مجاز پس از مدتي اطلاعات شما را پاك مي‌كند" و ... مي‌تونيد جلوي استفاده بعضي ها رو بگيريد (البته بهتره همچين تمهيداتي رو واقعا هم داشته باشيد ولي خب اطلاعات رو پاك نكنيد، نهايتا انكريپت كنيد تا اگر طرف خواست بخره بتونيد برگردونيد)

برنامه نسخه اصلي خريداري شده هم مي‌تونه زماندار باشه مثلا تا يكسال كار كنه و بعدش نياز به آپديت داشته باشه، اينطوري هم آمار مشتريان دستتون هست، هم آپديت ميشن، هم افراد غير مجاز به مشكل بر مي‌خورن، البته اين مورد براي نرم افزارهايي خوبه كه تاريخ سيستم براشون اهميت داره مثل همون حسابداري، يا اگر تاريخ در برنامه شما مهم نيست ممكنه مشتري يك شركت باشه كه خودش نرم افزار حسابداري داره و رو حساب اونها نمي‌تونه دائم تاريخش رو تغيير بده و عقب ببره تا برنامه شما اجرا بشه، يه طورايي دست و پاگير ميشه براش

يك روش بسيار خوب ديگه كه البته فقط براي بعضي از نرم افزارها مثل حسابداري كاربرد داره اينه كه اطلاعاتي مثل نام شركت، تلفن و آدرس كه قراره تو فاكتورها و در برنامه بخوره رو از كاربر بگيريد و به صورت كد شده در برنامه قرار بديد و امكان تغيير اونها رو از كاربر بگيريد
به اينصورت حتي اگر برنامتون قفل هم نداشته باشه كسي جز خريدار اصلي نمي‌تونه استفاده كنه، البته بازم مي‌گم اين براي مواردي خوبه كه طرف بايد فاكتور صادر كنه يا خلاصه خروجي خاصي از برنامه با نام و نشان شركت جزء كارشون باشه مثلا برنامه صدور فيش براي رستوران يا حسابداري، آژانس املاك و تاكسي تلفني، بيمه و ...

ضمنا در مورد چك كردن قفل بهتره سر هكرها كلاه هم بزاريد، وقتي هكر مي‌خواد برنامه رو هك كنه معمولا از يك ديباگر استفاده مي‌كنه تا عمليات برنامه و مخصوصا پروسه چك كردن قفل رو رديابي كنه، اينطوري اون بايد برنامه رو يه طورايي خط به خط يا بخش به بخش اجرا كنه و خلاصه اينكه در اين حالت اجراي برنامه از زمان شروع تا رسيدن به نقطه چك كردن قفل مثلا ممكنه 1 دقيقه زمان ببره در حاليكه در حالت عادي نهايتا چند ثانيه، از روي همين موضوع مي‌توني بفهميد كسي در حال هك كردن هست و مسير اجراي برنامه رو به يك سمت انحرافي ديگه ببريد

همانطور كه قبلا هم گفتم بهتره اگر هم فهميديد قفل برنامه درست نيست برنامه رو نبنديد، پيغام نديد و ...
چون اينها همه هكر رو در پيدا كردن گلوگاه كمك مي‌كنه، به جاي اون از كارهايي نظير خراب كردن رشته هاي حياتي استفاده شده در نرم افزار نظير مسير ديتابيس و ... استفاده كنيد

البته اينها همه كارهايي بود كه به ذهن من رسيد، هركدوم اين روشها ممكنه عيبهايي هم داشته باشه ولي بهرحال بايد خودتون رو جاي هكر بزاريد و مثل اون فكر كنيد، بهتره يك هكر توپ هم پيدا كنيد و حتي اگر شده هزينه كنيد و يك برنامه ساده با قفل بهش بديد تا بشكنه و از ميزان امنيت قفلتون با خبر بشيد

ضمنا خيلي هم نگران هك شدن نباشيد، اكثر مشتريان نياز شديد به پشتيباني پس از فروش دارند كه هكر اينو نمي‌تونه ارائه كنه
فرض كنيد يك اتوموبيل خوب در ايران هست كه نه گارانتي داره، نه مركز خدمات و تعميرات، نه قطعاتش پيدا ميشه و ....، افراد خيلي كمي سراغش ميرن

به عنوان يك اصل كاملا معتبر ديگه، نرم افزارهاي قفل شكسته استفاده نكنيد تا قفل نرم افزارتون نشكنه (البته در مورد نرم افزارهاي خارجي طبق فتواهاي تقريبا تمام مراجع تقليد، حجتي به ما نيست)

joker_pok
سه شنبه 29 آذر 1390, 11:58 صبح
من دو تا روش خوب دارم بازم نظر بدین رو روش های بنده :

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

mr-adler
سه شنبه 29 آذر 1390, 14:06 عصر
من دو تا روش خوب دارم بازم نظر بدین رو روش های بنده :

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

vbhamed
چهارشنبه 30 آذر 1390, 09:11 صبح
من دو تا روش خوب دارم بازم نظر بدین رو روش های بنده :

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

سلام

دوست عزيز، با اين كارها شما مثل اينكه مي‌خواي برنامت فروش نره و مشتريهات بپرن، هدف ما فروش نرم افزاره نه اينكه سر كسي كلاه گذاشته بشه

هر هزينه اي كه الان يا بعدا قراره بگيريد از قبيل پشتيباني و ... بايد قبل از خريد به مشتري گفته باشيد، اين اصلا جزء اصول اخلاقي كسب و كار نيست كه مشتري رو گرفتار خودتون كنيد و ضمنا مي‌تونه به صورت قانوني هم ازتون شكايت كنه

هزينه پشتيباني يعني هزينه اي كه بابت بعضي آپديت ها يا پاسخگويي به مشكلات مشتري دريافت ميشه، نه اينكه ديگه برنامش كار نكنه، مثل اينكه شما يك اتومبيل بخري بعد از اتمام گارانتي ديگه راه نره

تازه نرم افزار شما بايد خدمات پس از فروش داشته باشه، يعني حتما كسي بايد باشه كه پاسخگو باشه ولو با دريافت هزينه پشتيباني كه از قبل مشخص شده

اون روش شما ميشه اجاره ي نرم افزار كه قيمتش از خريد خيلي كمتره و معمولا هم كسي از اين روش استفاده نمي‌كنه ولي اگر هم بخواد اينطوري باشه مشتري بايد اينو بدونه

حتي شما نمي‌توني مشتري رو اجبار به آپديت نرم افزار جديد با امكانات بيشتر با دريافت هزينه كني، اون شايد دلش نخواد پولي اضافه بده ولي همون نرم افزار ورژن قبليش كه بايد كار كنه

silverado
چهارشنبه 30 آذر 1390, 09:13 صبح
سلام .
می تونی یه کد بنویسی که نرم افزار مثلاً بیشتر از 50 بار دیگه اجرا نشه یا مثلاً بعد از 2 ماه از شروع برنامه دیگه اجرا نشه و من می تونم این کدها رو بت بدم اگه بخوای . از نظر امنیتی هم خوبه . یه اسم تو رجیستری می ذاری که کسی هم نتوه بش دشت پیدا کنه یا تغییر بده . اگه خواستی بم بگو . 09364524211

joker_pok
چهارشنبه 30 آذر 1390, 10:24 صبح
بلی منظور من نسخه نهایی نبود همه اون کار ها قبل از نسخه اورجینال انجام میشه نرم افزار رو به صورت تریال میدی قبلشم میگی بیشت از 50 تا رکورد نمی تونی ذخیره کنی خواستی پولشو بریز برات نسخه اورجینالشو بدم اینطوری نه هک میشه نه چیزی اگر هم هک بشه 50 تا رکورد بیشتر ذخیره نمی کنه در ضمن تو نسخه اورجینال روش فعال سازی برنامه باید فرق داشته باشه یعنی یه دستی بزنی به کرکر افتاد ؟

pcdownload.bloghaa.com
چهارشنبه 30 آذر 1390, 15:15 عصر
عین همین روش را من در نرم افزار "اولین دایره المعارف برنامه نویسی" انجام دادم.
یعنی برای فعال سازی نرم افزار از روش زیر استفاده کردم.

داخل پکیج نرم افزار یک کارت قرار دادم که توش یک شماره سریال هست.مثل عکس زیر :
http://1.vped.netii.net/images/e2db0cb2c464.png

وقتی کاربر وارد نرم افزار میشه این صفحه را میبینه :

http://1.vped.netii.net/images/5e580bb7e6f5.png

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

از مزیت های این روش اینه که نرم افزار بعد از فعال سازی فقط روی یک سیستم کار میکنه.و قبل از فعال سازی هم اگه منتشر بشه به نفع شماست چون موقع فعال سازی باید خدمت شما برسن.
www.ParsianSoft.net (http://www.parsiansoft.net)

sehm67
پنج شنبه 01 دی 1390, 17:46 عصر
سلام
من برای نرم افزار هام اینطوری قفل میزارم:
شماره سریال های Cpu و هارد دیسک رو دریافت میکنم و این دو را با هم ادغام میکنم و بعد از ادغام اونو تبدیل به یک کد شناسایی ( یعنی تبدیل به کد واحد ) میکنم
و کاربر این کد رو به صورت تلفنی و ... به من ارسال میکنه و من طبق کدی که تو برنامه تعریف کردم کد نهایی رو به کاربر ارسال میکنم.
حالا الگوریتم برنامه:
من شماره سریال cpu رو تو برنامه میگیرم و حالا این کد میتونه شامل حروف و عدد باشه این کد رو تبدیل به یک کد واحد میکنم و برای هارد دیسک هم همین مسیر رو طی میکنم و حاصل بدست اومده از این دو کد یک کد واحد هست.
حالا این کد واحد رو به صفر و یک و صفر تبدیل میکنم ،
و دوباره این کد صفر و یک را دیکد میکنم و در رجیستری سیستم ذخیره میکنم.

mmssoft
شنبه 16 شهریور 1392, 05:49 صبح
میدونم تاریخ پست های این تاپیک مربوط به 2 سال پیش هست؛ ولی خیلی دوست دارم هنوز دوستان توش نظر بدن؛ چون واقعا یکی از بهترین تاپیک های این سایته و پست های جالبی داره

من دو روش رو مد نظر دارم، خوشحال میشم نظراتتون رو درباره این دو روش بگید و ایراد هاشون رو مطرح کنید :

1-
توی برنامه یه کد که با ترکیب سریال CPU و هارد سیستم ساخته میشه به عنوان کد شناسایی سیستم به کاربر نمایش داده بشه. برای این که کاربر بخواد نرم افزار شما رو بخره، باید به سایت شما مراجعه کنه. در شروع فرایند فروش نرم افزار، این اطلاعات از کاربر گرفته بشه : 1- نام (و نام خانواندگی) 2- ایمیل 3- یک سوال امنیتی (دلخواه و یا استفاده از سوالات پیشفرض خود سایت، مثل " اولین بار کجا همسرتان را ملاقات کردید؟" و ...) و پاسخ آن 4- شناسه سیستم که کاربر (که در برنامه نشون داده میشه)

پس از اون کاربر به مرحله پرداخت وجه بره (که توسط سایت هایی مثل پارس پال و زرین پال ارائه میشه)، بعد از انجام عملیات اگر مقدار خروجی از درگاه مثبت بود یعنی وجه بدون مشکل پرداخت شده بود، اطلاعات کاربر توی سایت ثبت بشه و با استفاده از یک الگوریتم که روی سرور سایت برنامه نویسی شده با توجه به کد شناسایی کامپیوترش، شماره سریال واسش ساخته بشه و براش ایمیل بشه (یا توی سایت براش به نمایش در بیاد)

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

بعد از انجام خرید هر وقت کاربر نیاز به پشتیبانی داشت باید اون اطلاعات ضروری اولیه رو که در مرحله اول خرید وارد کرد داشته باشه تا بتونه پشتیبانی دریافت کنه

تعمیم روش اول : برای بهبود روش بالا میشه توی مرحله اول خرید که اطلاعات رو میخواد وارد کنه، ازش UserName و Password خواسته بشه تا در صورتی که فرایند خرید با موفقیت انجام شد، توی سایت براش یه حساب کاربری ایجاد بشه و بتونه تمام مشکلات مربوط به پشتیبانی و یا هر ارتباطی که لازمه با برنامه نویس داشته باشه رو از اونجا پیگیری کنه

2-
توی این روش برای خرید نرم افزار هیچ گونه عملیات مربوط به ایجاد کد فعالسازی، رجیستر کردن و از این دسته موارد توی خود نرم افزار انجام نمیگیره و فقط در قسمت About نرم افزار یک کد به عنوان کد شناسایی سیستم به کاربر نشون داده میشه (همونطور که گفتم میتونه از ترکیب سریال هارد و cpu درست شده باشه و تو این مورد نیاز نیست خیلی پیچیده باشه) و خرید به این شکل صورت میگیره :

برای استفاده از نرم افزار ابتدا کاربر باید اون رو از طریق وبسایت شما خریداری کنه، به این ترتیب که در شروع فرایند خرید این اطلاعات ازش دریافت میشه 1- Username و Password برای ساخت اکانت در سایت 2- نام (و نام خانوادگی) 3- ایمیل 4- یک یا دو سوال امنیتی (دلخواه و یااستفاده از سوالات پیشفرض، مثل " اولین بار کجا همسرتان را ملاقات کردید؟" و ...) و پاسخ آن 5- کد شناسایی سیستم

پس از اون کاربر به بخش پرداخت وجه منتقل میشه که در صورت انجام موفق عملیات، حساب کاربری یا همون اکانت برای شخص توی وبسایت ایجاد میشه (مثلا میتونه اکانت یک ماهه، یک ساله، 2 ساله، مادام العمر باشه و ...).

پس از اون نوبت بخش استفاده از خود برنامه میرسه. ما باید برنامه رو طوری بنویسیم که کاربر برای استفاده از اون لازم باشه از توی برنامه به حساب کاربری خودش تو سایت Login کنه (مسلما از طریق اینترنت)، به این شکل که کاربر username و password رو وارد میکنه، نرم افزار اون ها رو با سرور چک میکنه، اگه وجود نداشت که هیچ؛ ولی در صورتی که وجود داشت، باید برنامه با سرور چک کنه که هنوز لایسنس یا خرید برنامه اعتبار داره یا زمانش به پایان رسیده (مثلا برای خریدهای یک ساله یا دو ساله و ...) که اگر هنوز تاریخ انقضای برنامه به پایان رسیده بود از Login جلوگیری بشه. ولی در صورتی که لایسنس هنوز اعتبار داشت، نوبت به چک کردن کد شناسایی سیستم میرسه و برنامه باید چک کنه که کدی توی سرور هست با کد سیستم کاربر تطابق داره یا نه و در صورت تطابق این دو تا مقدار عملیات Login با موفقیت انجام بشه (این مورد باعث میشه که برنامه در آن واحد فقط بتونه روی یک سیستم اجرا بشه). به همین ترتیب طوری برنامه رو مینویسیم که هر هفته یا دو هفته یا 3 هفته یا هر ماه و ... یکبار برنامه از حساب Logout کنه و نیاز باشه که دوباره Login کنیم تا امکان کرک کردن برنامه کمتر بشه. [اگه دقت کنید سوال امنیتی ای هم که هنگام خرید نرم افزار خواسته شد صرفا برای این هست که اگر کاربر رمز عبور حساب که مهم ترین قسمت خرید و استفاده از نرم افزار هست رو فراموش کرد، بتونه اون رو بازیابی کنه]

به این ترتیب بخش پشتیبانی و تمدید حساب هم از طریق اکانت کاربر توی سایت صورت میگیره...
-------------------------------------------------
پ.ن : مطمئنا روش هایی که گفتم یه نواقصی دارن؛ ولی یه سری از بخش ها که به نظر من نیاز به کار بیشتری دارن این ها هستن :

1- توی روش اول قسمتی که قرار هست نرم افزار چک کنه کد فعالسازی با کد شناسایی سیستم مطابقت داره، باید از چه الگوریتمی استفاده بشه که امکان کرک کردن سخت بشه...؟؟؟

2- توی روش اول به فرض که نرم افزار خرید و ثبت شد، اطلاعات ثبت اون (پس از این که encrypt شد) در کجای سیستم کاربر ذخیره بشه که امکان دسترسی به اون و یا پیدا کردنش دشوار باشه ...؟

3- توی روش دوم وقتی کاربر توی برنامه Login کرد و قرار شد که مثلا تا دو 2 هفته دیگه نیاز به Login نباشه، اطلاعات مربوط به اینکه کاربر Login کرده و چه مدت دیگه قرار Logout بشه، کجای سیستم ذخیره بشه که امکان پیدا کردن و دور زدنش سخت تر بشه...؟؟

vbhamed
شنبه 16 شهریور 1392, 20:58 عصر
سلام

ببينيد، اينكه چه روشي استفاده مي‌كنيد خيلي مهم نيست چون اگر مشخصات سخت افزاري سيستم رو بگيريد و با يك انكريپت كمي پيچيده كدش كنيد ديگه هكر نمي‌تونه بازش كنه
در حقيقت هكر ها نميان مشخصات شما رو بفهمن بلكه گلوگاه چك كردن كد شما رو دور مي‌زنن يعني شما بالاخره جايي تو برنامه مي‌نويسيد
اگر قفل درست بود سپس برنامه اجرا شود در غير اينصورت ...
هكر مياد اين شرط رو پيدا و برعكس مي‌كنه، اينطوري ديگه مهم نيست شما چقدر الگوريتم كد كردنت پيچيده باشه، اينترنتي باشه يا نباشه و ...
ضمنا به نظر من چك كردن شرط از طريق اينترنت راه خوبي نيست چون ممكنه طرفي كه برنامه خريده وسط بيابون باشه و اينترنت نداشته باشه يا شايد همون موقع كه قراره چك كنه سايت شما مشكل داشته باشه يا اينترنت كشور 2 روز قطع بشه و ...

براي جلوگيري از اين كار هكر تاپيكي قبلا زده شده كه مي‌تونيد اينجا ببينيد
http://barnamenevis.org/showthread.php?163937-!-%D9%82%D9%81%D9%84-%D9%8A%D8%A7-%D9%83%D8%AF-%D9%81%D8%B9%D8%A7%D9%84-%D8%B3%D8%A7%D8%B2-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A8%D8%AF%D9%88%D9%86-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-%D8%B4%D8%B1%D8%B7%D9%8A-!

mmssoft
شنبه 16 شهریور 1392, 22:15 عصر
دوست عزیز این ایده ای که شما توی تاپیک تون معرفی کردید ایده جالبیه، ولی شاید کاربر فقط محض سرگرمی اومد یک کد فعالسازی الکی وارد کرد یا اصلا نرم افزار رو خرید و توی وارد کردن کد فعالسازی اشتباه کرد، اونوقت برنامه تقریبا ناقص و خراب میشه؛ در صورتی که من تمایل دارم برنامه تا قبل از فعالسازی محدود باشه و بعد از فعالسازی بشه از امکانات جانبیش (که مخصوص کسایی هست که اون رو می خرند) استفاده کرد... !!

vbhamed
یک شنبه 17 شهریور 1392, 06:43 صبح
سلام
خب كد الكي وارد كنه مشكلي نيست
اگر قرار بود برنامه به همين راحتي خراب بشه كه بايد برنامه نويسي رو بزاريم كنار
يكي از نكات اصلي برنامه نويسي همينه كه برنامه نويس طوري برنامش رو بنويسه كه اشتباهات كاربر رو هم اصلاح كنه
اگر كسي كد الكي وارد كنه همون دفعه كه برنامه اجرا بشه عمدا با مشكل اجرا ميشه تا كار هكر رو سخت كنيم
دفعه بعد اجرا دوباره ازش كد مي‌خواد نه اينكه ديگه تا ابد برنامه خراب بشه