只有当嵌套结构中的字符串作为参数匹配我选择的特定模式时,我一直试图在函数内部触发断点,如下所示:
bp `main.c:2236` ".block { .if ( $spat(\"@@(stNames->NameComponent.Buffer)\", \"*ab*\" )){.echo \"BKP HIT! \"; .printf \"%mu str\n\",> @@(NameInfo->FinalComponent.Buffer); } .else {.echo \"NO HIT \"; .printf \"%mu str:\n\", @@(stNames->NameComponent.Buffer); gc;} } "
Run Code Online (Sandbox Code Playgroud)
在已经解析参数符号之后,此断点设置在函数的开头.它表现得很奇怪,即使$ spat中的模式不匹配,有时它也会一直被击中,有时即使模式匹配也不会命中.
我也试过这个没有运气,因为我无法找到一个方法在嵌套结构的这种情况下使用POI()命令.片段波纹管:
bp Kernel32!CreateFileW ".printf \"%mu\\n\", poi(esp+4); as /mu ${/v:FileName} poi(esp+4); .block{.if $spat(\"${FileName}\", \"*target*\") {.echo Hit} .else {.echo Not Yet;g;}}"
Run Code Online (Sandbox Code Playgroud)