Process ANSI escape sequences for Windows console programs.
Clone or download
adoxa Fixes
Unhook on terminate, to properly exit (Vista CMD.EXE and a MinGW-built
ansicon.exe would seem to exit okay, but the exit code was wrong).
Fixes #123.

Verify the DLL exists prior to injection.  With the DLL now being added
to the import table, failing to find it would prevent the process itself
from loading.
Latest commit eccbbe7 Nov 4, 2018

ANSICON Latest release

ANSICON provides ANSI escape sequences for Windows console programs. It provides much the same functionality as ANSI.SYS does for MS-DOS.


  • 32-bit: Windows 2000 Professional and later (it won't work with NT or 9X).
  • 64-bit: AMD64 (it won't work with IA64).

How it Works

ANSICON injects a DLL into a process, hooking its functions.


One of three methods is used to inject the DLL.

  • LoadLibrary via CreateRemoteThread for a running process.

  • LdrLoadDll via CreateRemoteThread for a 64-bit .NET AnyCPU process.

  • Adding the DLL directly to the import table, otherwise.


Hooking is achieved by modifying import addresses, or the return value of GetProcAddress.