1、背景
病毒分析时,对一些程序需要快速分析其功能,需要知道其API调用都有哪些,windbg 提供了一个插件可以实现这个功能,这个插件就是logexts。
2 使用介绍
!logexts.logi
将Logger注入目标程序,初始化监控,但是并不开启它。
!logexts.loge
开启监控,如果之前没有调用logexts.logi,这个扩展命令会先初始化监控,然后启动。
!logexts.logd
停止监控。这个命令会摘掉所有的Hook,从而让程序自由运行。不过COM的Hook并不会被摘除。
!logexts.logo
显示或者修改输出选项,这里有三种输出方式:1.在调试器中显示,2.输出到一个文本文件,3.输出到lgv文件。其中lgv文件会包含更多的信息,我们可以使用LogViewer进行查看。
!logexts.logc
显示或者控制监控的API分类。
!logexts.logb
显示或者刷新输出缓存。由于如果在监控过程中发生异常,那么扩展可能无法将记录的日志写入文件中,这个时候我们就需要这个命令,手动的将缓存中的数据写入文件。
!logexts.logm
显示和创建模块的包含/排除列表。这可以帮助我们指定记录那些特定模块中的API调用。
我一般用到的命令是
!logexts.loge 开启监控
!logexts.logo e * 三种日志输出方式都输出
另外windbg还支持调试子进程,可以尝试监控一下子进程的API调用,这个还没尝试。
3、使用过程截图
参考链接
https://0cch.com/2013/09/14/e4bdbfe794a8windbg-logextse79b91e68ea7e7a88be5ba8fapie8b083e794a8/
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/using-the-debugger-and-logexts-dll?redirectedfrom=MSDN