Apr
4
awarded Popular Question
Mar
4
awarded Scholar
Mar
4
accepted Suspicious drivers, is it a rootkit?
Mar
4
comment 32-bit program using Office IFilters when 64-bit Office is installed
I ended up writing a stub process that marshals IFilter requests from 32-bit to 64-bit, and the results back. There does't seem to be a simpler way.
Mar
4
asked Android: Listening to AAC+ files generated by StreamRipper
Mar
4
answered Android: Listening to AAC+ files generated by StreamRipper
Dec
23
awarded Notable Question
Dec
23
awarded Popular Question
Aug
19
accepted A limitation of Sqlite3's full text search doesn't allow ORs with MATCHes. Workaround?
Aug
19
comment SqLite database won't close when in unicode and PRAGMA journal_mode is set
You saved me at least an hour of debugging, thanks.
Aug
1
asked A limitation of Sqlite3's full text search doesn't allow ORs with MATCHes. Workaround?
Aug
1
answered A limitation of Sqlite3's full text search doesn't allow ORs with MATCHes. Workaround?
May
6
awarded Critic
Apr
27
accepted Sqlcipher, Windows: encryption succeeds but produces strange results
Apr
21
comment Sqlcipher, Windows: encryption succeeds but produces strange results
Upgrading OpenSSL solved the problem. The debugger shows that only the HMAC context's memory is now initialized. Well it is rather unsettling that OpenSSL can corrupt memory....
Apr
21
answered Sqlcipher, Windows: encryption succeeds but produces strange results
Apr
20
comment Sqlcipher, Windows: encryption succeeds but produces strange results
Eventually I found that the HMAC_Init_ex call in sqlcipher_page_hmac corrupts memory. In this image memory belonging to ctx->hctx is enclosed in a red polygon. Bytes in red font signify the memory changed by HMAC_Init_ex. So bytes in red font outside the red polygon are corrupted memory. The byte in a blue rectangle belongs to ctx->key_sz - it suddenly becomes zero. This is why the data is copied, and not encrypted, in subsequent calls of sqlcipher_page_cipher(). OpenSSL bug? Tomorrow I will try to update OpenSSL and see what happens.
Apr
20
comment Sqlcipher, Windows: encryption succeeds but produces strange results
More findings... At the start of encryption, c_ctx->key_sz is initialized to a positive number in sqlcipher_codec_ctx_set_cipher, but then the memory location suddenly changes to zero in here: CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM, pData2); ( function pager_write() ). The stack trace points inside libeay32.dll (the precompiled OpenSSL DLL). OpenSSL seems to corrupt the memory belonging to c_ctx, perhaps due to pData being pretty close in memory. Smells like some binary incompatibility...
Apr
20
comment Sqlcipher, Windows: encryption succeeds but produces strange results
I corrected the paragraph starting with "In the debugger I can see", please take a look. I use the library as a DLL, so it's not immediately possible to use the command line interpreter, but I can switch over to Linux and compile the interpreter.
Apr
20
revised Sqlcipher, Windows: encryption succeeds but produces strange results
Corrected the paragraph starting with "In the debugger I can see"
1 2 3 4 5