Windbg條件斷點指令
阿新 • • 發佈:2018-12-05
命令如下:
bp kernel32!CreateFileW "as /mu $FileName poi(@esp+0x4);.block{r @$t0=$scmp(@\"$FileName\", @\"C:\\Test\\1.txt\");.if([email protected]$t0){gc;}}"
1. as /mu $FileName poi(@esp+0x4);
取CreateFileW的第一個引數,作為別名 $FileName
2. r @$t0=$scmp(@\"$FileName\", @\"C:\\Test\\1.txt\");
把檔名與字串 "C:\\Test\\1.txt"對比,結果存放在$t0暫存器
3. .if([email protected]$t0){gc;}
比對結果不為0,gc繼續執行;即字串相同break
使用時須注意以下幾點:
1.必須在使用別名前,先用ad命令把別名刪除掉(否則斷點會失敗,ad用法與bd,bc等相同),al命令檢視所有別名。
2.必須使用block語句塊,否則斷點無效。
3.scmp/sicmp/spat進行字串比較,scmp大小寫敏感;sicmp不區分大小寫;spat模糊匹配,用*代替模糊片語。
4.poi(address) 取值,此斷點僅用於x86環境,x64環境改 poi(@esp+0x4) 為 poi(@rcx) ,代表一個引數pFilePath。