?
- windbg
- 查找函數:x exe!main*
- 條件斷點打印字符:bp 7199a2b0 ".printf \"message:%ma\", poi(@esp+8);.echo;g"//
- 搜索內存:s -a 0000000000780000 ?L8000000 ?"This is a test2"
- !address,可以查看進程的堆布局,堆屬性。!address my_addr,直接查看具體地址。
- bp??myexe+0x85d01 ".echo abc;r r8;r rcx;dc myexe+1000;gu;g"//直接使用偏移,gu運行到當前函數結束。.echo abc打印abc字符串。
- bu myexe+0x800;設置全局斷點,下次重啟時還存在;bm myexe!myclass::*,對myclass類所有函數下斷點。
- p相當于f10,t相當于f11,trace
- ?c-1,用來計算公式。
- gflags.exe ?/i a.exe +hpa +ust.
- call指令相當于push eip(esp也會增加4),retn相當于pop eip
- 修改寄存器命令:r @eax=1
- 修改內存命令:ed (esp+8)? 0xffffffff
- !heap -flt s 8010 ? ?//列出 所有指定大小的分配塊
- 命令行下載符號表
這里可以使用 SymChk.exe 實用程序驗證符號并以方便、非入侵性的方式生成本地符號高速緩存。SymChk.exe 實用程序隨 Debugging Tools for Windows 軟件包提供。SymChk.exe 是一種命令行工具。
比如要使用 SymChk.exe實用程序下載 Windows\System32 文件夾中所有組件的符號文件,使用以下命令行即可:
symchk /r c:\windows\system32 /s?SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols
c:\progra~1\debugg~1\symchk.exe /r c:\progra~1\mozill~1\* /s SRV*C:\symcache\*http://symbols.mozilla.org/firefox
在此示例中,其中“/r c:\windows\system32”表示查找System32文件夾和所有子文件夾中的所有符號文件。“/s SRV*c:*http://msdl.microsoft.com/download/symbols”指定用于符號解析的符號路徑。在此例中,“c:\symbols”是將在其中從符號服務器復制符號的本地文件夾。
- ida:在使用IDA對二進制文件進行逆向分析的時候,將基址修改為指定值:Edit->Segements->Rebase program
- 虛函數
- windbg線程
-
- ~???????????????簡潔地顯示當前進程的所有線程,??
- ~.??????????????表示當前線程??
- ~#??????????????表示異常或者產生調試事件的線程??
- ~*??????????????表示所有線程??
- ~1??????????????表示一號線程??
- ~2?s????????????表示選擇2號線程作為當前線程??
- ~3?f????????????凍結三號線程??
- ~3?u????????????解凍三號線程??
- ~2?n????????????掛起二號線程??
- ~2?m????????????恢復二線程??
- ~*e?!clrstack???遍歷每個線程,?依次輸出它們的托管調用棧.??
- !threads????????查看所有的托管線程
- 在多線程排除問題中,通過線程轉換(~2),查看每個線程的棧(k),分析其在那里堵塞。然后結合源碼分析。
3.windbg常見符號表地址
Microsoft?–?http://msdl.microsoft.com/download/symbols
Firefox???–?http://symbols.mozilla.org/firefox
Chrome????–?http://chromium-browser-symsrv.
Citrix????–?http://ctxsym.citrix.com/symbols
Safari?????--http://developer.apple.com/internet/safari/windows_symbols
調試firefox為例,設置多符號表情況:
SRV*c:\symcache\*http://msdl.microsoft.com/download/symbols;SRV*c:\symcache\*http://symbols.mozilla.org/firefox