记录一个软件 API Monitor


http://www.rohitab.com/apimonitor

找了好长时间,终于找到了。

需求是找一个工具记录软件的 DeviceIOControl 的调用,用来查设备驱动被哪个用户软件调用,且最好能找到调用的参数或者内容。

在找到这个之前,试过了nirsoft / deviceioview、MartinDrab / IRPMon、zodiacon / DriverMon、Fyyre / DrvMon、DynamoRIO / drmemory,很遗憾,各种问题都用不了。

而这个工具能记录目标程序的具体哪个DLL、哪个线程调用了哪些调用,相当神器。

遇到的问题:记录数据不全,设置限制了最大的数据抓取4096字节,且输入长度最大4个字符。

解决的方案:半解决吧,patch了程序。用 4096 搜立即数,找到了限制最大值的代码,逐个改成 0x400000;搜 EM_SETLIMITTEXT,看到定义是 0xC5,当立即数搜索,查找 SendMessageW 的调用,定位了两个框的限制,改成了8。


Leave a Reply

Your email address will not be published. Required fields are marked *