PDA

View Full Version : قفل نرم افزاری



malakootian
سه شنبه 01 اسفند 1385, 00:08 صبح
سلام من تا حالا چندین تاپیک در مورد قفل را خوندم اما در آخر نتیجه خاصی مشخص نشده.
حالا خواهشمندم اگه کسی کد کاملی یا فایله OCXداره که بشه برای بدست آوردن اطلاعات سیستم از اون استفاده کرد در اختیار منم بذاره متشکرم.

oVERfLOW
سه شنبه 01 اسفند 1385, 10:11 صبح
OCX به درد قفل نمی خوره
چون خیلی راحت می شه دورش زد

باید گرفتن مشخصات داخل فایل اجرایی خودتون باشه و فایل اجرایی هم به خوبی حفاظت بشه

malakootian
پنج شنبه 03 اسفند 1385, 21:48 عصر
خوب به نظر شما راه حل نهایی چیه چطوری مشخصاتو از سیستم بگیرم وچی بگیرم ممنون میشم اگه کمکم کنید

Amir Oveisi
جمعه 04 اسفند 1385, 01:23 صبح
CPU ID به نظر من

soroush_vs
جمعه 04 اسفند 1385, 20:00 عصر
OCX به درد قفل نمی خوره
چون خیلی راحت می شه دورش زد

باید گرفتن مشخصات داخل فایل اجرایی خودتون باشه و فایل اجرایی هم به خوبی حفاظت بشه
خب اگه تولید کننده مشخصات از طریق یک فایل dll باشه باز هم امنیت زیر سوال میره؟مثل قفل پرولاک
باز هم فرقی نمیکنه؟

Master Eagle
یک شنبه 06 اسفند 1385, 11:19 صبح
فایل های جانبی مثل OCX , DLL , ... رو میشه با دونستن Signature متد هاشون شبیه سازی کرد. که البته با چک کردن Authentication در فایل های جانبی(Dllو ...) میشه تا حد زیادی از این کار جلوگیری کرد. بدست آوردن Signature متد نیز بستگی به پیچیدگی آن دارد.

Bahram0110
یک شنبه 06 اسفند 1385, 11:35 صبح
سلام
به نظرت این به درد می خوره؟
البته هنوز تو مرحلهء تست و طراحیه!
http://barnamenevis.org/forum/showthread.php?t=61635

Developer Programmer
یک شنبه 06 اسفند 1385, 21:41 عصر
CPU ID به نظر من
خب اگه تولید کننده مشخصات از طریق یک فایل dll باشه باز هم امنیت زیر سوال میره؟پسر خوشگل بابا، هرکاری که کنی، تا وقتی ندونی چطور باید anti trace , anti patch, anti debugging, anti dump, anti fishingو غیره بسازی... اگه صدتا مشخصه سخت افزار رو هم که بهم پیوند بدی... آخرش، کل برنامه ات به یه Jump و NOP وابسته است.

malakootian
یک شنبه 06 اسفند 1385, 21:46 عصر
حالا با این تفاسیر چیزی هست یا راهی به نظرتون میرسه که بشه کاری کرد آخه من میخوام برای برنامه ای که نوشتم یه قفل بذارم.حسابی موندم که چیکار کنم بیزحمت راهنماییم کنید.
متشکرم

Amir Oveisi
یک شنبه 06 اسفند 1385, 21:58 عصر
پسر خوشگل بابا، هرکاری که کنی، تا وقتی ندونی چطور باید anti trace , anti path, anti debugging, anti dump, anti fishingو غیره بسازی... اگه صدتا مشخصه سخت افزار رو هم که بهم پیوند بدی... آخرش، کل برنامه ات به یه Jump و NOP وابسته است.

کاملا موافقم
شما منابعی برای آموزش اینا سراغ دارین؟

Developer Programmer
دوشنبه 07 اسفند 1385, 09:33 صبح
شما منابعی برای آموزش اینا سراغ دارین؟
به قسمت "امنیت نرم افزار" سری بزن، اگه اسم سورس هایی رو که گذاشتم، در گوگل سرچ کنی، به اونچه میخوای میرسی...

malakootian
دوشنبه 07 اسفند 1385, 18:03 عصر
ببخشید ممکنه مجدد اسمه اون سورسها را اینجام بنویسید
متشکر میشم

soroush_vs
دوشنبه 07 اسفند 1385, 19:39 عصر
باید کپی رایت و قانونش کامل و قدرتمند اجرا بشه
هیچ راهی برای فرار از این کپی غیر مجاز وجود ندارد
فقط میشه نفوظ رو مشکل کرد.

vbhamed
جمعه 14 اردیبهشت 1386, 16:43 عصر
سلام
منم چند تا تجربه دارم که بگم

1 - فایلهاتون Pack کنید هر چند ممکنه Unpack بشه

2 - روال تست قفل رو گذشته از تایمر تو جاهای مختلف برنامه هم بزارید (خود روال رو نه فراخوانی مجدد تابع، ضمنا تغییراتی هم رو روالها بدین که مثل هم

نباشن، تنبلی نکنید، اگر شما راحت بنویسید، کرکر هم راحت کرک می کنه، بعضی ها هم که راحتن، همون اول برنامه میزارن و بعدشم تمام، اونوقت می

خوان برنامشون کرک نشه، اینطوری خستکی هکر رو در میارین و بهش انرژی می دین)

3 - حتما واسه فایلهاتون checksum در نظر بگیرین و checksum هر بار به روشهای مختلف چک کنه که اعداد مثل هم نباشن (این نکته خیلی مهمه، عدد

اصلی checksum رو هم می تونین آخر فایل exe به صورت کد شده بنویسین، مهم هم نیست فایل خراب نمیشه، البته کلی جاهای دیگه میشه نوشت)

5 - در مورد قفل سعی کنید پیام ندین چون کرکرها خیلی راحت می تونن از این پیام شما به قسمتهای مختلف دسترسی پیدا کنن (اگر هم مجبور بودین

همون جایی که قفل چک شده، پیام ندین، بزارین بعد از چند تا روال واسطه اونم بعد از یه زمان random پیام بدین)

4 - اگر چک کردین دیدین قفل درست نیست زود برنامه رو نبندین، بزارین اجرا بشه، بعدش میتونین سر یه فرصت مناسب خارج شین (یه کمی سر هکر کلاه

بزارین مثلا وقتی وارد n قسمت (n هر بار فرق کنه) از برنامه شد خارج شین یا یه زمان random) بعدشم اگه تونستین کل ویندوز رو قفل یا ریست کنین تا

رشته افکارشون پاره بشه (البته بازم نه همیشه، ولی random با تاکید، خب نسخه کپی استفاده نکنن) یا مثلا ctrl+alt+delete رو قفل کنین بعدش

10000000 تا فرم رو صفحه بیارین، کی برد رو قفل کنین، ماوس و هر چی می تونین

5 - واسه بستن برنامه موقعی که قفل درست نبود، از یه برنامه خارجی میشه استفاده کرد که اگر فلان پارامتر ست نشه (تو رجیستری یا فایل یا یه آدرس حافظه)، اون برنامه، برنامه اصلیتونو ببنده

6 - طبق تجربه استفاده از قفل کد تلفنی و قفل های سخت افزاری هر چند ارزون می تونه کلی از هکرها رو از لیست کسانی که می خوان برنامتونو کرک کنند

خارج کنه و فقط افراد حرفه ای تر باید بیان سراغ این کار !

7 - یه قفل سخت افزاری جالب هم دیدم که می شد داخلش برنامه نوشت و یک تیکه از برنامه رو از داخل اون اجرا کرد، مثلا با یه تابع که هر دفعه یه عدد random می گیره، همون تابع رو شما تو برنامه اصلی دارین، باید نتیجه یکسان بدن، این قفل از خیلی از قفلهایی که فقط یک حافظه معمولی هستن، مطمئن تره

8 - راستی، مشتری اصلی یادتون نره، مواظب باشین تو دردسر نندازینش

9 - اینها همه کار هکر رو سخت می کنه (اینقدر سختش کنین که منصرف بشه)

10 - به هر حال امکان شکستن قفل وجود داره اما بازم یه برگ برنده هست، اونم اینکه برنامه های اصلیتون رو هم محدود بنویسید مثلا زمانی یا هر محدودیت

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

مشتریان اصلی استفاده کنن)
بقیه هم که کرک شده دارن، باز باید بدن کرک کنن که 2 بار اینکارو کنن یا از استفاده منصرف میشن یا اصلشو می خرن که اگه اصلشو بخرن چه بهتر، اگر هم

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