واضح آرشیو وب فارسی:سایت ریسک: View Full Version : روشهاي Crack در PC Saeed_TnT12-12-2004, 10:37 PMروشهاي Crack در PC در اين مقاله به اين موضوع خواهيم پرداخت كه چگونه اكثر روشهاي محافظت در برابر كپي گرفتن از INT13 استفاده خواهند كرد. براي شروع تاكيد ميكنيم كه آشنايي با اسمبلر و چگونگي استفاده از Debug مورد نياز خواهند بود، زيرا اين دو نقش مهمي در روشهاي Crack كردن ايفا خواهند كرد. مروري بر INT-13 بسياري از روشهاي محافظت در برابر كپي گرفتن از وقفه ديسك (INT-13) استفاده ميكنند. INT-13 اغلب براي خواندن يك تراك يا سكتوري كه بطور غيرمعمول فرمت شده يا براي نوشتن يا فرمت كردن تراك يا سكتوري كه آسيب ديده است، بكار برده مي شود. INT-13 مانند هر وقفه ديگر با فرمان اسمبلر INT-13 (CD 13) فراخواني ميشود. [AH] براي انتخاب فرمان موردنظر با اكثر رجيسترهاي بكار رفته در دادهها استفاده ميشود. روش Crack كردن INT-13 اگرچه، INT-13 تقريباً در همه روشهاي محافظتي بكار ميرود، اما فايلهاي DOS آسانترين آنها براي Crack كردن است. توجه داريم كه برنامه محافظتي ممكن است از INT-13 براي بارگذاري برخي از دادههاي ديگر از يك سكتور يا تراك عادي روي ديسك استفاده كند، بنابراين تعيين تراكها يا سكتورهايي كه براي روش محافظتي مهم هستند، حائز اهميت است. براي اين منظور ميتوان از برنامه Lock smITH(LS) يا ديسكت analyser براي تحليل ديسكت استفاده كنيم. هرگونه تراك يا سكتوري كه بنظر غيرعادي است يادداشت نماييد. اين تراكها به احتمال زياد بخشي از روتين محافظتي هستند. حال ديباگ را اجرا ميكنيم. بعد از بارگذاري شدن فايل اجرايي جستجويي را براي CD 13 انجام دهيد. هر آدرسي كه نشان داده ميشود، يادداشت كنيد. اگر هيچ آدرسي پيدا نشد، ميتواند دو حالت وجود داشته باشد. اينكه اولاً برنامه داراي محافظتي در برابر كپي گرفتن نيست يا اين كنترل روي بخش ديگري از برنامه صورت گرفته كه هنوز بارگذاري نشده است. يك مورد ديگر هم وجود دارد و آن اينكه ممكن است خود CD 13 نيز بصورت كد مخفي شده باشد. در اينجا نشان دادهايم كه بك بخش از كد مخفي شده ممكن است چگونه باشد: -U CS:0000 1B 00:0000 31DB XOR BX,BX 1B 00:0002 8EDB MOV DS,BX 1B 00:0004 BB 0D 00 MOV BX,000D 1B 00:0007 8A 07 MOV AL,[BX] 1B 00:0009 3412 XOR AL,12 1B 00:000B 8807 MOV [BX],AL 1B 00:000D DF13 FIST WORD... در اين بخش از كد، AL در محل 1300:0007 برابر DF ميشود. هنگامي كه شما 12 و DF را XOR ميكنيد، براي كد INT يك CD(hex) بدست ميآوريد كه درست پس از آن عدد 13 قرار گرفته مي شود، كه به شما CD 13 يا INT-13 را ميدهد. توجه داريد كه اين نوع كد نميتواند با استفاده از فرمان [S]earch ديباگ پيدا شود. يافتن 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 يك شده است يا نه، در صورتي كه اين تغيير صورت نگرفته باشد، برنامه معمولاً تصور ميكند كه ديسك كپي شده است. كد زير را امتحان كنيد. INT 13 <-- Read in the sector JC 1B 00 <-- Protection found INT 19 <-- Reboot 1B 00 (rest of program) برنامه، INT را انجام ميدهد و خطا (سكتوري كه بطور غير معمولي فرمت شده) ميدهد، بنابراين Carryflag ست شده است. برنامه در دستورالعمل بعدي ميبيند كه Carryflag يك شده و ميداند كه محافظت انجام نشده است. در اين صورت، براي فريب دادن برنامه، فقط "JC B 00" را به "JMP B 00" تغيير دهيد، بنابراين طرح محافظتي شكست ميخورد. توجه داريد كه روتينهاي محافظتي ممكن است در بيشتر از يك بخش از برنامه وجود داشته باشند. كاركردن با فايلهاي EXE در ديباگ همانطور كه ميدانيد، ديباگ ميتواند فايلهاي EXE را بخواند اما نميتواند در آنها بنويسيد. براي انجام اين كار ميبايست فايل EXE را بطور عادي بارگذاري كرده و برنامه را Crack كنيد. هنگامي كه طرح محافظتي يافته و آزمايش شد، با استفاده از فرمان [D]UMP ديباگ آدرس +10, -10 بايت از كد اطراف INT13 را يادداشت نماييد. به سيستم عامل DOS باز گرديد و فايل را به يك .ZAP (هر پسوندي غير از .EXE) نامگذاري كنيد و آن را با ديباگ مجدداً بارگذاري كنيد. برنامه را براي +20 بايت اطراف كد جستجو كنيد و آدرسي را كه پيدا كردهايد يادداشت كنيد. پس فقط اين بخش را بارگذاري نماييد و طبق معمول ويرايش كنيد. فايل را ذخيره كرده و سيستم عامل DOS بازگرديد. نام فايل را مجدداً به .EXE برگردانيد و اين فايل Crack شده ميباشد. روش ديگر استفاده از DiskEdit نرم افزار Norton Utility ميباشد. ديسك ورودي و خروجي (INT-13) وفقه 13 از رجيستر AH استفاده ميكند تا تابع موردنياز را انتخاب نمايد. در اينجا جدولي را آوردهايم كه اين وقفه را شرح ميدهد. AH=0 Reset Disk AH=1 Read the Status of the Disk system in to AL AL Error --------------------------------- 00 - Successful 01 - Bad command given to INT *02 - Address mark not found 03 - write attempted on write protected disk *04 - request sector not found 08 - DMA overrun 09 - attempt to cross DMA boundary *10 - bad CRC on disk read 20 - controller has failed 40 - seek operation failed 80 - attachment failed (* denotes most used in copy protection) AH=2 Read Sectors input DL = Drive number (0-3) DH = Head number (0or1) CH = Track number CL = Sector number AL = # of sectors to read ES:BX = load address output AH =error number (see above) [Carry Flag Set] AL = # of sectors read AH =3 Write (params. as above) AH =4 Verify (params. as above -ES:BX) AH=5 Format (params. as above -CL,AL ES:BX points to format Table) Amir_P3013-12-2004, 02:09 AMاين چند تا مقاله ايي كه گذاشتي خيلي خوب بود ممنون :mrgreen: pcockz8013-12-2004, 10:23 AMواقعا که ایول .فقط یه مشکلی که هست برنامه های جدید دیگه اکثرا از این شیوه استفاده نمی کنن و یه نموره algo رو عوض کرده ان ولی واقعا احسنت بازم از این کارا بکن :twisted: Saeed_TnT13-12-2004, 10:27 AMخجالتمون ندين ديگه :oops: MaSoOd02-01-2005, 04:59 PMممنون از مقالت سعید جان اینم لینکش : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! توجه : این سایتی که برا آپلود انتخاب شده محدودیت پهنای باند و ... نداره حالا اگه کسی به هر دلیلی نتونست این مقاله رو دانلود کنه تو تاپیکی که " تمام مقالات انجمن آموزش رو بصورت PDF دریافت کنید بالای انجمن هست یه پست بده و اسم مقاله رو بگه تا من براش مقاله رو ایمیل بزنم سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 592]