With IDA, one can use the command line interface (CLI) not only to type scripting related commands but also to send debugger specific commands to the current debugger plugin.
Although the topic mentions device drivers, you do not have to know much about drivers to learn something new from this post.
For the sake of demonstration, we will start a kernel debugging session with IDA/Windbg plugin and execute the !drvobj command:
We now have the dispatch table for the NTFS driver, but what if we want to display all the dispatch tables of all drivers and be able to easily browse the list with IDA?
Before answering this, first let us see which debugger modules can receive commands through IDA’s CLI:
Please note that these commands are available only during the debugging session.
Now that we know how to send commands to WinDbg, let us see how to answer the previous question:
The end result is a simple IDAPython script that automates this task:
Download the script from here. All comments and suggestions are welcome.