IDA TVision replacement module

This is the home of my port of the TVision library released by Hex-Rays SA, for use with the IDA Pro interactive disassembler. To use it you will need a Linux or Mac OS X version of IDA Pro.

Why use the replacement module?

My replacement module provides two features: a native X11 interface and an asynchronous I/O API for IDA plug-in modules.

Native X11 Interface

By running IDA natively under X11 (as opposed to running it inside of an XTerm, Putty, or SecureCRT window) you gain several important benefits. The first is better font handling and the second is better keyboard and mouse response.

Font support

A native X11 application can access much richer fonts and display a wider selection of characters than a terminal-based application. IDA uses many of these "out-of-reach" characters liberally throughout its interface and has to simplify itself when running in a terminal window. To see the difference compare the following two screenshots.

XTerm

This is an image of IDA running inside an XTerm window. Notice how some of the UI elements such as the window border, scroll bar arrows, and the shading characters in the status display (currently 'idle') have been simplified somewhat to fit within the displayable characters for an XTerm.

Native X11

This is a screenshot of the same database but in this case IDA is using the native X11 TVision library and opening its own window. Notice the differences in the window border (now a double-thick line), the window minimize button (now an up arrow), the scroll bar arrow (now an up triangle) and the status display (down arrow and a gradually shaded outline).

Also notice how the character representation of the hexdump display has improved slightly. Some characters that were previously interpolated to display in the terminal window are now fully visible and distinguishable in the native window.

Releases

Version IDA Version Source code Linux Binary Mac OS X Binary Changes
X11 Terminal-based X11 Terminal-based
2.1 5.5 tvision-jsc-2.1.tgz libtvision.so libtvision.so libtvision.dylib libtvision.dylib Async I/O API support for collabREate plug-in. Updates from Datarescue's TVision 2009a release. View the README.
1.6 5.1 tvision-jsc-1.6.tgz Not available Not available libtvision.dylib Not available X11 clipboard support and Mac OS X support. Improved screen update algorithm. Updates from Datarescue's TVision Level M release. View the README.
1.5 4.9 tvision-jsc-1.5.tgz libtvision.so Not available Not available Not available Updates from Datarescue's TVision Level L release. View the README.
1.4 4.8 tvision-jsc-1.4.tgz libtvision.so Not available Not available Not available Fixes a bug that prevented use of the IDA debugger. (Reported by Eberhard Mattes). View the README.
1.3 4.8 tvision-jsc-1.3.tgz libtvision.so Not available Not available Not available Adds support for 16 background colors and also includes updates from Datarescue's TVision Level K release. View the README.
1.2 4.7 tvision-jsc-1.2.tgz libtvision.so Not available Not available Not available Fixes minor keyboard bugs in previous version. View the README.
1.1 4.7 tvision-jsc-1.1.tgz libtvision.so Not available Not available Not available Fully implemented keyboard support. Includes updates from Datarescue's Level I release. View the README.
1.0 4.7 tvision-jsc-1.0.tgz libtvision.so Not available Not available Not available Adds keyboard support. View the README.
0.9 4.7 Beta tvision-jsc-0.90.tgz Not available Not available Not available First release. View the README.

Screen shots

This is a screenshot of an IDA session running on a Mandrake 10.0 machine, forwarding X11 via SSH to a MacOS X desktop. The screen font is 'sabvga'.

IDA running in an X11 window under MacOS X

The same, but running with the stockier, more PC-like 'vga' font.

IDA running in an X11 window under MacOS X