Krakerlar

**Kraker** (shuningdek, buzilgan kraker) (inglizcha *cracker*) - yoriqlar hosil qiladigan odam.

**Crack** (shuningdek, buzuq yoriq va juda kamdan-kam hollarda yorilish) - bu dasturiy taʼminotni buzish imkonini beruvchi dastur. Qoidaga koʻra, yoriq ommaviy foydalanish uchun javob beradi.

**Dasturiy taʼminotni buzish** (inglizcha software cracking) - ishlab chiquvchilar tomonidan funksionallikni cheklash uchun oʻrnatilgan dasturiy taʼminot (SW) himoyasini yoʻq qilishga qaratilgan harakatlar. Ikkinchisi, bunday mulkiy dasturiy taʼminotni sotib olishni ragʻbatlantirish uchun zarur, shundan soʻng cheklovlar olib tashlanadi.

= Xakerlik turlari =
Deyarli har qanday buzgʻunchilik quyidagi usullardan birini qoʻllash orqali amalga oshiriladi:

* **Seriya raqamini** (ro'yxatga olish kodi) kiritish - noqonuniy ravishda olingan to'g'ri ro'yxatga olish kalitini (yoki iborani) kiritish orqali dasturni buzish. Kalit ba'zi ma'lumotlarga (dasturiy ta'minot egasining nomi, kompyuterning texnik xususiyatlari va boshqalar) asoslangan holda yaratilishi yoki qat'iy qiymatga ega bo'lishi mumkin. Ro'yxatga olish kalitini yaratish uchun dasturda bo'lgani kabi bir xil algoritm ishlatiladi.
* **Yuklovchidan foydalanish tashqi** (ilova) himoya tizimlaridan foydalanishdan iborat bo'lgan dasturiy ta'minotni himoya qilishning ba'zi turlarini chetlab o'tishning bir usuli hisoblanadi. Bu RAMdagi dasturning ma'lum qismlarini ushbu xotiraga yuklangandan so'ng darhol o'zgartirishdan iborat, lekin uni ishga tushirishdan oldin (ya'ni, kirish nuqtasidagi kod bajarilgunga qadar).
* (Ikkilik) yamoqni qo'llash (ko'pincha jargon yorilishi yoki ingliz tilidagi yoriq) (ing. bayt patch) "bootloader" ga o'xshash usuldir, ammo o'zgartirish dastur fayllarida statik ravishda amalga oshiriladi. Qoidaga ko'ra, bu dasturiy ta'minotni buzishning eng oson va eng tezkor usullaridan biridir.
* Fayl(lar) ning buzilgan versiyasidan foydalanish - usul dasturning asl fayllarini allaqachon buzilgan fayllar bilan almashtirishdan iborat.
* Dongle emulyatoridan foydalanish elektron dongledan himoya sifatida foydalanishga asoslangan himoya vositalarini aldash uchun ishlatiladigan usuldir (odatda kompyuterning LPT yoki USB portiga ulangan). Bu dongle ichki xotirasini yo'q qilishdan iborat. Ushbu xotira tarkibiga ega fayl maxsus dastur - emulyatorning kirish qismiga beriladi, u o'zining filtr drayverini drayverlar stekiga ulaydi va apparat kaliti bilan taqlid qilish orqali himoyalangan dasturni aldaydi. Dastur xotira maydonini apparatli shifrlash uchun kalitni talab qiladigan hollarda, bu usul Binary Patch usuli bilan birgalikda qoʻllanadi.
* Dasturlarning rasmiy veb-saytini almashtirish va / yoki sozlamalarni tegishli o'zgartirish, agar u biron bir Internet-resursda ishlab chiquvchilar tomonidan e'lon qilingan bo'lsa, kalit tekshiruvini chetlab o'tish uchun (ko'p hollarda - buzg'unchilikning oldini olish uchun, kamroq - statistik ma'lumotlarni yozib olish va yuritish, ma'lumot to'plash). Ko'pincha u xostlar faylini o'zgartirish va turli xil emulyatorlarni ishga tushirish, ba'zan turli dasturlar (Denver) yoki haqiqiy hayotdagi veb-resursdan foydalanish orqali ibtidoiy darajada amalga oshiriladi.
* Dasturning Internetga kirishini taqiqlash (jargon. Oflayn) dasturning Internetga kirishini majburiy taqiqlashni amalga oshirishga qaratilgan harakatlar majmuasidan iborat. Bu dastur litsenziya kalitini Internet orqali faollashtirishni talab qilganda (odatda ishlab chiquvchining rasmiy veb-sayti) yoki dastur ma'lumotlar almashinuvi yoki yangilanishlar uchun ishlab chiquvchining serveriga murojaat qilganda amalga oshiriladi. Qoida tariqasida, dasturning Internetga kirishini bloklaydigan maxsus yordamchi dastur o'rnatiladi, yanada ibtidoiy yo'l Internetdan jismoniy uzilishdir. Bu harakat odatda keygen tomonidan yaratilgan kalit kiritilgandan keyin amalga oshiriladi.
* Allaqachon buzilgan yoki sotib olingan o'yinni Internetdan yoki boshqa kompyuterdan yuklab olish. O'yinning litsenziyalangan nusxasini do'stingizning kompyuteridan yuklab olish xakerlik emas, lekin mohiyati bir xil.

Murakkab himoya vositalarini buzishda, shuningdek, agar kerak boʻlsa, maksimal taʼsirga erishish uchun yuqorida koʻrsatilgan usullarning kombinatsiyasi qoʻllanadi. Kamdan kam hollarda, bu kraker etarlicha malakaga ega boʻlmaganda sodir boʻladi.

Ushbu roʻyxat toʻliq emas, faqat eng keng tarqalgan xakerlik usullarini bildiradi.

Buzgʻunchilik turi, koʻp hollarda, himoya turiga qarab belgilanadi. Baʼzi himoyalanishlar uchun turli xil xakerlik turlaridan foydalanish mumkin, boshqalari uchun faqat bitta yoʻl boʻlishi mumkin.

= Buzgʻunchilik prinsplari =
Qoida tariqasida, krakerning ishi buning uchun maxsus moʻljallangan demontaj dasturidan foydalangan holda mashina koʻrsatmalaridan olingan yigʻish kodini oʻrganishga asoslangan. Tanlangan xakerlik usuliga qarab, tadqiqot natijasi, masalan, kalit generatorini qurish yoki bajariladigan faylga kerakli oʻzgartirishlar kiritish uchun ishlatilishi mumkin. Oxirgi usul koʻp hollarda eng oson, chunki u kalitni tekshirish algoritmini oʻrganishni talab qilmaydi: ko'pincha xakerlik bir nechta shartlar uchun chekni topishga to'g'ri keladi (masalan, "Kiritilgan raqam ReferenceNumberga tengmi?") Va bunday shartni shartsiz o'tish bilan almashtirish. (goto, jmp) yoki kamroq tez-tez, aksincha (ya'ni, bu misol uchun "Kiritilgan raqam mos yozuvlar raqamiga teng emasmi?").

Bundan tashqari, bajariladigan faylga (yamoq) dastur tomonidan keraksiz harakatlarni oʻchirish (masalan, roʻyxatdan oʻtish zarurligi haqida eslatma), dasturning funksionalligini kamaytirish uchun oʻzgartirishlar kiritilishi mumkin. Bunday hollarda protsessorga tegishli buyruqlar koʻpincha 90h qiymatiga ega baytlar bilan almashtiriladi (oʻn oltilik tizimda), bu nop assembler buyrugʻiga mos keladi (hech qanday operatsiya), yaʼni hech qanday amalni bajarmaydigan "bo'sh ko'rsatma". Agar bunday buyruqlar koʻp boʻlsa, unda shartsiz sakrash qoʻllanadi (keraksiz koddan sakrash). Qoʻshimcha kod yozish orqali dasturning imkoniyatlarini kengaytirish ham mumkin, ammo, qoida tariqasida, bu juda mashaqqatli jarayon boʻlib, sarflangan vaqtni oqlamaydi.

Ayni paytda, qoida tariqasida, dasturning bajariladigan fayli maxsus "pakerlar" va "himoyachilar" - bajariladigan faylning haqiqiy kodini yashiradigan dasturlar tomonidan himoyalanmagan boʻlsa, yamoq mumkin. Dasturning oxirgi turi uchun teskari muhandislikning eng aqlli qismi koʻpincha qoʻllanadi - tuzatuvchi bilan dastur kodini oʻrganish va kalit generatorini yaratish, ammo boshqa echimlar ham mumkin, masalan, yuklash moslamasini yaratish (yuqoriga qarang).

= Manba =

* *Середа С. А.* Анализ средств преодоления систем защиты программного обеспечения
* *Середа С. А.* Этапы преодоления систем защиты программного обеспечения
* Раздел «Защита программного обеспечения» на CITForum.ru
* Портал исследования защиты программ