ПредишенСледващото

Въведение в кракване от нулата с помощта OllyDbg - Глава 11 [Рикардо Narvaha, транс. Aquila]

Е, това остава да се разгледа процесор точка на пречупване (хардуерни точки на прекъсване), условни точки на прекъсване и гранични стойности за съобщения. и след това да сме готови с тази тема.

процесор Гранични

CPU точка на прекъсване (хардуерни точки на прекъсване, HBP) ​​- е функция на процесора. Как работи в действителност, аз не знам, но все пак можем да ги инсталирате на програмата, когато те са изпълнени, спрете и да прехвърли контрола.

Ние може да създаде до четири 4 HBP. петия OllyDbg иска от нас да се определи кои от четирите вече утвърдената чист.

Както обикновено, на практика ще използва krekmi CrueHead'a.

Уроци по напукване

Има три възможности: HBP ЗА ИЗПЪЛНЕНИЕ. И ON пишете на достъп.

Ако искате да зададете HBP производство по изпълнение да се отбележи, 401013. ред щракване с десния бутон на мишката и изберете Breakpoint-хардуера на изпълнение.

Уроци по напукване

Можем също така да напишете в командния ред:

След инсталирането на това HBP.

Уроци по напукване

Уроци по напукване

Тук ние виждаме един прозорец с HBP. и ако кликнете следващия следват. ние се намираме в списък на линията, където е инсталиран. С изтриването можем да го премахнете.

Сега щракнете до F9, за да стартирате програмата.

И спря 401013.

Както можете да видите, той се държи като нормален BPX. ако това ще направи същото нещо направено с BPX - пише MOV EAX, DWORD PTR DS: [401013] и тичам, можем да видим, че кодът не се е променило.

Промяна на ЕПИ за 401,000, използвайки новия център ТУК и щракнете до F7.

Уроци по напукване

Виж, че EAX съдържа E8 A6 04 00 (във формата за обратна връзка, за да можем да видим 00004A6E8), което е, няма промяна не е в кода.

Ако се преиграва OllyDbg, можем да видим, че HBP е създадена.

Уроци по напукване

Извадете го и инсталирате на HBP MessageBoxA същия начин както BPX.

Сега погледнете списъка на HBP.

Уроци по напукване

Ние няма да се повтаря отново, но знам, че ако стартирате програмата и да се въведе и паролата на потребителя, и ние сме съгласни, тогава изпълнението спира в MessageBoxA на API. т.е. почти същото, както ако ние използвахме конвенционален BPX.

HBP ЗА ДОСТЪП НА пише и може да покрие само 1, 2 или 4 байта, ако изберем да се отърват по-голяма площ, те ще имат стойност само първите четири байта.

Сега обърнете внимание на първите 4 байта.

Натиснете десния бутон на мишката.

Уроци по напукване

Направете същото и за следващия байт и изберете хардуера на достъп. и сега има само възможност за избор на BYTE.

Уроци по напукване

И в следващия дойде най-накрая, DWORD опция. т.е. HBP е четири байта.

Уроци по напукване

Връщайки се към 4020CA и сложи HBP ЗА ДОСТЪП - BYTE.

Уроци по напукване

Виждаме, че сме поставили в списъка на HBP е с площ от 1, т.е. байт (байт).

Уроци по напукване

Уроци по напукване

Olly тук ни казва, че HBP1 натоварване. т.е. този, който е на първо място в списъка на HBP.

Уроци по напукване

Ние виждаме, че програмата се прекратява по реда, следващ този, в които прилагането запазва или четене. Това е вярно за HBP ЗА ДОСТЪП. и за ON WRITE - инструкция, която активира HBP. е извършено, както и програмата спира на следващия.

Както можете да видите, за разлика от MEMORY Breakpoint това е, че програмата ще спре на 401 007 - директно върху твърдението, че причинени на праговите точки на прекъсване.

Както можете да се досетите, HBP ON WRITE се активира, когато сметището да, вместо четене и програмата спира в инструкцията, следваща тази, която е предизвикала задействане HBP.

Условно точка на прекъсване

В действителност, това е вариант на конвенционален BPX. където активирането на BPX OllyDbg проверява дали дадено условие е вярно, и ако е така, спира изпълнението на програмата, както и ако не, тогава изпълнението на програмата продължава, като че BP не съществува.

Reset Всичко, което сме направили и преди, и да зададете точка на прекъсване Конди T IONAL на 40100E. Защо избирам низа, щракнете до десния бутон на мишката и изберете Breakpoint Конди T IONAL.

Уроци по напукване

Тя се отваря прозорец, в който да се определи състоянието.

Например, ако искате да се уточни, че спира, когато EAX е 400 000 след това състоянието им трябва да бъдат такива, че: "EAX == 400 000".

HELP за прикрепен към OllyDbg, се казва това, което героите можем да използваме и как те отговарят на условията.

Виждаме, че в случай на BPX Конди T IONAL използва розово. Натиснете F9:

Ние виждаме, че е имало спиране и OllyDbg ни казва:

EAX е 400,000 пъти след това са работили определено състояние.

Уроци по напукване

За да започнете извършване отново, sotrom BPX Конди T IONAL и сложи друг, където, например, EAX == 500000.

Виждаме, че krekmi Run и спиране не се е случило, тъй като EAX винаги е равен на 400 000, както и условията не са изпълнени.

Ако отворите помощ-СЪДЪРЖАНИЕ.

Уроци по напукване

Уроци по напукване

Ето точки на прекъсване и на мястото, където изразът обяснява:

Уроци по напукване

Също така в помощта, има примери за изрази, които могат да се използват за условията.

Уроци по напукване

С условна точка на прекъсване сеч

Това условие BPX. същият като предишния, но в този случай можем да посочим точните стойности на всички съхранени при преминаване точка на прекъсване. Има много възможности, а ние ще демонстрира използването на BPX например един API, който се намира на различни места, а ние искаме да съхранява данните, предадени на него.

Уроци по напукване

Оттук кликнете CLICK DERECHO- BREAKPOINT- УСЛОВНО LOG.

Уроци по напукване

Виждаме прозорец с много възможности.

Уроци по напукване

В този случай, ние само трябва да запишете необходимите данни, за да ни.

Уроци по напукване

Отиди до прозореца на LOG или L.

И пречистена ясно да се види, че програмата спестява. Кликвания НАТИСНЕТЕ Derecho-прозрачния прозорец.

Уроци по напукване

Виждаме, че има опция да спаси дневника в текстов файл, ако е необходимо.

Сега стартирайте програмата чрез F9.

Отиди до прозореца и krekmi докато LOG'e нищо, тъй като даден контакт не причинява API.

Отиди да се регистрирате. където можем да зададете потребителско име и парола.

Уроци по напукване

Когато кликнете OK.

Уроци по напукване

В този случай, ние се покаже информация за само един разговор, но ако API повиквания, да речем, 100 пъти, ние може да спести на дневника в текстов файл. Ако искаме да покажем само някои от тези предизвикателства, ние можем да се определят някои условия.

За тази ускоряваща krekmi отново намери API и я сложи на BPX УСЛОВНО Дневник.

Уроци по напукване

Промяна на опциите, така че точката на прекъсване е бил ударен само когато състоянието и го помоли да проверя дали на [ESP] 40137D.

Стартирайте програмата и когато регистрацията на прозореца, да се въведе потребителското име ", ricnar456" и парола "989898" ще се появи.

Уроци по напукване

Не забравяйте, че когато даден потребител, който има фигури, MessageBoxA наречен 2 пъти? Щракнете върху OK.

Уроци по напукване

Когато натиснете бутона OK

Уроци по напукване

Това е вторият път API повикване. Тук условието е изпълнено и точка на пречупване се задейства.

Виждаме, че горният елемент се състои от стека и 40137d стойност. който активира BPX УСЛОВНО LOG.

И в двата случая OllyDbg запазва информация за проведените разговори.

Уроци по напукване

Уроци по напукване

Добре, аз мисля, че това е достатъчно, за да ви какво да практикува от доста време. Повече остана СЪОБЩЕНИЯ точки на прекъсване. но аз не искам да те убие, така че изчакайте 12 част, а след поглед към последния вид на точки на прекъсване, обещавам, че ще продължим krekat малко по малко, за да не се отегчават.

[C] Ricardo Narvaha, Acad. Aquila

Свързани статии

Подкрепете проекта - споделете линка, благодаря!