PDA

View Full Version : مبتدی: محدود کردن دفعات اجرای برنامه



YkA1363
سه شنبه 24 مرداد 1391, 03:04 صبح
سلام
یه برنامه نوشتم می خوام برای نمونه فروش به چندتا اداره بدم برای اینکه این برنامه پس از مثلا ده بار اجرا شدن دیگه اجرا نشه
توی دیتابیسم یک جدول ایجاد کردم و توی خاصیت اکتیو فرم اصلی نوشتم اول مقدار جدول رو بخونه اگر بزرگتر از ده بود برنامه رو ببنده و اگر کوچکتر از ده بود یک عدد بهش اضافه کنه و در دیتابیس ذخیره کنه. دیتابیسم اس کیو ال
به نظرتون این روش معقولی هست یا نه؟
اگر نه یه راهکار پیشنهاد بدید. ممنون از لطفتون

hossein_h62
سه شنبه 24 مرداد 1391, 08:08 صبح
سلام
اگر رفت عدد اون فیلد رو تغییر داد چی ؟!!

seyed_27
سه شنبه 24 مرداد 1391, 08:15 صبح
یه برنامه نوشتم می خوام برای نمونه فروش به چندتا اداره بدم برای اینکه این برنامه پس از مثلا ده بار اجرا شدن دیگه اجرا نشه
سلام و روز بخیر
روش های متعددی برای اینکار وجود داره:
1- روشی که شما رفتید
2- همین کار رو در رجیستری میشه انجام داد و در هر بار اجرا آدرس خاصی از رجیستری که شما معرفی می کنید یک عدد به مقدارش اضافه کنه و بررسی کنه تا یک عدد خاص اگر بزرگتر از مثلا 5 شد پیام بده
2- استفاده از نرم افزار های محدود کننده: این نرم افزار ها بسیار جالب هستند و امکانات زیادی دارند . فایل اجرایی برنامه رو به اون میدید و محدودیت های خودتون رو تنظیم می کنید و یه فایل خروجی به شما میده. و اون فایل همون برنامه شماست که کمی تغییر کرده . محدودیت ها مثل : چک کردن شماره سریال هارد ، سی پی یو و .... و از جمله محدودیت نصب یا اجرا با بررسی موارد سخت افزاری که خدمتتون عرض شد با قفل شدن یا ریست کردن سیستم و امکانتا بسیار جالب دیگه.( لازم به ذکره بعضی از این نرم افزار ها بعنوان بد افزار معرفی شدند بخاطر همین بعضی از آنتی ویروسها خروجی این
برنامه ها رو ویروس تشخیص میده و پاکشون میکنه)

امیدوارم کافی باشه
دعا بفرمائید . یا علی

hossein_h62
سه شنبه 24 مرداد 1391, 11:09 صبح
سلام و روز بخیر
روش های متعددی برای اینکار وجود داره:
1- روشی که شما رفتید
2- همین کار رو در رجیستری میشه انجام داد و در هر بار اجرا آدرس خاصی از رجیستری که شما معرفی می کنید یک عدد به مقدارش اضافه کنه و بررسی کنه تا یک عدد خاص اگر بزرگتر از مثلا 5 شد پیام بده
3- استفاده از نرم افزار های محدود کننده: این نرم افزار ها بسیار جالب هستند و امکانات زیادی دارند . فایل اجرایی برنامه رو به اون میدید و محدودیت های خودتون رو تنظیم می کنید و یه فایل خروجی به شما میده. و اون فایل همون برنامه شماست که کمی تغییر کرده . محدودیت ها مثل : چک کردن شماره سریال هارد ، سی پی یو و .... و از جمله محدودیت نصب یا اجرا با بررسی موارد سخت افزاری که خدمتتون عرض شد با قفل شدن یا ریست کردن سیستم و امکانتا بسیار جالب دیگه.( لازم به ذکره بعضی از این نرم افزار ها بعنوان بد افزار معرفی شدند بخاطر همین بعضی از آنتی ویروسها خروجی این
برنامه ها رو ویروس تشخیص میده و پاکشون میکنه)

امیدوارم کافی باشه
روش 1و2 اصلا راههای مطمئنی نیستند و بسادگی قابل نفوذن.
راه حل سومتون هم که کلی بود، باید دید کدوم روش با چه الگوریتمی داره کار میکنه تا بشه در مورد امنیتش نظر داد.

BORHAN TEC
سه شنبه 24 مرداد 1391, 11:59 صبح
این کار زیاد جالب نیست. بهتره برنامه را طوری بسازید که در صورت رجیستر نشدن دارای محدودیت زمانی باشه(مثلاً مدت یکماه)، البته این در صورتی خوب است که برنامه ماهیتی دیتابیس داشته باشد که وارد شدن زمان درست در دیتابیس مهم باشد. حال مثلاً بعد از یکماه برنامه نیاز به رجیستر کردن دارد.

YkA1363
پنج شنبه 26 مرداد 1391, 04:42 صبح
ممنون از راهنماییتون.میشه بگین با چه کدی می تونم دفعات اجرای برنامم رو در رجیستری ثبت کنم و بخونم.

mahian90
پنج شنبه 26 مرداد 1391, 22:54 عصر
ممنون از راهنماییتون.میشه بگین با چه کدی می تونم دفعات اجرای برنامم رو در رجیستری ثبت کنم و بخونم.

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

gholami146
سه شنبه 31 مرداد 1391, 19:27 عصر
تمامی راه هایی رو که دوستان به شما پیشنهاد دادن خوبه اما از نظر یک برنامه نویس نه از نظر یک (کرکر) چون یک کراکر فقط کافیه در سورس برنامه شما نفوظ کنه و یک خط از برنامه شما رو Nop کنه اونوقته که بینگو همه برنامه شما فری میشه
شما اولن باید از یک الگوریتم مثلا اسموک الگوریتم برای برنامه استفاده کنید و مقدار تعداد دفعات برنامه رو بصورت کد شده به برنامه بفرستید و از اون بگیرید
و از همه محمتر شما باید فایل اجرایی برنامتون رو حتما توسط پروتکتور ها محافظت کنید تا درون برنامه های دیباگر باز نشه مثلا OllyDbg که ما کراکر ها از اون زیاد استفاده می کنیم دوما نکته خیلی مهم اینکه من میگم هر قفلی یا هر سئوالی که توسط یک انسان طرح بشه پس نتیجه میگیریم یک انسان میتونه جوابش بده
من خودم برنامه های زیادی رو نوشتم اما هنوز راهشو نفهمیدم که چطور ازشون محافظت کنم چون هر راهی رو که خودم ساختم خودم دیدم براحتی با گزاشتن کمترین زمان میشه کرکش کرد. من فقط تنها کاری که کردم برناممو بصورت انلاین چک کردم که این کار هم زمانی قابل اجراست که برنامه به اینترنت نیاز 100 در 100 داشته باشه و هر وقت که نخواستم یک کار بر رو از روی دیتابیس Ben کردم.
موفق باشید

seyed_27
چهارشنبه 01 شهریور 1391, 08:05 صبح
جناب YkA1363 ، به نظر نمی رسه که برنامه ای با این پیچیدگی و قفلی به این مهمی درخواست کرده باشید؟ درسته؟