PDA

View Full Version : گذاشتن محدودیت در برنامه



saeid12
چهارشنبه 06 آذر 1387, 01:59 صبح
سلام مجدد.
من این روزا خیلی مزاحم شما دوستان میشم ولی چه کنم تنها منبعی که میشناسم اینجاست.
این بار مخواستم بپرسم چطوری کاری کنم که برنامم بعد از نصب 12 روز دیگش در صورت رجیستر نشدن بپره و دوباره نصب نشه (البته منظور از اینکه دوباره نصب نشه اینه که تو یه ویندوز دوبار نصب نشه مثل adobe audition)
باز هم تشکر از شما اساتید.

mpmsoft
چهارشنبه 06 آذر 1387, 09:23 صبح
خوب کاملا مشخصه شما می تونید یک یا چند کلید در رجیستری بندازید و توسط اون این کارو انجام بدید

saeid12
چهارشنبه 06 آذر 1387, 16:32 عصر
خوب کاملا مشخصه شما می تونید یک یا چند کلید در رجیستری بندازید و توسط اون این کارو انجام بدید
میشه واضح تر بگین من چیزی نفهمیدم.
با مثال باشه ممنون میشم.

s_ahmadneya
چهارشنبه 06 آذر 1387, 17:15 عصر
یعنی اینکه در رجستری ویندوز ویا یک فایل پنهان در داخل کامپوتر ویا هر دوروش تاریخ نصب را ذخیره کنی و د رهنگام بالا اومدن برنامه ان مقادیر را چک کنی در صورت اتمام مدت برنامه را بالا نیاوری .به همین راحتی
برای چگونه خواندن نوشتن و چک کردن رجستری لطفا سایت را چک کنید پیدا میکنید خودم یکبار نوشته ام

Pr0grammer
چهارشنبه 06 آذر 1387, 18:32 عصر
خوب کاملا مشخصه شما می تونید یک یا چند کلید در رجیستری بندازید و توسط اون این کارو انجام بدید



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

این روش کاملاً اشتباست!
با مثال این رو براتون روشن میکنم :
فکر کنید من الان برنامه شما رو گرفتم و نصب کردم، خب، شما فایل یا کلیدهای توی رجیستری رو با Setup برنامه تون ایجاد می کنید! پس وقتی برنامه نصب شد توی رجیستری مثلاً یه مقدار با نام a میشه که مقدار 1 داره!
بعد از 12 روز مقدار اون کلید a رو می کنید 0 ! خب من میام برنامه رو دوباره uninstall و دوباره install می کنم! :لبخند:
خب، کلید رجیستری a دوباره 1 میشه و برنامه اجرا میشه! حتی ممکنه یه کرکر اون کلید رو توی رجیستری تشخیص بده!

موفق باشید

s_ahmadneya
چهارشنبه 06 آذر 1387, 18:52 عصر
این روش کاملاً اشتباست!
با مثال این رو براتون روشن میکنم :
فکر کنید من الان برنامه شما رو گرفتم و نصب کردم، خب، شما فایل یا کلیدهای توی رجیستری رو با Setup برنامه تون ایجاد می کنید! پس وقتی برنامه نصب شد توی رجیستری مثلاً یه مقدار با نام a میشه که مقدار 1 داره!
بعد از 12 روز مقدار اون کلید a رو می کنید 0 ! خب من میام برنامه رو دوباره uninstall و دوباره install می کنم! :لبخند:
خب، کلید رجیستری a دوباره 1 میشه و برنامه اجرا میشه! حتی ممکنه یه کرکر اون کلید رو توی رجیستری تشخیص بده!

موفق باشید

باتشکر از این دوست عزیز اولا" در ستاب برنامه ما این رجستر را قرار نمی دهیم .بطوری که هنگام ساخت ستاپ این ساخت وریخت در رجستری را قرار نمی دهیم .بنابراین درهنگام install و uninstall این رجستری حذف نمی شود و همین طور درمورد فایل
و اما
در موقعه بالا اومدن برنامه ما این کنترل رجستر را انجام میدهیم وپیامهای مناسب را ارسال می دهیم.
درمورد هکر هم راست گفتید ممکنه.! که می شه با کمی پیچیده عمل کردن مثلا در نوشتن در جاهای استاندارد ومورد استفاده ویا حتی با تشابه اسمی کار برای هکر را مشکل کرد . اما صددرصد تضمینی است و در 99% جواب می دهد .بدیهی است ازرجستر شمانباید تشابه اسمی با پروژه ات داشته باشد.باتشکر اسماعیل احمدنیا:متفکر:

saeid12
چهارشنبه 06 آذر 1387, 19:04 عصر
بعد از 12 روز مقدار اون کلید a رو می کنید 0 ! خب من میام برنامه رو دوباره uninstall و دوباره install می کنم!
خوب منم همینو گفتم چکار کنم که این اتفاق نیفته و تو یک ویندوز برنامم دو بار نصب نشه!

Pr0grammer
چهارشنبه 06 آذر 1387, 20:18 عصر
سرچ کنید، قبلاً بحث شده :
http://barnamenevis.org/forum/showthread.php?t=117423&highlight=Trial

aslan
پنج شنبه 07 آذر 1387, 19:09 عصر
سلام دوستان

مشکل من بی ارتباط با این موضوع نیست برای همین تو این تاپیک مطرح میکنم

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

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

وقتی روی client برنامه را اجرا میکنم وجود یا عدم وجود کلید را در رجیستری ویندوز client بررسی میکنه نه رجیستری ویندوز سرور - چه جوری میشه این موضوع را حل کرد یعنی برنامه کلید مربوطه را در سرور جستجو بکنه نه در رجیستری client

Payman62
جمعه 08 آذر 1387, 16:06 عصر
سلام.
قرار دادن کلید در رجیستری یا نوشتن در فایل به راحتی قابل کرک هست. نرم افزار های filemon و regmon برای همین کار هستن. مسیرهایی که برنامه کلید یا فایل ایجاد میکنه رو به ما نشون میده و به راحتی میشه برنامه رو کرک کرد. درسته میشه کار رو پیچوند تا سخت تر کرک شه ولی به هر حال هر برنامه ای قابل کرک هست.
ولی شما میتونی یه کاری کنی. یه ورژن دمو از برنامت بده بیرون که محدودیت هایی داشته باشه. یه فول ورژن پولی هم بده بیرون.

mpmsoft
جمعه 08 آذر 1387, 16:42 عصر
دوست عزیز شما چرا یکم خودت وقت نمی ذاری و تحقیق نمی کنی

خیلی راحت یک کلید در رجیستری بنداز و یکی هم در بانک واین دو اگر باهم یکی بودن برنامه اجرا بشه

در ضمن می تونی CRC اطلاعات هارد سیستمو تو بانک بنویسی که فقط برنامه روی همون کامپیوتر کار کنه

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

saeid12
جمعه 08 آذر 1387, 18:47 عصر
دوست عزیز شما چرا یکم خودت وقت نمی ذاری و تحقیق نمی کنی

خیلی راحت یک کلید در رجیستری بنداز و یکی هم در بانک واین دو اگر باهم یکی بودن برنامه اجرا بشه

در ضمن می تونی CRC اطلاعات هارد سیستمو تو بانک بنویسی که فقط برنامه روی همون کامپیوتر کار کنه

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

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

Pr0grammer
جمعه 08 آذر 1387, 19:03 عصر
دوست عزیز من همه ایناره بلدم فقط مشکل اینه که وقتی زمان ویندوز رو میکشی عقب دوباره کار میکنه میخوام برنامه سوتی نداشته باشه...

این راهی که می گم رو چک کنید (هرچند زیاد مطمئن نیست اما میتونه کارتونو راه بندازه!)

* زمان اجرای برنامه (اولین بار) در یک مسیر (مثلاً system32) یه فایل txt یا ini یا .... ایجاد کن، تاریخ روز رو با مدت زمانی که می خوای برنامه اجرا بشه جمع کن و تاریخ بدست اومده رو توی فایل بریز!
* هر دفعه که برنامه رو اجرا می کنی، تاریخ روز رو با اون تاریخ درون مسیر چک کن، اگه کوچیکتر یا مساوی بود برنامه اجرا بشه! اما اگه تاریخ روز از اون تاریخ درون فایل بزرگتر بود،برنامه باز نشه!

نکات :
* موقع نصب برنامه فایل ایجاد نشده تا اگه دوباره نصبش کردند، فایل هم Refresh بشه!
* برای اینکه بدونی برنامه برای اولین بار اجرا میشه یا نه! می تونی از FileExist استفاده کنی! اگه فایل وجود نداشت، اولین بار بوده و اگه وجود داشت برنامه قبلاً باز شده!
* اگه برنامه رو Uninstall کنن فایل حذف نمیشه، پس اگه دوباره برنامه رو نصب کنند فایده ای به حالشون نداره، چون فایل با تاریخ انقضاء برنامه هست!

اما:
اگه ویندوز رو پاک کنن و دوباره نصب کنند! اطلاعات درون system32 حذف میشه! پس فایل شما هم نیست! {البته این دیگه طبیعیه چون Kaspersky هم همینطوریه خب!!!}

موفق باشید

saeid12
جمعه 08 آذر 1387, 19:56 عصر
این راهی که می گم رو چک کنید (هرچند زیاد مطمئن نیست اما میتونه کارتونو راه بندازه!)

* زمان اجرای برنامه (اولین بار) در یک مسیر (مثلاً system32) یه فایل txt یا ini یا .... ایجاد کن، تاریخ روز رو با مدت زمانی که می خوای برنامه اجرا بشه جمع کن و تاریخ بدست اومده رو توی فایل بریز!
* هر دفعه که برنامه رو اجرا می کنی، تاریخ روز رو با اون تاریخ درون مسیر چک کن، اگه کوچیکتر یا مساوی بود برنامه اجرا بشه! اما اگه تاریخ روز از اون تاریخ درون فایل بزرگتر بود،برنامه باز نشه!

نکات :
* موقع نصب برنامه فایل ایجاد نشده تا اگه دوباره نصبش کردند، فایل هم Refresh بشه!
* برای اینکه بدونی برنامه برای اولین بار اجرا میشه یا نه! می تونی از FileExist استفاده کنی! اگه فایل وجود نداشت، اولین بار بوده و اگه وجود داشت برنامه قبلاً باز شده!
* اگه برنامه رو Uninstall کنن فایل حذف نمیشه، پس اگه دوباره برنامه رو نصب کنند فایده ای به حالشون نداره، چون فایل با تاریخ انقضاء برنامه هست!

اما:
اگه ویندوز رو پاک کنن و دوباره نصب کنند! اطلاعات درون system32 حذف میشه! پس فایل شما هم نیست! {البته این دیگه طبیعیه چون Kaspersky هم همینطوریه خب!!!}

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

Pr0grammer
جمعه 08 آذر 1387, 20:25 عصر
سلام دوست عزیز این کار هم مثل اونیکیا با دست کاری تاریخ مشه برنامه رو بالا آورد.

معذرت میخوام که این حرف رو میزنم! اما یه کم شم برنامه نویسی رو هم به کار ببرید تا بتونید از یه چیز به هدفتون برسید! :قلب:

نگاه دوست من، شما می تونید یه فایل دیگه هم کنار اون فایل ایجاد کنید که تاریخ درست رو نشون بده؛
به این روش نگاه کنید :

===========================
اجرای برنامه برای اولین بار:
متن فایل تاریخ انقضا = 1387/9/8 :
متن فایل تاریخ درست = 1387/9/20
==========================

اجرای برنامه برای بارهای بعدی:

چک کردن موقع اجرا :

اگر تاریخ سیستم <> متن فایل تاریخ درست آنوقت
نمایش پیغام "تاریخ سیستم نادرست است"
در غیر اینصورت
اگر تاریخ سیستم =< متن فایل تاریخ انقضا آنوقت
اجرای برنامه و جایگزینی تاریخ سیستم در فایل تاریخ درست
در غیر اینصورت
نمایش پیغام "مدت اعتبار برنامه به پایان رسیده است."
پایان شرط
پایان شرط

======================

امیدوارم متوجه شده باشید! اگه نشدید بهتره بیشتر تلاش کنید!
موفق باشید:قلب:

s_ahmadneya
جمعه 08 آذر 1387, 20:25 عصر
سلام مجدد.
من این روزا خیلی مزاحم شما دوستان میشم ولی چه کنم تنها منبعی که میشناسم اینجاست.
این بار مخواستم بپرسم چطوری کاری کنم که برنامم بعد از نصب 12 روز دیگش در صورت رجیستر نشدن بپره و دوباره نصب نشه (البته منظور از اینکه دوباره نصب نشه اینه که تو یه ویندوز دوبار نصب نشه مثل adobe audition)
باز هم تشکر از شما اساتید.
با سلام
1-اولا" یکی از دلایل در اختیار گذاشتن مجانی برنامه این است که از مزایا آن مطلع وحریص برای خرید ان باشند بنابراین زیاد نگران نصب چندین باره ان نباش اگه لازم باشه می خرند.
2- برای اینکه از برنامه ات استفاده کنند و متوجه مزایا ان بشوند فقط به تعداد روزهای نصب توجه نکن . من یه برنامه دیدم که زمان موثر استفاده 50ساعت را ملا ک قرار داده بود. شما هم می تونی این کاررو بکنی.
3-من خودم روی تعداد رکوردها قفل می گذارم مثلا" تا 1000رکورد مجاز است مجانی استفاده بکند وبعد ان باید بخرد.
4-یکی از راههای قفل گذاری اینه که در فایل exe ات زمان را یاداشت کنی .زیاد مشکل نیست.ویا در یکی از فایلهای dllات .ویا چندتا طریقه اینکار در سایت اومده سرچ کن پیدا می کنی.
5- خلاصه اینکه هدف خرید برنامه است .این را اصل قرار بده وبا استفاده از مطالب مطرح شده حتما به نتیجه می رسی موفق باشید

saeid12
جمعه 08 آذر 1387, 20:38 عصر
با سلام
1-اولا" یکی از دلایل در اختیار گذاشتن مجانی برنامه این است که از مزایا آن مطلع وحریص برای خرید ان باشند بنابراین زیاد نگران نصب چندین باره ان نباش اگه لازم باشه می خرند.
2- برای اینکه از برنامه ات استفاده کنند و متوجه مزایا ان بشوند فقط به تعداد روزهای نصب توجه نکن . من یه برنامه دیدم که زمان موثر استفاده 50ساعت را ملا ک قرار داده بود. شما هم می تونی این کاررو بکنی.
3-من خودم روی تعداد رکوردها قفل می گذارم مثلا" تا 1000رکورد مجاز است مجانی استفاده بکند وبعد ان باید بخرد.
4-یکی از راههای قفل گذاری اینه که در فایل exe ات زمان را یاداشت کنی .زیاد مشکل نیست.ویا در یکی از فایلهای dllات .ویا چندتا طریقه اینکار در سایت اومده سرچ کن پیدا می کنی.
5- خلاصه اینکه هدف خرید برنامه است .این را اصل قرار بده وبا استفاده از مطالب مطرح شده حتما به نتیجه می رسی موفق باشید

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

Pr0grammer
جمعه 08 آذر 1387, 21:07 عصر
دوست عزیز من الان برنامم بعد 30 بار باز شدن خود به خود پاک میشه
البته چون نتونستم از راه تاریخ این کارو کنم اینطوریش کردم

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

saeid12
جمعه 08 آذر 1387, 21:29 عصر
بله؟! :متعجب:
یعنی اگه توی سه روز برنامه رو به هر دلیلی طرف 30 بار باز کرد، برنامه می پره؟! :متفکر:
روشی که گفتم اشکالی داشت؟!
دوست عزیز اونی شما گفتید رو من امتحان کردم قبلا همون طوری ولی کار نکرد
اگه میخواید خودتون امتحان کنید و جوابشو بگید

Nima NT
جمعه 08 آذر 1387, 22:48 عصر
ممنون میشم اگر مشخص کنید که درجه حساسیت موضوع برای شما چقدره ؟ یعنی چقدر امنیتی که مد نظر شما هست براتون مهمه , اینطوری بهتر میشه کمک کرد , چون فکر کنید الان شما دارید این راه ها رو پیشنهاد میکنید و دوستان هم نظر میدن , کسی نگفت که چطوری میشه از این تکنیک ها رد شد , به همین خاطر میگم که آیا در مورد رد کردن و شکستن اونها هم بحث بکنیم یا خیر ؟
این سوال رو به این خاطر پرسیدم تا یه وقت کسی دچار سوء تفاهم نشه و به کسی اهانت نکرده باشم , چون از میانه های بحث وارد شدم.

Pr0grammer
جمعه 08 آذر 1387, 23:02 عصر
دوست عزیز اونی شما گفتید رو من امتحان کردم قبلا همون طوری ولی کار نکرد
اگه میخواید خودتون امتحان کنید و جوابشو بگید

مشکل نداره!

mahmood_s
جمعه 08 آذر 1387, 23:53 عصر
البته با توجه به اینکه هیچ برنامه ای نمیتونه در مقابل هکر ها و کرکر ها دوام بیاره

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

1 - ریجستری 2 - فایل های dat و 3 - فایل های سیستمی

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


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


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

مثل فرم ورود کاربر و فرم اصلی برنامه و ...

موفق باشید

mahmood_s
جمعه 08 آذر 1387, 23:58 عصر
یه سری هم به آدرس زیر بزن

http://barnamenevis.org/forum/showpost.php?p=469348&postcount=124

saeid12
یک شنبه 10 آذر 1387, 01:53 صبح
ممنون میشم اگر مشخص کنید که درجه حساسیت موضوع برای شما چقدره ؟ یعنی چقدر امنیتی که مد نظر شما هست براتون مهمه , اینطوری بهتر میشه کمک کرد , چون فکر کنید الان شما دارید این راه ها رو پیشنهاد میکنید و دوستان هم نظر میدن , کسی نگفت که چطوری میشه از این تکنیک ها رد شد , به همین خاطر میگم که آیا در مورد رد کردن و شکستن اونها هم بحث بکنیم یا خیر ؟
این سوال رو به این خاطر پرسیدم تا یه وقت کسی دچار سوء تفاهم نشه و به کسی اهانت نکرده باشم , چون از میانه های بحث وارد شدم.
سلام
خوشهالم که به جمع ما اضافه شدید ولی فکر کنم دقدقه خیلی ها امنیت برنامه باشه.
و نیاز به دلیل خاصی نداره.

aslan
پنج شنبه 21 آذر 1387, 17:07 عصر
دوستان كسي به اين سوال من جوابي نداره ؟

سلام دوستان

مشکل من بی ارتباط با این موضوع نیست برای همین تو این تاپیک مطرح میکنم

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

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

وقتی روی client برنامه را اجرا میکنم وجود یا عدم وجود کلید را در رجیستری ویندوز client بررسی میکنه نه رجیستری ویندوز سرور - چه جوری میشه این موضوع را حل کرد یعنی برنامه کلید مربوطه را در سرور جستجو بکنه نه در رجیستری client