PDA

View Full Version : طریقه ساخت نسخه زماندار



حمیدرضاصادقیان
دوشنبه 26 مهر 1389, 13:14 عصر
سلام.
میخواستم ببینم نسخه های زمانداری که ایجاد میشه و حتی کاربر تاریخ سیستم رو تغییر میده ولی سر تاریخ خاصی از کار میافته با چه الگوریتمی کار میکنند.آیا تاریخ نصب برنامه رو مثلا در رجیستری ذخیره میکنند؟
کلا برای ساخت یک نسخه زماندار مثلا 3-4 ماهه چه روشی پیشنهاد میشه.؟
باتشکر.

ali_habibi1384
پنج شنبه 29 مهر 1389, 08:26 صبح
ذخیره در رجیستری فایده نداره چون بازهم پاک خواهد شد. من فکر میکنم در هر بار باز شدن برنامه اگر تاریخ سیستم رو ذخیره کنید راه مناسبی باشه. البته من این راه رو کلا پیشنهاد نمیکنم بهترش اینه که شما تعداد اطلاعات وارد شده در برنامه رو بشماری مثلا اگه تعداد مشتری به یک حدی رسید برنامه بسته بشه.

tdkhakpur
پنج شنبه 29 مهر 1389, 11:28 صبح
میخواستم ببینم نسخه های زمانداری که ایجاد میشه و حتی کاربر تاریخ سیستم رو تغییر میده ولی سر تاریخ خاصی از کار میافته با چه الگوریتمی کار میکنند.آیا تاریخ نصب برنامه رو مثلا در رجیستری ذخیره میکنند؟
کلا برای ساخت یک نسخه زماندار مثلا 3-4 ماهه چه روشی پیشنهاد میشه.؟


اگر میخواهید کلا برنامه توسط هیچ نوع کرکر دستکاری نشه ماکزیمم مصرف برای برنامه تان قرار بدید یعنی با هر بار ورود به برنامه ثانیه ها رو بشمارید و یه جایی از برنامه تان ذخیره کنید مثلا36000 ثایه میشه 1 ساعت و .. به همین ترتیب برای مدتی که مد نظر دارید یک عدد هست که بهش رسیدید برنامه را متوقف کنید.
اگر هم کرکر تونست زمان رو از کار بندازه شما هم برنامه رو از کار بندازید.

ali_habibi1384
جمعه 30 مهر 1389, 08:31 صبح
اگر میخواهید کلا برنامه توسط هیچ نوع کرکر دستکاری نشه ماکزیمم مصرف برای برنامه تان قرار بدید یعنی با هر بار ورود به برنامه ثانیه ها رو بشمارید و یه جایی از برنامه تان ذخیره کنید مثلا36000 ثایه میشه 1 ساعت و .. به همین ترتیب برای مدتی که مد نظر دارید یک عدد هست که بهش رسیدید برنامه را متوقف کنید.
اگر هم کرکر تونست زمان رو از کار بندازه شما هم برنامه رو از کار بندازید.
این کار که خیلی راحت کرک میشه:
1- کرکر نیاز نیست فایل اجرایی را دستکاری کند فقط کافیست جایی(دیتا بیس) را که تعداد ثانیه ها اضافه میشه هر بار صفر کنه ویا مثلا یه عدد منفی بزرگ بده مثلا -9999999999
2- کرکر وقتی تایمر رو از کار بندازه که دیگه ثانیه شمار چطور باید کار کنه که متوجه بشه چند ثانیه گذشته؟!
3-وقتی تایمر برنامه رو کرکر کرک کنه اونوقت برنامه لو رفته حالا چطور باید طرف برنامه رو از کاربندازه؟!
4-کرکر بیاد و بجای مثلا i=i+1 بنویسه i=i+0 اینجوری اصلا زمانی شمارش نخواهد شد.
حالا من اینا رو روی تازه کاری خودم پیدا کردم مسلما روشهای خیلی راحتتر و بهتری واسه شکست این موضوع پیدا خواهد شد.

tdkhakpur
جمعه 30 مهر 1389, 11:51 صبح
این کار که خیلی راحت کرک میشه:
1- کرکر نیاز نیست فایل اجرایی را دستکاری کند فقط کافیست جایی(دیتا بیس) را که تعداد ثانیه ها اضافه میشه هر بار صفر کنه ویا مثلا یه عدد منفی بزرگ بده مثلا -9999999999

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

2- کرکر وقتی تایمر رو از کار بندازه که دیگه ثانیه شمار چطور باید کار کنه که متوجه بشه چند ثانیه گذشته؟!
خب من هم گفتم اگر از کار انداخت برنامه متوقف بشه.


3-وقتی تایمر برنامه رو کرکر کرک کنه اونوقت برنامه لو رفته حالا چطور باید طرف برنامه رو از کاربندازه؟!

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


4-کرکر بیاد و بجای مثلا i=i+1 بنویسه i=i+0 اینجوری اصلا زمانی شمارش نخواهد شد.
حالا من اینا رو روی تازه کاری خودم پیدا کردم مسلما روشهای خیلی راحتتر و بهتری واسه شکست این موضوع پیدا خواهد شد.

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

mansour01
شنبه 01 آبان 1389, 07:14 صبح
می تونید هنگام ذخیره سازی زمان اونرو با الگوریتم خودتون کد کنید و ذخیره کنید ( بر اساس کلید اختصاصی که از سیستم مربوطه و بصورت یونیک ایجاد می کنید می تونید کد کنید یعنی یکبار بصورت عمومی کد کنید و یکبار اختصاصی ). کرکر هم تابع ذخیره شمارو دستکاری میکنه که ذخیره نشه یا یک مقدار ثابت همیشه ذخیره بشه ، و بعد شما می تونید تعداد اجراهای برنامه رو هم ذخیره کنید و به این صورت که یا 30 بار اجرا و یا فلان مقدار زمان ، و کرکر هم باز اون مقادیر رو به روش یاد شده ثابت یا حذف میکنه .و در نهایت کرکر تابع بررسی شما رو تغییر میده که به جای اینکه بعد از فلان مقدار اجر انکنی ، اجرا کن !
اگر X=1 هست برو به تابع اجرا
در غیر اینصورت برو به پایان برنامه { تصحیح میشه به برو به تابع اجرا }

نتیجه اینکه بدون استفاده از پروتکتور یا پکر برای امنیت برنامه این روش کافی نیست و این صرفا به الگوریتم نویسی مربوط میشه ( همونطور که دوستمون در هر دو مورد فرمودند )

مهران رسا
پنج شنبه 06 آبان 1389, 12:17 عصر
بهترین کار استفاده از یک سرور اینترنتی هست . که اولاً اگر تاریخ سیستم تنظیم نبود به کاربر هشدار بده و ثانیاً با محاسبه تفاضل بین تاریخ ثبت نرم افزار و تاریخ جاری رایانه کاربر که همان تاریخ جاری سرور هست ، تصمیم بگیره چه مدت زمانی از اعتبار نرم افزار باقی مونده .