PDA

View Full Version : سوال: جلوگیری از کرک برنامه ام !؟



hackershz
چهارشنبه 20 خرداد 1388, 22:17 عصر
با سلام خدمت شما دوستان گرامی وعزیز دوستان

بنده یه برنامه دارم که میخوا بفروشمش

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

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

morika
چهارشنبه 20 خرداد 1388, 22:43 عصر
می تونی این Dll رو که برات می زازم تو برنامت استفاده کنی :
راه استفاده....
از منوی Project گزینه References را برگزینید تا کادر محاوره ای References باز شه. از این کادر فایل رو به برنامه بشناسون.
بعد از کد ها رو بنویس:

Dim skrsoft As New class

txtid.Text = skrsoft.GenerateID
حالا شماره سریال هارد و سی پی یو و رم و مادربرد رو توی تکس باکس داری.
حالا مشتری باید زنگ بزنه به تو و شماره سریال برنامشو ازت بگیره
تو هم بر اساس فرمولی که شماره سریال طراحی می کنی شماره سریال سیستم مشتری رو بهش می دی که فقط رو سیستم اون کاربرد داره
البته این راه هم راه 100% مطمعنی نیست

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

hackershz
پنج شنبه 21 خرداد 1388, 11:23 صبح
می تونی این Dll رو که برات می زازم تو برنامت استفاده کنی :
راه استفاده....
از منوی Project گزینه References را برگزینید تا کادر محاوره ای References باز شه. از این کادر فایل رو به برنامه بشناسون.
بعد از کد ها رو بنویس:

Dim skrsoft As New class
txtid.Text = skrsoft.GenerateIDحالا شماره سریال هارد و سی پی یو و رم و مادربرد رو توی تکس باکس داری.
حالا مشتری باید زنگ بزنه به تو و شماره سریال برنامشو ازت بگیره
تو هم بر اساس فرمولی که شماره سریال طراحی می کنی شماره سریال سیستم مشتری رو بهش می دی که فقط رو سیستم اون کاربرد داره
البته این راه هم راه 100% مطمعنی نیست

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


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

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

xxxxx_xxxxx
پنج شنبه 21 خرداد 1388, 11:39 صبح
بحث پیرامون امنیت برنامه ها در مقابل کرک شدن (http://barnamenevis.org/forum/showthread.php?t=114644) ‏

مهران رسا
پنج شنبه 21 خرداد 1388, 14:31 عصر
نهایتاً شما در این روشی که گفتید ملزم هستید از دستوات شرطی استفاده کنید که نهایتاً عبارت "جلوگیری از کرک" بی معنی میشه ...

morika
جمعه 22 خرداد 1388, 01:56 صبح
من این طوری از این کد استفاده کردم:
شماره ای که توی تکس باکس هست رو با این فرمول تو کد برنامم گذاشتن:
txtid.Text=+12+45+68-89-78+58+5+2-9
بعد تو برنامه شرط کردم اگه تکس باکس پسورد مساوی عددی شده که از این راه به دست می آید برنامه register بشه و اگر نشد پیغام خطا بده.
هر نسخه از برنامه شما ID مخصوص به خدشو داره
فقط کافی شما یه برنامه کوچک تو کامپیوترتون بنویسید که وقتی مشتری زنگ می زنه و شماره سریال شو می خواد از شما اون کدی رو که txtid بهش میده ازش بگیرید و تو برنامه کوچیکتون بنویسید و شماره سریال مشتری رو بهش بگید
اگه خواستید بگید تا اون برنامه کوچیک رو براتون بنویسم

Nima NT
جمعه 22 خرداد 1388, 02:07 صبح
هرکاری میکنید فرقی نمیکنه , فراموش نکنیدکه حتما" از یه پروتکتور خوب هم استفاده کنید.

vbhamed
جمعه 22 خرداد 1388, 02:31 صبح
سلام

.MPSPY. عزيز

هميشه نياز نيست از دستور شرطي استفاده بشه
اينجا رو ببينيد

http://www.barnamenevis.org/forum/showthread.php?p=738921#post738921

hackershz
جمعه 22 خرداد 1388, 09:37 صبح
من این طوری از این کد استفاده کردم:
شماره ای که توی تکس باکس هست رو با این فرمول تو کد برنامم گذاشتن:
txtid.Text=+12+45+68-89-78+58+5+2-9
بعد تو برنامه شرط کردم اگه تکس باکس پسورد مساوی عددی شده که از این راه به دست می آید برنامه register بشه و اگر نشد پیغام خطا بده.
هر نسخه از برنامه شما ID مخصوص به خدشو داره
فقط کافی شما یه برنامه کوچک تو کامپیوترتون بنویسید که وقتی مشتری زنگ می زنه و شماره سریال شو می خواد از شما اون کدی رو که txtid بهش میده ازش بگیرید و تو برنامه کوچیکتون بنویسید و شماره سریال مشتری رو بهش بگید
اگه خواستید بگید تا اون برنامه کوچیک رو براتون بنویسم

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

مهران رسا
جمعه 22 خرداد 1388, 12:22 عصر
سلام

.M8SPY. عزيز

هميشه نياز نيست از دستور شرطي استفاده بشه
اينجا رو ببينيد



سلام .

اینجا رو خودتون بخونید :


طبق دستور بالا و توضيحات گفته شده، اگر Key برابر پوچ باشه كه Encode كار خاصي انجام نميده و همون C:\Test.mdb رو توي متغير dbasePath كه مسير بانكمون هست قرار مي ده اما اگر Key پوچ نباشه چون رشته C:\Test.mdb كد ميشه پس مسير برنامه بهم مي‌ريزه و تبديل به يك رشته بي معني ميشه و اين يعني عدم كاركرد صحيح برنامه

شاید اگه کد مربوط به دو تابع Encode و Decode رو هم توی پستتون می نوشتین راحت تر متوجه می شدین که نهایتاً برنامه ملزم به استفاده از شرط هست .

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

البته اینم اضافه کنم هر ترفندی که به کار ببریم (مثلاً استفاده از abs) ، درسته مستقیماً از if یا case و ... استفاده نکردیم ولی ناخودآگاه مفهموم شرط رو رسوندیم .

vbhamed
دوشنبه 25 خرداد 1388, 01:48 صبح
سلام .

اینجا رو خودتون بخونید :



شاید اگه کد مربوط به دو تابع Encode و Decode رو هم توی پستتون می نوشتین راحت تر متوجه می شدین که نهایتاً برنامه ملزم به استفاده از شرط هست .

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

البته اینم اضافه کنم هر ترفندی که به کار ببریم (مثلاً استفاده از abs) ، درسته مستقیماً از if یا case و ... استفاده نکردیم ولی ناخودآگاه مفهموم شرط رو رسوندیم .


سلام

اون اگر هايي كه نوشته شده فقط براي بيان روش كار برنامه وگرنه در برنامه ما اصلا از دستور if استفاده نكرديم

ببينيد، شما يك رشته رو كد مي كنيد و هيچ شرطي نداريم، در تابع encode ما در يك حلقه با توجه به طول كليد رشته اصلي رو كد مي كنيم كه اگر كليد "" باشد حلقه اجرا نمي شود و رشته كد نمي شود


For i = 1 To Len(Key)

مي بينيد كه در دستور بالا شرطي وجود ندارد
پس در نهايت يا رشته تخريب ميشه يا اصلش بر مي گرده