admin 发表于 2020-6-14 12:00:01

反WinDbg技巧

反WinDbg技巧
如果我们在WinDbg(经典和预览)下调试可执行文件,则调试器将为最近创建的进程创建几个可区分的环境变量。没有连接调试器的示例过程:https://user-images.githubusercontent.com/16405698/55292768-39dada80-53de-11e9-8f4e-9155e96ac9f7.PNG由WinDbg Classic调试的同一示例:https://user-images.githubusercontent.com/16405698/55292769-39dada80-53de-11e9-876c-e5110be816bf.PNG由WinDbg Preview调试的同一示例:https://user-images.githubusercontent.com/16405698/55292770-3a737100-53de-11e9-8c94-3cb70ae162dc.PNG我们可以使用更改来检测示例是否在WinDbg调试器下:


char * pValue;

size_t len;

const auto caption = L“ WinDbg检查”;



const auto winDbgClassic = “ WINDBG_DIR ” ;

const auto err = _dupenv_s(&pValue,&len,winDbgClassic);

如果(错误)

      返回 - 1 ;

如果(pValue)

      MessageBox(nullptr,L“ Hello WinDbg(Classic)”,标题,0);

免费(pValue);
查看原始antiWinDbg_1.cpp 托管与❤通过GitHub上https://user-images.githubusercontent.com/16405698/55292882-7d821400-53df-11e9-9df8-1dd94961d7e8.gif
页: [1]
查看完整版本: 反WinDbg技巧