OllyDbg教程-快捷鍵


預備知識
  大多數殼都有一個共同的特點。在殼準備開始解壓時都要執行PUSHAD,當殼解壓
完時都要調用POPAD。到底PUSHAD和POPAD是什麼幹什麼用的呢?其實PUSHAD是用來將
所有普通寄存器順序進棧的指令,POPAD是所有普通寄存器順序出棧指令。POPAD的出
棧順序和PUSHAD相反。殼爲了保護寄存器,便在解壓前將所有寄存器進棧保護起來,
當解壓完成後又將寄存器出棧,恢復其原貌,並將IP設置爲原程序的OEP。這樣我們就
可以通過這個特點快速脫掉多種軟件的殼。


32位程序級的調試器--ollyDbg,這個東東操作簡便,提示信息量大,介紹一些簡單的操作

快捷鍵:
F3,裝入程序
F8,單步執行,不進入call
F9 (運行)
F7,單步執行,進入call
CTRL+F9,相當於trw2000的F12
ALT+F9,相關於trw2000的pmodule
F2,設置斷點(相當於trw2000的F9)
CTRL+N(當前模塊中的名稱)
F12(暫定)
CTRL+F12(重新運行)
CTRL+F11(跟蹤進入)
CTRL+T(設置條件)
CTRL+F7(自動步入)
CTRL+F8(自動步過)
CTRL+F9(執行到返回)

另轉的快捷鍵使用方法如下
OllyDbg 常用快捷熱鍵
聆風聽雨整理
===============================================================
打開一個新的可執行程序 (F3)

重新運行當前調試的程序 (Ctrl+F2)

當前調試的程序 (Alt+F2)

運行選定的程序進行調試 (F9)

暫時停止被調試程序的執行 (F12)

單步進入被調試程序的 Call 中 (F7)

步過被調試程序的 Call (F8)

跟入被調試程序的 Call 中 (Ctrl+F11)

跟蹤時跳過被調試程序的 Call (Ctrl+F12)

執行直到返回 (Ctrl+F9)

顯示記錄窗口 (Alt+L)

顯示模塊窗口 (Alt+E)

顯示內存窗口 (Alt+M)

顯示 CPU 窗口 (Alt+C)

顯示補丁窗口 (Ctrl+P)

顯示呼叫堆棧 (Alt+K)

顯示斷點窗口 (Alt+B)

打開調試選項窗口 (Alt+O)

 


窗口:
左上:代碼區
左下:內存數據
右上:寄存器
右下:stack區


以下命令適用於 OllyDbg 的快捷命令欄插件(顯示於程序的狀態欄上方)

========================================================
CALC
判斷表達式

WATCH
添加監視表達式

AT / FOLLOW
Disassemble at address
在地址進行反彙編

ORIG
Disassemble at EIP
反彙編於 EIP

DUMP
Dump at address
在地址轉存

DA
Dump as disassembly
轉存爲反彙編代碼

DB
Dump in hex byte format
轉存在十六進制字節格式

DC
Dump in ASCII format
轉存在 ASCII 格式

DD
Dump in stack format
轉存在堆棧格式

DU
Dump in UNICODE format
轉存在 UNICODE 格式

DW
Dump in hex word format
轉存在十六進制字詞格式

STK
Go to address in stack
前往堆棧中的地址

AS + 地址 + 字符串
Assemble at address
在地址進行彙編

L + 地址 + 字符串
Label at address
在地址進行標號

C + 地址 + 字符串
Comment at address
在地址進行註釋

BP
Break with condition
使用條件中斷

BPX
Break on all calls
中斷在全部調用

BPD
Delete break on all calls
清除位於全部調用的斷點

BC
Delete breakpoint
清除斷點

MR
Memory breakpt on access
內存斷點於訪問時

MW
Memory breakpt on write
內存斷點於寫入時

MD
Remove memory breakpoint
清除內存斷點

HR
HW break on access
硬件中斷在訪問

HW
HW break on write
硬件中斷在寫入

HE
HW break on execution
硬件中斷在執行

HD
Remove HW breakpoint
清除硬件斷點

STOP
Pause execution
暫停執行
PAUSE
PAUSE

RUN
Run program
運行程序
Run till address
運行到地址

GE
Run and pass exception
運行和通過例外

SI
Step into
步入


SO
Step over
步過

TI
Trace in till address
跟蹤進入直到地址

TO
Trace over till address
跟蹤步過直到地址

TC
Trace in till condition
跟蹤進入直到條件

TOC
Trace over till condition
跟蹤步過直到條件

TR
Till return
直到返回

TU
Till user code
直到用戶代碼

LOG
View Log window
查看記錄窗口

MOD
View Modules window
查看模塊窗口

MEM
View Memory window
查看內存窗口

CPU
View CPU window
查看 CPU 窗口

CS
View Call Stack
查看 Call 堆棧

BRK
View Breakpoints window
查看斷點窗口

OPT
Open Options
打開選項

EXIT / QUIT
Quit OllyDbg
退出 OllyDbg

OPEN
Open executable file
打開可執行文件

CLOSE
Close executable
關閉程序

RST
Restart current program
恢復當前程序

HELP
Help on API function
API 函數的幫助

ASM
Assemble (if command needs it's own addres, /"ASM COMMAND;ADDRESS/")
彙編 (如果命令需要自身的地址 /"ASM COMMAND;ADDRESS/")

DASM
Disassemble immediate opcode
反彙編直接的機器碼

FR
Find reference to selected command/address
查找參考到選定的命令/地址

AC
Analyse code
分析代碼

SN
Search for Name(label) in current module
在當前模塊中搜索名稱(標號)

SOB
Scan object files
掃描項目文件
記住:工具欄的所有功能都能在菜單欄裏找到,工具欄是菜單欄的快捷按鈕(廢話!)
  各項詳細功能我們在下面說!
再往下看有四個窗口他們是代碼窗(左上),寄存器窗口(右上),內存窗口(左下)和堆棧窗口(右下)

2*菜單欄各項命令功能
*文件(F)----這些命令用說嗎?
    |____注意**該菜單的下部有你上次打開的紀錄,該紀錄保存有你上次未清除的斷點**注意**


*查看(V)------這個菜單我只介紹一下我常用的,別的我不會!:-)
    |____執行模塊(快捷鍵ALT+E):查看該程序使用的動態連接庫(我的理解)
    |    
    |____斷點(快捷鍵ALT+B):這個是查看你所有的斷點,(有時自己設到哪裏都忘了,可以看一下)起到一個輔助功能.
    我就會這麼多!:-(


*調試(D)-------這個菜單是關鍵,不明白你就別調試軟件了!也只說常用的!
    |_______運行(F9)加載程序後,運行!
    |
    |_______暫停(F12)
    |
    |_______單步進入(F7)遇見CALL就進!進入該子程!行話:"跟進去"
    |
    |______單步跳過(F8)遇見CALL不進去!不去管子程的內部!第一次粗跟的時候常用!
    |
    |______執行到返回(ALT+F9)就是執行到該子程的返回語句!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章