When developing extension using native messaging you need to develop so called native messaging host - exe which is registered with chrome and spawned by chrome when requested by the extension.
Chrome uses pipes to communicate with the host. The pipe is connected to stdin/stdout descriptors in the host process.
There is a drawback on windows - default stdin mode is TEXT. But in this mode once 0x1A is passed through, the C library closes the pipe and the host is terminated because 0x1A id end of file marker.
Solution:
Before reading attempt from the pipe set the mode to binary (defaults to text) using following code snippet:
_setmode( _fileno( stdin ), _O_BINARY )
Reference: http://msdn.microsoft.com/cs-cz/library/tw4k6df8.aspx