Mavzu: Antiotladka choralarini tahlili. Mashina kodi trasirovkasi. Ishdan maqsad



Download 19,01 Kb.
bet1/2
Sana26.03.2022
Hajmi19,01 Kb.
#511107
  1   2
Bog'liq
14-амалий


Mavzu: Antiotladka choralarini tahlili. Mashina kodi trasirovkasi.
Ishdan maqsad: Antiotladka choralarini tahlili va mashina kodi trasirovkasini o’rganish.
Nazariy qism
Biz dasturiy mahsulotimizni ommaga namoyish etganda, dasturiy mahsulotimizning litsenzion ruxsatnomalarni yozishga odatlanganmiz: “Dasturiy mahsulotni kod qismiga o’tish, dekompilatsiya yoki disassimbleratsiya qilish taqiqlanadi”. Ko’pgina hollarda bu so’zlar yaxshi himoya bermay qo’yadi va bu innovatsiyamizni shunga o’xshagan hurujlar va raqobatbardoshliligini ta’minlashda texnik usullardan foydalanish talab qilinadi.
Komputer himoyasi uchun antiotladkaning 5 usuli:

  1. Otladchikning borligini tekshiruvchi o’rnatilgan funksiyalar

Windows operatsion tizimi otladkadan himoyalanish uchun bir nechta oddiy tayyor instrumentlarni taqdim etadi. Antiotladkaning oddiy texnikasi o’ziga IsDebuggerPresent funksiyasini chaqirish xususiyatiga ega. Agar otladka qilayotgan shaxs otladkani foydalanuvchi rejimida amalga oshirayotgan bo’lsa, bu funksiya “TRUE” qiymat qaytaradi. Bu funksiya protsess yoki PEB(Process environment Block)ning operatsion blokiga yuklanadi, va unda qisman BeingDebugged maydoni bor. Bu faktdan foydalanib, DLL inyeksiyadan foydalanib, tekshirish jarayonidan oldin BeingDebuggedning qiymatini 0ga tenglashtirib qo’yish mumkin. Bunday tekshiruvlarni amalga oshirish uchun main funksiyasi yaxshi variant hisoblanmaydi, bu funksiya daisassembler jarayonida birinchi bo’lib tekshiriladigan funksiya hisoblanadi.

  1. Potoklarni yashirish

Windows 2000 versiyadan boshlab NtSetInformationThread funksiyasi ThreadHideDebugger nomli yangi flagga ega bo’ldi. Bu usul Windows OT oilasiga mansub operatsion tizimlar uchun antiotladkaning samarali usuliga aylandi. Bu flagi mavjud bo’lgan har bir potok otladka protsessiga o’zi haqida ma’lumot jo’natmay qo’yadi, xususan har bir to’xtalishlar nuqtalari haqida ham, shu qatorda u o’zini ixtiyoriy bir otladchikdan yashiradi. Asosiy potok uchun ThreadHideFromDebugger dan foydalanish otladchikni protsessga ulanish jarayonini anchagina qiyinlashtiradi.
Windows Vista bu g’oyaning matiqiy davomini NtCreateThreadEx funksiyasi ko’rinishida taqdim qildi. U o’zida CreateFlags parametrini olib, THREAD_CREATE_FLAGS_HIDE_FROM_DEBUGGER flagini yoqadi. Bu flagi yoqilgan protsess o’zini otladchikdan berkitadi.

  1. Flaglarni tekshirish

Xatolarni tuzatish tizimning turli tuzilmalarida va jarayonlarida turli xil flaglarning qiymatini o'zgartirish orqali aniqlanishi mumkin.
Windows NT tizim o'zgarishini disk raskadrovka va kuzatib borish uchun ishlatiladigan flaglar to'plami bilan NtGlobalFlag deb ataluvchi global o'zgaruvchini o'z ichiga oladi. Yuqoridagi PEB tuzilishi NtGlobalFlagning o'z maydonini o'z ichiga oladi. Disk raskadrovka paytida ushbu maydonning qiymati bir nechta maxsus flaglarni belgilash bilan farq qiladi. Ushbu flaglarni tekshirish xatolarga yo'l qo'yishni aniqlashga yordam beradi.
Bekor qilishni aniqlash uchun ishlatilishi mumkin bo'lgan flagning yana bir tekshiruvi tuzoq bayrog'i (TF) tekshiruvidir. EFLAGS ro'yxatiga kiritilgan. TF1 bo'lsa, protsessor nosozlik jarayonini qo'llab-quvvatlaydigan yo'riqnomaning har bir bajarilishidan keyin INT 01h ("bir qadam" istisno) hosil qiladi.

  1. To'xtash nuqtalarini aniqlash

Breakpoints har qanday disk raskadrovka jarayonining muhim qismidir va bir marta aniqlangan bo'lsa, xatolarni tuzatuvchini bartaraf qilishimiz mumkin. Qarama-qarshi nuqtalarni aniqlashga asoslangan qarama-qarshi xatolarga qarshi taktika eng past o'tish davriga aylandi.
Ikkita turdagi nuqtalar mavjud: dasturiy ta'minot va apparat.
Software breakpoints, kodni ichiga int 3h yo'riqnomasini in'ektsiyalash orqali xato tuzatuvchisi tomonidan o'rnatiladi. Shunday qilib, xatolarni aniqlash usullari mos keladigan funktsiyaning summasini hisoblash asosida amalga oshiriladi.
Bunday himoya bilan shug'ullanishning universal usuli yo'q - xaker kodni hisoblash uchun javobgar bo'lgan va barcha tegishli o'zgaruvchilar qaytariladigan qiymatlarini o'zgartirish uchun javobgar bo'lgan kodni topish kerak bo'ladi.
Apparatni to'xtatish nuqtalari maxsus disk raskadrovka registri yordamida o'rnatiladi: DR0-DR7. Ularni qo'llash orqali, ishlab chiquvchi dasturni bajarish jarayonini to'xtatishi va nosozliklarni boshqaruvchiga o'tkazishni boshqarishi mumkin. Otladchikdan himoya rejimi bu registrlarni qiymatlarini tekshirish yoki qiymatlarini tashlab yuborish orqali SetThreadContext funksiyasidan foydalanib aktiv yo’lni tutishi mumkin.
5. Maxsus vaziyatni boshqarish: SEH
Strukturalangan istisnolarni qo'llash yoki SEH (Strukturalangan istisnolarni qo'llash) ilovadan istisnolar haqida bildirishnomalar olish va ularni operatsion tizim o'rniga ishlashga imkon beruvchi mexanizmdir. SEH ishlovchilariga ishora qiluvchi ko'rsatmalar SEH ramkalari deb ataladi va ular to'plamda joylashgan. Agar istisno tashlansa, u stack ustida birinchi Ssh tasmasi tomonidan ishlanadi. Agar u nima qilish kerakligini bilmasa, u sistema ishlov beruvchisiga yetguncha, u suyakka keyingi qatorga o'tadi va hokazo.
Dasturni disk raskadrovka paytida diskni tuzatuvchi int 3 soatdan keyin nazoratni ushlab turishi kerak, aks holda nazorat SEH ishlovchilariga o'tkaziladi. Bu disk raskadrovka vositalaridan himoya qilish uchun ishlatilishi mumkin: o'zingizning SEH ishlovchilaringizni yaratishingiz va uni yuqori qismiga qo'yishingiz va keyin int 3h hosil qilishingiz mumkin. Agar operatorimiz nazorat qilishni boshlasa, xato tuzatuvchi hozirda ishlamaydi, aks holda biz xatolarni tuzatishga qarshi harakat qila olamiz - biz xatolarni aniqlovchi topdik.

Download 19,01 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish