Тугмалар бирикмаси
|
Ёрлиқ кўриниши
|
Run
|
DebugRun
|
F9
|
|
Pause
|
|
F12
|
|
Run thread
|
DebugRun thread
|
F11
|
|
Single-step/step-into
|
DebugStep Into
|
F7
|
|
Step-over
|
DebugStep Over
|
F8
|
|
Run until return
|
DebugExecute till Return
|
Ctrl-F9
|
|
Run until user code
|
|
Alt-F9
|
|
Кенг фойдаланиладиган Run ва Pause танловлари, дастурни ишини бошлаш ва тўхтатиш учун фойдаланилади.
Execute till User Code танлови ЗД таҳлиллашда кенг фойдаланилади.
Тўхтатиш нуқтаси. Бу нуқта таҳлилловчи томонидан ўрнатилади. Дастур шу нуқтага келгинда тўхтайди ва таҳлилловчини буйруғини кутади. OllyDbg дастурида бир нечта, дастур тўхтатиш нуқтаси, қурилма тўхтатиш нуқтаси, шартли тўхтатиш нуқталари ва хотира тўхтатиш нуқталаридан фойдаланиш мумкин.
Тўхтатиш нуқтасини қўйиш ва олиб ташлаш учун F2 тугмасидан фойдаланилади. Барча тўхтатиш нуқталарини кўриш учун қуйидаги расмда келтирилган тартиб танланади ёки уларнинг қисқа тугмалар дан бирини танлаш орқали амалга оширилади.
7.5 – расм.
Дастур тўхтатиш нуқтаси. strings дастури ЗДдаги қаторларни кўриш имконини беради. ЗД яратувчилари эса бу таҳлилга қарши қаторларни маълум станлартларга кодлаш усулидан фойдаланишади ва қаторлар тушуниб бўлмас ҳолга ўтказилади. ЗД юкланганда кодланган қатор хотирага юклангандан сўнг, String_Decoder функциялари орқали декодерланади ва керакли очиқ қатор олинади (3.6 - расм). Ушбу тўхтатиш нуқтаси усули декодерлаш функцияси мавжуд ҳолларда катта самара беради. Бу ҳолда тўхтатиш String_Decoder чақирилгандан сўнг қўйилади ва керакли очиқ қатор олинади.
7.6 – расм.
Шартли тўхтатиш нуқтаси. Бу ҳолда дастур тўхталиши маълум шарт бажарилган ҳолда тўхтайди. Бу усул таҳлиллаш вақтини тежаш мақсадида кенг фойдаланилади. Бу турдаги тўхтатишдан қуйидагича фойдаланиш мумкин:
Debuggerлаш ойнасида сичқончанинг ўнг тугмаси босилади ва қуйидаги кетма-кетлик танланади: BreakpointConditional;
Керакли шарт киритилади ва OK тугмаси босилади, масалан, [ESP+8]>100;
Play тугмасини босиш орқали шарт бажарилиши кутилади.
Қурилма тўхтатиш нуқтаси. Бу усулда қурилма регисторларидан фойдаланилади. Бу усул жуда ҳам тез амалга оширилади. Бу усул камчиллиги бир вақтнинг ўзида тўртта тўхтатиш нуқтасини қўйиш мумкин. Бу усулда тўхтатиш нуқтасини қўйиш учун BreakpointHardware, on Execution кетма-кетлиги танланади.
Хотира тўхтатиш нуқтаси. Бу усулда тўхтатишлар хотирада амалга оширилади. Тўхтатиш нуқтаси сифатида хотира адреси олинади ва хотира манзили кетма-кетлигида ҳаракатлантирилади. OllyDbg дастури хотира тўхтатиш нуқтаси усулини ёзиш (write), ўқиш (read) ва амалга ошириш (execute) ҳолатлари учун қўллаш имконини беради. Бу усулдан фойдаланиш учун сичқончанинг ўнг тугмаси босилиб, BreakpointMemory, on Access кетма – кетлиги танланади.
Бу усул асосан дастурда DLL файл юкланиши вақтини аниқлаш учун ишлатилади. Бунинг учун қуйидаги кетма-кетлик амалга оширилади:
Хотира харитасига ўтиб, керакли DLL устида сичқончанинг ўнг тугмаси босилади (.text бўлимида);
Set Memory Breakpoint on Access бандини танланг;
F9 босилади ва қайтадан юклаш амалга оширилади.
Бу усулда .text бўлимида DLL юклангандан сўнг тўхтатилади.
Do'stlaringiz bilan baham: |