My blog

Main topics are reverse engineering, programming, math... Missing something? Read here.

The posts:

19-Dec-2018[MaxSAT][Python] Packing students into dorm
16-Dec-2018[Z3][SMT][Python] (Mostly for CS geeks) constructing minimal DFA accepting specific binary numbers
13-Dec-2018(C, C++, x86/x64 assembly): The case of forgotten return
03-Dec-2018[Z3][SMT][Python][EE] Fault check of digital circuit: minimizing test set
24-Nov-2018[SMT][Z3][Python] Integer overflow and SMT-solvers
18-Aug-2018[SMT][Z3][Python] Organize your backups
17-Aug-2018[SMT][Z3][Python] Job Shop Scheduling/Problem
16-Aug-2018[SMT][Z3] Packing virtual machines into servers
26-Jul-2018[Discrete math][graph theory] degree sequence problem / graph realization problem
25-Jul-2018Worst sorting algorithm I ever saw: proving it using KLEE
25-Jul-2018Understanding Assembly Language: new title for RE4B
23-Jul-2018Almost recreational math: missing operation(s) puzzle
21-Jul-2018Loading a constant into register using ASCII-only x86 code
13-Jul-2018Register allocation using graph coloring
09-Jul-2018"Polite customer" problem and Z3 SMT-solver
04-Jul-2018Executable file watermarking/steganography using Lehmer code and factorial number system
29-Jun-2018Nonogram puzzle solver using Z3 SMT-solver
25-Jun-2018Kirchhoff’s circuit laws and Z3 SMT-solver
22-Jun-2018DDFF - Duplicate Directories and Files Finder
16-Jun-2018Cabling in rack cabinet and Z3
13-Jun-2018Why cellular network is a cellular network
05-Jun-2018News about SAT/SMT by example
07-Oct-2017SAP cluster table unpacker
02-Jul-2017De Morgan’s laws and decompilation
07-Jun-2017Eight queens problem in 93 bytes
13-May-2017Cyclomatic complexity
02-Mar-2017Cracking simple LCG PRNG
22-Apr-2016Signed division using shifts
19-Apr-2016Bug in LZHuf.c by Haruyasu Yoshizaki
12-Nov-2015My new website about reverse engineering challenges/exercises/problems/tasks:
27-Sep-2015Some of git internals
27-Sep-2015Content-addressable storage
08-Sep-2015Typeless programming languages (BCPL, B), C evolution and decompiling
20-Aug-2015Some parts of my Reverse Engineering book translated to Chinese.
13-Aug-2015Introduction to logarithms; yet another x86 reverse engineering exercise
23-Jul-2015Fuzzy string matching + simplest possible spellchecking + hunting for typos and misspellings in Wikipedia
22-Jul-2015Clique in graph theory
09-Jul-2015How RSA works
13-Jun-2015Modular arithmetic + division by multiplication + reversible LCG (PRNG) + cracking LCG with Z3
16-May-2015Tweaking LLVM Obfuscator + quick look into some of LLVM internals
21-Jan-2015Korean publication of "Reverse Engineering for Beginners" book is available for pre-order!
09-Apr-2014Couple of win32 PE patching utilities
18-Feb-2014PE add imports
18-Dec-2013Convert to sparse file utility (win32)
16-Oct-2013Add import to PE executable file
15-Oct-2013New tracer features for software testing
19-Aug-2013Bug or typo or?..
14-Aug-2012Finding unknown algorithm using only input/output pairs and Z3 SMT solver
19-Jul-2012Three PoCs from CPUjul2012
17-Jul-2012CVE-2012-0072 PoC (fixed in CPUjan2012)
17-Jul-2012CVE-2010-0911 PoC (fixed in CPUjul2010)
23-Sep-2011Extreme hardening by code modification.
27-Jul-2011Dataflow tracker
27-Jul-2011Strings in Oracle RDBMS network layer
06-Apr-2011ops_SIMD 0.3
19-Jan-2011Oracle passwords (DES) solver updating to support AVX
14-Jan-2011Generic tracer 0.5 beta
07-Dec-2010Making C compiler generate obfuscated code
24-Nov-2010Oracle .msb files unpacker
31-Oct-2010Adding old dongle support to DosBox
29-Oct-2010Using debugging features of DosBox
10-Oct-2010Oracle passwords (DES) solver 0.2 (SSE2)
13-Jul-2010Tracing connection between TDW_NOCOMPRESS SAPGUI envrionment variable to bothering window and actual data compression routine
07-Jul-2010About Oracle PL/SQL undocumented "interface" pragma.
07-Jun-2010Generic tracer 0.4
02-Jun-2010About SAP network packets decompressing and also SAP network password sniffing
24-May-2010PEEKs and POKEs in Windows x64?
15-Apr-2010My two oracle passwords crackers
06-Feb-2010Oracle RDBMS internal self-testing features
30-Jan-2010Random Oracle hosts statistics
26-Jan-2010Rendering data structures passed to functions as arguments
22-Jan-2010Metasploit plugin based on CVE-2009-1979
20-Jan-2010My Oracle TNS Listener rootkit experiment
19-Jan-2010My Oracle rootkit experiment
15-Jan-2010More information about CVE-2009-1979 (CPUoct2009)
24-Dec-2009Events checked in some major Oracle RDBMS versions
24-Dec-2009Radiohead lyrics in Oracle RDBMS code
22-Dec-2009Rare x86 instruction
06-Dec-2009FPGA-based Oracle RDBMS passwords solver
05-Dec-2009Generic tracer 0.3
30-Oct-2009CVE-2009-1979 PoC (CPUoct2009)
05-Oct-2009Oracle RDBMS passwords solver
24-Jul-2009CVE-2009-1970 PoC (CPUjul2009)
24-Jul-2009CVE-2009-1963 PoC (CPUjul2009)
24-Jul-2009CVE-2009-1019 PoC (CPUjul2009)
24-Jul-2009CVE-2009-1020 PoC (CPUjul2009)
21-May-2009Generic tracer
02-Apr-2009IBM DB2
07-Jan-2009CHANGE USER OPI call
04-Nov-2008Oracle SPY Events
29-Sep-2008Oracle RDBMS some internals info
25-Sep-2008Basics of C within the Oracle kernel.
04-Sep-2008Oracle internals
30-Jul-2008Oracle SPY
23-Jul-2008Intel(R) C++?
13-Jul-2008Network trace in Oracle RDBMS
13-Jul-2008malloc() comments
13-Jul-2008Solving Oracle passwords hashes using FPGA.
10-Jul-2008_disable_txn_alert undocumented parameter in Oracle 11g
26-Jun-2008Oracle X$KSMLRU fixed table
17-Feb-2008Oracle V$TIMER

Feel free to translate them to other languages, except Russian, please! Just ask me, I will prepare Russian version by myself.

Some of my other writings are: "Reverse Engineering for Beginners" free book,

All reverse engineering exercises are moved to separate website:

There are also some random notes at GitHub.

only search this site

Subscribe to the blog:

→ [list of blog posts]

Please drop me email about any bug(s) and suggestion(s): dennis(@)