![]() |
|
|||||||
| ثبت نام | برترین ها | راهنما | لیست کاربران | تقویم | جستجو | ارسالهاي امروز | نشانه گذاري انجمن ها به فرم خوانده شده |
| آموزش کرکینگ و مهندسی معکوس در این بخش مقالات و آموزش های مربوط به مبحث کرکینگ و مهندسی معکوس قرار میگرد. |

| تابلو اعلانات |
| تبلیغات |
| آخرین ارسال های انجمن |
عضویت سریع !
|
![]() |
|
|
لینک های بازتاب | ابزارهای موضوع | نحوه نمایش |
|
|
#1 (لینک ثابت) |
مدیرکل سایت
![]() |
در اين مقاله به اين موضوع خواهيم پرداخت كه چگونه اكثر روشهاي محافظت در برابر كپي گرفتن از INT13 استفاده خواهند كرد. براي شروع تاكيد ميكنيم كه آشنايي با اسمبلر و چگونگي استفاده از Debug مورد نياز خواهند بود، زيرا اين دو نقش مهمي در روشهاي Crack كردن ايفا خواهند كرد.
مروري بر INT-13 بسياري از روشهاي محافظت در برابر كپي گرفتن از وقفه ديسك (INT-13) استفاده ميكنند. INT-13 اغلب براي خواندن يك تراك يا سكتوري كه بطور غيرمعمول فرمت شده يا براي نوشتن يا فرمت كردن تراك يا سكتوري كه آسيب ديده است، بكار برده مي شود. INT-13 مانند هر وقفه ديگر با فرمان اسمبلر INT-13 (CD13) فراخواني ميشود. [AH] براي انتخاب فرمان موردنظر با اكثر رجيسترهاي بكار رفته در دادهها استفاده ميشود. روش Crack كردن INT-13 اگرچه، INT-13 تقريباً در همه روشهاي محافظتي بكار ميرود، اما فايلهاي DOS آسانترين آنها براي Crack كردن است. توجه داريم كه برنامه محافظتي ممكن است از INT-13 براي بارگذاري برخي از دادههاي ديگر از يك سكتور يا تراك عادي روي ديسك استفاده كند، بنابراين تعيين تراكها يا سكتورهايي كه براي روش محافظتي مهم هستند، حائز اهميت است. براي اين منظور ميتوان از برنامه Lock smITH(LS) يا ديسكت analyser براي تحليل ديسكت استفاده كنيم. هرگونه تراك يا سكتوري كه بنظر غيرعادي است يادداشت نماييد. اين تراكها به احتمال زياد بخشي از روتين محافظتي هستند. حال ديباگ را اجرا ميكنيم. بعد از بارگذاري شدن فايل اجرايي جستجويي را براي CD13 انجام دهيد. هر آدرسي كه نشان داده ميشود، يادداشت كنيد. اگر هيچ آدرسي پيدا نشد، ميتواند دو حالت وجود داشته باشد. اينكه اولاً برنامه داراي محافظتي در برابر كپي گرفتن نيست يا اين كنترل روي بخش ديگري از برنامه صورت گرفته كه هنوز بارگذاري نشده است. يك مورد ديگر هم وجود دارد و آن اينكه ممكن است خود CD13 نيز بصورت كد مخفي شده باشد. در اينجا نشان دادهايم كه بك بخش از كد مخفي شده ممكن است چگونه باشد: کد:
دیدن محتوا فقط برای اعضا سایت امکان پذیر است، عضو شوید. يافتن INT-13 مخفي شده يك راه براي پيداكردن INT-13 كد شده استفاده از فرمان [G] ديباگ است. فقط يك Break Point در آدرس داده شده توسط PC-WATCH قرار دهيد (هر دو برنامه آدرس را برميگردانند). مثلاً در كد بالا –G CS:000F ديباگ متوقف ميشود، شما INT-13 را پيدا نميكنيد اما چيزهايي خواهيد يافت كه شما را به سمت آن هدايت ميكند. پس از پيداكردن INT-13 چه كاري بايد انجام داد هنگامي كه INT-13 را مييابيد، سخترين قسمت كار انجام شده است. آنچه كه باقي ميماند فريب دادن برنامه است به گونهايي كه تصور كند قفل محافظت وجود دارد. براي يافتن آنچه كه برنامه بدنبال آن است، كد را درست پس از INT-13 امتحان كنيد. بدنبال انشعاباتي باشيد كه در رابطه با CARRYFLAG يا هر CMP با رجيستر باشد. اگر با يك JNE يا JC غيره برخورد كرديد، آدرس ليست شده مربوط به Jump را به زبان اسمبلي بازگردانيد. اگر كه CMP است فقط آن را بخوانيد. در اينجا بايد مشخص كنيد كه آيا برنامه بدنبال يك تراك محافظت شده يا يك تراك عادي است. اگر برنامه داراي يك CMP AH,D باشد و در يك تراك محافظت شده خوانده شده باشد، ميتوان فرض كرد كه بدنبال آن است تا ببيند آيا برنامه با موفقيت خواندن يا فرمت كردن آن تراك را انجام داده و يا اينكه آيا ديسك كپي شده است، بنابراين (معمولاً) به سيستم عامل DOS باز ميگردد. در اين صورت، فقط بايتها را براي CMP و JMP مشابه NOP كنيد. اگر برنامه فقط كنترل كند كه Carryflag يك شده است يا نه، در صورتي كه اين تغيير صورت نگرفته باشد، برنامه معمولاً تصور ميكند كه ديسك كپي شده است. كد زير را امتحان كنيد. کد:
دیدن محتوا فقط برای اعضا سایت امکان پذیر است، عضو شوید. كاركردن با فايلهاي EXE در ديباگ همانطور كه ميدانيد، ديباگ ميتواند فايلهاي EXE را بخواند اما نميتواند در آنها بنويسيد. براي انجام اين كار ميبايست فايل EXE را بطور عادي بارگذاري كرده و برنامه را Crack كنيد. هنگامي كه طرح محافظتي يافته و آزمايش شد، با استفاده از فرمان [D]UMP ديباگ آدرس +10, -10 بايت از كد اطراف INT13 را يادداشت نماييد. به سيستم عامل DOS باز گرديد و فايل را به يك .ZAP (هر پسوندي غير از .EXE) نامگذاري كنيد و آن را با ديباگ مجدداً بارگذاري كنيد. برنامه را براي +20 بايت اطراف كد جستجو كنيد و آدرسي را كه پيدا كردهايد يادداشت كنيد. پس فقط اين بخش را بارگذاري نماييد و طبق معمول ويرايش كنيد. فايل را ذخيره كرده و سيستم عامل DOS بازگرديد. نام فايل را مجدداً به .EXE برگردانيد و اين فايل Crack شده ميباشد. روش ديگر استفاده از DiskEdit نرم افزار Norton Utility ميباشد. ديسك ورودي و خروجي (INT-13) وفقه 13 از رجيستر AH استفاده ميكند تا تابع موردنياز را انتخاب نمايد. در اينجا جدولي را آوردهايم كه اين وقفه را شرح ميدهد. کد:
دیدن محتوا فقط برای اعضا سایت امکان پذیر است، عضو شوید. کد:
دیدن محتوا فقط برای اعضا سایت امکان پذیر است، عضو شوید. |
![]() |
|
| تبلیغات | |
|
|
![]() |
| علاقه مندی ها (Bookmarks) |
| برچسب ها |
| crack, pc, روشهاي |
| ابزارهای موضوع | |
| نحوه نمایش | |
|
|
