PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تکنیک شکستن قفل*های نرم*افزاری(cd,dvd,قفل های اینترنتی)



sina_tf
Thursday 17 March 2011, 11:38 PM
قفل های روی CD

با متداول شدن CD و یا لوح فشرده به عنوان بهترین، ارزان ترین و آسان ترین روش مبادله و تکثیر اطلاعات، نیاز به حفاظت از آن در برابر تکثیر غیرمجاز هر چه بیشتر احساس شد.

روش های قفل گذاری رویCD
1- یک روش قفل گذاری اجرای برنامه از روی CD است. در این حالت برنامه هنگام اجرا، به CD رجوع کرده و نقاط خاصی از آن را چک می کند. این نقاط بخش هایی هستند که به صورت فیزیکی علامت گذاری شده اند و در واقع به نوعی صدمه دیده اند و معمولاً این خرابی با تابش اشعه لیزر انجام می شود. به این ترتیب نقاط معینی از CD به اصطلاح لیزر سوز می شود.این نقطه یا نقاط، به عنوان قفل CD عمل می کند و از عمل تکثیر یا کپی برداری و همچنین استفاده غیر مجاز از آن جلوگیری به عمل می آورد.


2- قفل های حجمی: در این روش فایل های CD را به حدود چند گیگا بایت افزایش می دهند که امکان کپی شدن روی هارد را نداشته باشند. یکی از ساده ترین و عمومی ترین روش هایی که تاکنون برای حفاظت از CD دیده شده، افزایش مجازی طول چند فایل درون CD است به نحوی که آنها تا چند صد مگا بایت به نظرمی رسند. برای انجام چنین کاری تنظیمات مربوط به طول آن فایل را در Image بر روی هم قرار می دهند ولی برنامه حجم واقعی هر فایل رامی داند و عمل خواندن را تا آن لحظه انجام می دهد. بنابراین برنامه به خوبی کار می کند.


3- یکی از روش های نادر برای حفاظت از CDها کنترل بر روی درایو CD است. از این روش بیشتر در حفاظ بازی های استفاده می شود نحوه ایجاد آن به دانش بالایی نیاز دارد. روش آن چنین است که اطلاعاتی نادرست (عمدی) در قسمت ECC (تصحیح خطا) یک سکتور داده نوشته می شود. CD نویس های استاندارد به صورت خودکار این خطاها را هنگام نوشتن تصحیح می کنند. هنگام خواندن برنامه سکتور داده را به صورت RAW و بدون تصحیح خطا در حافظه برای تطبیق با داده های اصلی بار می کند و در صورت تناقض با داده های اصلی، برنامه اجرا نمی شود.


4- متداول ترین روشی که برای محافظت از CD دیده می شود، ایجاد فاصله هایی (gaps) غیراستاندارد ما بین تراک های صوتی و قرار دادن اندیس ها در مکان هایی دور از انتظار است. CD که با این روش قفل گذاری می شود در بسیاری موارد توسط نرم افزارهای کپی برداری معمولی و CDنویس هایی که از Discatonce پشتیبانی نمی کنند غیرقابل کپی برداری است ولی با پیشرفت تکنولوژی، این روش نیز به سرعت در حال کناره گیری است.

5- امروزه قرار دادن فاصله خالی یا سوراخ گذاری بر روی CD متداول شده است. به این ترتیب بسیاری از برنامه ها که قصد خواندن یک تراک از ابتدا تا انتها را دارند با مشکل مواجه می شوند.

6- با استفاده از دستکاری TOC سی دی. یک قفل ساز سعی دارد با دستکاری TOC اطلاعاتی دروغین را به CD پیوند بزند. TOC در واقع اولین تراک از CD است که اطلاعات CD مثل اندازه فایل ها بر روی CD، چگونگی قرار گرفتن آنها و غیره را در خود نگهداری می کند.

[Only the registered members can see the IMG Pictures. Please Login OR Register]

قفل های اینترنتی

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

تکنیک های شکستن قفل نرم افزار

1- تغییر JMP: بعضی از نرم افزارها طوری نوشته می شوند تا فقط در صورت واردشدن شماره سریال صحیح، برنامه به مرحله بعد برود و در غیر این صورت در همان مرحله بماند و یا از برنامه خارج شود. وقتی این نوع برنامه به کد اسمبلی تبدیل می شود، در کد اسمبلی دو دستور JMP داریم که یکی از آنها در صورت مساوی بودن عدد وارد شده با شماره سریال صحیح رخ می دهد و دیگری در صورت وارد شماره سریال اشتباه. حال اگر جای این دو JMP عوض شود، نرم افزار با هر عدد به جز شماره سریال اصلی از آن مرحله خواهد گذشت. بنابراین در این روش قفل شکن بدون پی بردن به شماره سریال صحیح تشخیص داده شود.

2- یافتن شماره سریال از داخل کد برنامه: در این روش وقتی یک شماره سریال توسط کاربر وارد شد، نرم افزار باید آن را به شماره سریال صحیح مقایسه کند تا به صحت یا اشتباه بودن آن پی ببرد. بنابراین در لحظه مقایسه، شماره سریال صحیح می بایست در جایی به طور موقیت ذخیره شود تا امکان مقایسه ایجاد شود. این مکان موقتی می تواند محل خاصی از RAM یا جایی در هارد دیسک و یا در رجیسترهای داخلی پردازشگر باشد. قفل شکنان حرفه ای قادرند بااستفاده از نرم افزارهایی که هر نوع تغییر در RAM و هارد دیسک و غیره را ثبت می کنند، شماره سریال واقعی را بیابند.

3- Brute force attack: در این روش قفل شکنان برنامه ای را می نویسند که بتوانند تمامی حالت های ممکن یک شماره سریال را وارد نرم افزار کرده و بالاخره شماره سریال واقعی را بیابد. البته استفاده از این روش ممکن است چند روز و یا بیشتر طول بکشد.

4- کد رجیستر کردن (Registration Code) قفل شکنان برای کد رجیستر کردن توسط نرم افزاری debugger مکان محاسبه کد از روی نام استفاده کننده را پیدا می کنند و به رابطه ریاضی بین این دو پی می برند.

5- محدودیت زمانی Time trial: قفل شکنان برای از کار انداختن محدودیت زمانی از دو روش استفاده می کنند: یا روتین های چک کردن زمان را در برنامه پیدا کرده، آن را غیر فعال می کنند و یا زمان را طوری تغییر می دهند تا نرم افزار به تمام شدن دوره زمانی از پیش تعیین شده، پی نبرد. برای این کار معمولا برنامه ای می نویسند تا قبل از اجرای نرم افزار اصلی، زمان کامپیوتر را تغییر دهد.


روش هاي قفل گذاري نرم افزاري

در ادامه چند نمونه از روش هاي قفل گذاري نرم و نحوه طراحي آن آورده شده است.

1- قفل گذاري با استفاده از شماره سريال اصلي ديسکت
سيستم عامل براي هر ديسکت يک شماره سريال واحد (UNIQUE) اختصاص مي دهد، به طوري که شماره سريال هر دو ديسکت با هم يکي نيستند. بنابراين همين روش، خود يک راه تشخيص ديسکت کليد (قفل) است.

2- قفل گذاري با استفاده از مشخصات سيستم
در اين نوع قفل نرم افزاري، برنامه قبل از اجرا ابتدا مشخصات سيستم را خوانده (که اين کار از طريق مراجعه به بخش هاي خاصي از حافظه و يا مراجعه به اطلاعات BIOS انجام مي شود.) سپس آن را با فايلي که قبلا توسط نويسنده نرم افزار بر روي کامپيوتر کپي شده، مقايسه مي کند و در صورت عدم برابري. اجراي برنامه پايان مي پذيرد. درصد اطمينان اين نوع قفل 65 تا 75 درصد است.



3- قفل با استفاده از موقعيت فايل روي هارد ديسک
اين نوع قفل فقط بر روي هارد ديسک قابل استفاده بوده و به اين صورت است که فايل اجرايي به موقعيت خود بر روي هارد حساس است چرا که قبل از اجرا ابتدا موقعيت خود را از روي سکتورهاي ROOT خوانده و سپس شماره کلاستر اشاره گر به خودش را به دست مي آورد، سپس آن را با شماره کلاستري که قبلا توسط برنامه نويس بر روي يکي از فايل هاي برنامه(ممکن است به صورت کد شده باشد) قرار داده شده، مقايسه کرده و در صورت برابر بودن اجرا مي شود. ضريب اطمينان اين نوع قفل نيز 70 تا 80 درصد است.

4- قفل با استفاده از فرمت غير استاندارد
اين شيوه يکي از رايج ترين قفل هاي نرم افزاري است که هنوز هم به صورت جدي مورد استفاده قرار مي گيرد. سيستم عامل براي دسترسي به اطلاعات يک ديسکت از فرمت خاصي (18 سکتور در هر تراک) استفاده مي کند اما اگر يک تراک به صورت غير استاندارد فرمت شود (مثلاً 19 سکتور در تراک) سيستم عامل ديگر توانايي استفاده از سکتورهاي غيرمجاز را نخواهد داشت و بنابراين تمام نرم افزارهاي تحت سيستم عامل مزبور نيز از سکتورهاي مخفي استفاده نکرده، در نتيجه امکان کپي برداري از آنها بسيار ضعيف است. از همين روش براي طراحي قفل مورد نظر استفاده مي شود. قفل نرم افزاري Copy Control که معروف ترين در نوع خود است، از همين روش استفاده مي کند. اين قفل فقط براي فلاپي ديسک قابل استفاده است و درصد اطمينان در اين روش حدود 85 تا 95 درصد مي باشد.

5- قفل با استفاده از شماره سريال ساختگي
اين روش قفل گذاري که قوي ترين قفل است، مخلوطي از روش هاي 1 و 4 است، يعني ابتدا تراک خاصي را به صورت غيراستاندارد فرمت کرده و سپس اطلاعات خاصي را درون آن قرار مي دهند (شماره سريال فرضي). اين قفل فقط براي فلاپي ديسک قابل استفاده بوده و ضريب اطمينان آن حدود 90 تا 98 درصد است.

6- قفل هاي اکتيو ايکس
در واقع يک اکتيو ايکس که مانع اجراي برنامه در شرايط خاصي شود را قفل اکتيو ايکس مي نامند. اين نوع قفل مانند ساير کامپوننت هاي برنامه نويسي است. برنامه نويس به سادگي آن را بر روي فرم برنامه خود قرار مي دهد و با تنظيم پارامترها و خصوصيات آن، سبب فعاليت آن مي شود. اين اکتيو ايکس قبل از قرار گرفتن فرم اصلي در حافظه، شروع به کار مي کند و اگر براي اولين بار اجرا مي شود برحسب اندازه حافظه، شماره سريال و سرعت پردازنده کد ويژه اي توليد مي کند اين کد توليد شده وابسته به خصوصيات کامپيوتر است بنابراين کد برگشتي اين اکتيوايکس بر روي هر سيستمي متفاوت خواهد بود.



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

نقاط ضعف:
*قفل هاي اکتيوايکس به دريافت کد از شرکت نياز دارند يعني کاربر بايد به نحوي با شرکت توليد کننده تماس بگيريد و نمي تواند برنامه را پس از خريد بلافاصله استفاده کند.
*قفل هاي اکتيوايکس تنها بر روي يک سيستم اجرا مي شوند و بايد براي دريافت کد براي هر کامپيوتر اقدام شود (دشواري در نصب هاي تعداد بالا)
*در قفل هاي اکتيوايکس ممکن است با فرمت کردن، پارتيشن بندي تغيير يابد که شرکت نمي تواند دقيقاً حدس بزند اين قفل براي اين سيستم بوده يا واقعاً تغيير کرده است. در اکثر قفل هاي ساخته شده تغييرات اين کد بسيار مشاهده شده است.
*با صدمه ديدن قطعه اي از کامپيوتر و يا تعويض يک قطعه، برنامه تصور مي کند که سيستم تغيير يافته است مثلا با تغيير حافظه سيستم.

نقاط قوت:
*امنيت بالا براي برنامه نويس از نظر کپي برداري با تعداد بالا.
*داراي بيشترين امنيت نسبت به ساير قفل هاي نرم افزراي يا CD.
*سازگاري بسيار بالا نسبت به ساير قفل هاي نرم افزاري.
*قابليت آمارگيري فروش برنامه توسط شرکت ارايه کننده کد معادل قفل هاي CD را مي دهد.




[فقط کاربران عضو می توانند محتویات این قسمت را مشاهده کنند، در صورتی که عضو هستید وارد شوید و در غیر این صورت ثبت نام کنید.]

sina_tf
Thursday 17 March 2011, 11:39 PM
مقدمه

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



انواع قفل ها


الف – قفل های سخت افزاری
ب – قفل های نرم افزاری
ج- قفل های CD، DVD وغیره
د- قفل های اینترنتی



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

روش اول قفل گذاری سخت افزاری
روش اول قفل گذاری به این صورت است که تولید کننده نرم افزار یک یا چند بایت از اطلاعات را در قفل نوشته و برنامه در هنگام اجرا آن را چک می کند. در صورتی که قفل وجود داشته باشد، برنامه به کار خود ادامه می دهد و اگر قفل وجود نداشته باشد و یا اطلاعات خوانده شده از روی قفل صحیح نباشد، برنامه متوقف شده و با اعلام خطا از اجرای صحیح، سرباز می زند. این نوع قفل ها دارای ساختاری ساده، حافظه ای در حد چند بایت و قیمتی ارزان هستند. استفاده از این قفل ها بسیار ساد بوده و نیاز به تخصص خاصی ندارد، تنها کافی است نرم افزار ویژه قفل را (که توسط شرکت تولید کننده قفل ارایه شده) اجرا کرد. در ابتدا که قفل فاقد اطلاعات است، اول یک کلمه دلخواه، به عنوان کلمه عبور درخواست کرده و سپس با توجه به نوع قفل، یک یا چند کلمه اطلاعات را دریافت و در حافظه قفل ثبت می کند. پس از ثبت اطلاعات در قفل، تولید کننده نرم افزار، اطلاعات ثبت شده در یک برنامه را چک می کند که نحوه چک کردن اطلاعات، با توجه به نوع قفل متفاوت است. در بعضی فقط اطلاعات درون قفل چک می شود و در بعضی دیگر، در مرحله اول وجود قفل چک شده و در مرحله بعدی، اطلاعات درون آن چک می شود.

روش دوم قفل گذاری سخت افزاری
روش دیگر قفل گذاری به این صورت است که تولید کننده نرم افزار، بخش کوچکی از برنامه را در حافظه قفل قرار می دهد که در این حالت، چنانچه قفل وجود نداشته باشد، برنامه به هیچ وجه قادر به اجرا و ادامه کار نخواهد بود. این نوع قفل ها دارای ساختاری کمی پیچیده، حافظه ای گاه تا چند کیلوبایت و قیمتی نسبتاً گران هستند. استفاده از این قفل ها، به سادگی نوع قبلی نیست. البته نحوه کلی کار مشابه روش قبلی است. با اجرای نرم افزار ویژه قفل و وارد کردن کلمه عبور، باید نام فایلی را که می خواهیم بر روی آن قفل بزنیم، مشخص کنیم تا بخشی از آن در قفل ثبت شود.




ب – قفل های نرم افزاری
با توجه به نوع کاربرد برنامه، اندازه، قابلیت کپی برداری از آن بر روی دیسک، تحت شبکه بودن برنامه و غیره می توانیم از انواع روش هایی که برای حفاظت از نرم افزار در نظر داریم (و متعاقبا توضیح داده خواهد شد) استفاده کنیم. چگونگی استفاده از قفل منتخب به شرایط زیر بستگی دارد:

الف) اعتقاد طراح نرم افزار به اینکه کاربر حتما باید آن را خریداری کند تا از امکانات آن مطلع شود.
در این حالت قفل نرم افزاری در ابتدای شروع به کار برنامه کنترل می شود، حتی طراح می تواند در مواقع حساس نیز قفل را مجددا کنترل کند و یا در حالتی که طراح واقعا سختگیر باشد، می تواند در زمان های مشخصی از وجود قفل اطمینان حاصل کند (مثلاً هر 4 ثانیه).البته در این حالت طراح باید روشی را که برای کنترل قفل استفاده می کند نیز در نظر بگیرد.
ب) اعتقاد طراح نرم افزار به این که کاربر می تواند از نرم افزار به عنوان نسخه نمایشی نیز استفاده کند.
طراح در این حالت می بایست در مکان های خاصی از برنامه، قفل را کنترل کند. مثلا در یک برنامه حسابداری می توان تمام بخش های سیستم را آزاد گذاشت (یعنی برنامه نیازی به قفل نداشته باشد) و در صورتی که کاربر مایل به استفاده از امکانات گزارش گیری سیستم باشد، قفل نرم افزاری درخواست شود. مزیت این روش بر روش قبلی این است که دیگر نیاز به طراحی نسخه نمایشی برای مشاهده کاربران نیست. در انتها طراح باید موارد زیر را نیز در نظر گرفته و با توجه به برنامه مورد نظر یکی را انتخاب کند.



*محدودیت در تعداد کپی (Copy Limited)
در این حالت برنامه نصب کننده نرم افزار، فضای مشخصی در دیسک را با روش خاصی فرمت کرده و تعداد مجاز نسخه برداری را در آن درج می کند. به این ترتیب با هر بار کپی کردن برنامه، یک واحد از این عدد کم می شود و هنگامی که تعداد مجاز آن به صفر رسیدن دیگر نمی توان برنامه را بر روی سیستم نصب کرد.

*استفاده از دیسکت در هنگام اجرای برنامه (Required Disk)
در این حالت، دیسکت مورد نظر، یا به روش خاصی فرمت می شود و سپس هنگام اجراء اطلاعات روی آن بررسی می شود و یا قسمتی از دیسکت را به صورت فیزیکی و عمدی خراب می کنند. در اینجا، در واقع همان صدمه ای که به عمد بر سطح دیسکت وارد شده است، به عنوان قفل و محافظ نرم افزار عمل می کند. از این پس برای انتقال برنامه از یک سیستم به سیستم دیگر، این فلاپی مانند قفل سخت افزاری عمل می کند و می بایست مختصات آن توسط برنامه تایید شود و چنانچه این فلاپی در درایور نباشد، برنامه اجرا نخواهد شد.
[فقط کاربران عضو می توانند محتویات این قسمت را مشاهده کنند، در صورتی که عضو هستید وارد شوید و در غیر این صورت ثبت نام کنید.]

havax2012
Saturday 13 October 2012, 10:39 AM
با سلام.لطفا میشه راهنماییم کنید که آیا نرم افزاری هستش بتونه قفل های لیزری(برجسته) روی دی وی دی رو بشکنه و دی وی دی کپیش کنه؟ با تشکر