Main topics are reverse engineering, programming, math...
08-Mar-2018 | Graph coloring and scheduling, part II |
07-Mar-2018 | Graph coloring and scheduling, part I |
03-Mar-2018 | Enumerating all possible inputs for specific a regexp using Z3 SMT-solver |
26-Feb-2018 | Dependency graphs and topological sorting using Z3 SMT-solver |
23-Feb-2018 | TAOCP 7.1.3 Exercise 203, MMIX MOR instruction and program synthesis by sketching |
23-Feb-2018 | TAOCP 7.1.3 Exercise 198, UTF-8 encoding and program synthesis by sketching |
21-Feb-2018 | School teams scheduling, Kirkman’s Schoolgirl Problem, etc |
17-Feb-2018 | Numberlink (AKA Flow Free) puzzle as a MaxSAT problem + toy PCB router |
12-Feb-2018 | Solving Numberlink (AKA Flow Free) puzzle using Z3 |
07-Feb-2018 | Simple logic synthesis using Z3: exercise from TAOCP |
03-Feb-2018 | Travelling salesman problem using Z3 |
30-Jan-2018 | Simple logic synthesis using Z3; Apollo Guidance Computer |
17-Jan-2018 | Hilbert’s 10th problem, Fermat’s last theorem and SMT solvers |
16-Jan-2018 | Yet another explanation of modulo inverse using SMT-solvers |
14-Jan-2018 | Simple adder in SAT/SMT |
13-Jan-2018 | Yet another logical puzzle and SAT/SMT solvers |
13-Jan-2018 | Multiple choice logic puzzle, and solving it using SAT/SMT solvers |
01-Jan-2018 | ToySMT - simple SMT solver under ~1500 SLOC of pure C. |
07-Dec-2017 | Ménage problem |
05-Dec-2017 | Can rand() generate 10 consecutive zeroes? |
05-Dec-2017 | Yet another explanation of modulo inverse |
04-Dec-2017 | Coin flipping problem: Z3 and MaxSAT (Open-WBO) |
01-Dec-2017 | Assignment problem and Z3 |
29-Nov-2017 | Stable marriage problem and Z3 |
23-Nov-2017 | Solving Killer Sudoku using Z3 |
23-Nov-2017 | Greater Than Sudoku |
23-Nov-2017 | Kirkman’s Schoolgirl Problem |
22-Nov-2017 | Magic/Latin square of Knut Vik design: getting it using Z3 |
15-Nov-2017 | Crossword generator based on Z3 |
14-Nov-2017 | Finding (good) CRC polynomial using Z3 |
11-Nov-2017 | Getting CRC polynomial and other CRC generator parameters using Z3 |
06-Nov-2017 | Factorize GF(2)/CRC polynomials using Z3 |
05-Nov-2017 | Yet another explanation of CRC (Cyclic redundancy check) |
27-Oct-2017 | Alphametics and Z3 SMT solver |
22-Oct-2017 | Explanation of the Least Common Multiple using Z3 SMT solver, etc |
11-Oct-2017 | Explanation of the Greatest Common Divisor using Z3 SMT solver, etc |
07-Oct-2017 | SAP cluster table unpacker |
04-Oct-2017 | Proving sorting network correctness using Z3 SMT solver |
30-Sep-2017 | Proving bizarre XOR alternative using SAT solver |
29-Sep-2017 | Tiling puzzle and Z3 SMT solver |
27-Sep-2017 | Balanced Gray code and Z3 SMT solver |
24-Sep-2017 | Integer factorization using SAT solver |
23-Sep-2017 | Integer factorization using Z3 SMT solver |
20-Sep-2017 | Rubik’s cube (3*3*3) and Z3 SMT-solver, part II |
11-Sep-2017 | Solving pocket Rubiks cube (2*2*2) using Z3 and SAT solver |
13-Jul-2017 | Solving XKCD 287 using Z3 SMT-solver |
11-Jul-2017 | Generating de Bruijn sequences using Z3 SMT-solver |
02-Jul-2017 | De Morgan’s laws and decompilation |
01-Jul-2017 | Zebra puzzle as a SAT problem |
28-Jun-2017 | Simplifying long and messy expressions using Mathematica and Z3 |
26-Jun-2017 | Simplest SAT solver in ~120 lines |
24-Jun-2017 | Cracking Minesweeper with PIN |
19-Jun-2017 | Cracking simple XOR cipher with Z3 |
07-Jun-2017 | Eight queens problem in 93 bytes |
03-Jun-2017 | Worst sorting algorithm I ever saw |
02-Jun-2017 | Making smallest possible test suite using Z3 |
30-May-2017 | Using PIN DBI for XOR interception |
13-May-2017 | Cyclomatic complexity |
10-May-2017 | News |
29-Apr-2017 | Recalculating micro-spreadsheet using Z3Py |
12-Mar-2017 | Conway’s Game of Life and SAT solver |
07-Mar-2017 | Cracking Minesweeper with SAT solver |
05-Mar-2017 | Cracking Minesweeper with Z3 SMT solver |
02-Mar-2017 | Cracking simple LCG PRNG |
28-Feb-2017 | Symbolic execution and (amateur) cryptography |
25-Feb-2017 | Text strings right in the middle of compressed data |
09-Feb-2017 | Symbolic execution |
15-Jan-2017 | Simple program synthesis using Z3 SMT-solver |
05-Dec-2016 | "Reverse Engineering for Beginners" book in Farsi (Persian language) |
05-Dec-2016 | Toy decompiler for x86-64 written in Python |
10-Jul-2016 | Another loop optimization |
29-Jun-2016 | C/C++ pointers: array as function argument |
27-Jun-2016 | Overclocking Cointerra Bitcoin miner |
13-Jun-2016 | C/C++ pointers: null pointers |
02-Jun-2016 | C/C++ pointers: pointers abuse in Windows kernel |
22-May-2016 | C/C++ pointers: yet another abuse |
19-May-2016 | Weird loop optimization |
08-May-2016 | C/C++ pointers: yet another short example |
06-May-2016 | Breaking simple executable cryptor |
06-May-2016 | Function arguments statistics |
03-May-2016 | Simple encryption using XOR mask, part II |
29-Apr-2016 | Simple encryption using XOR mask |
22-Apr-2016 | Signed division using shifts |
19-Apr-2016 | Bug in LZHuf.c by Haruyasu Yoshizaki |
12-Nov-2015 | My new website about reverse engineering challenges/exercises/problems/tasks: challenges.re |
27-Sep-2015 | Some of git internals |
27-Sep-2015 | Content-addressable storage |
08-Sep-2015 | Typeless programming languages (BCPL, B), C evolution and decompiling |
04-Sep-2015 | (Beginners level) packing 12-bit values into array using bit operations (x64, ARM/ARM64, MIPS) |
26-Aug-2015 | Yet another compiler anomaly |
26-Aug-2015 | Encrypted database case #1 |
22-Aug-2015 | De Bruijn sequences (solution for the exercise posted at 18-Aug-2015); leading/trailing zero bits counting. |
20-Aug-2015 | Some parts of my Reverse Engineering book translated to Chinese. |
13-Aug-2015 | Introduction to logarithms; yet another x86 reverse engineering exercise |
23-Jul-2015 | Fuzzy string matching + simplest possible spellchecking + hunting for typos and misspellings in Wikipedia |
22-Jul-2015 | Clique in graph theory |
09-Jul-2015 | How RSA works |
13-Jun-2015 | Modular arithmetic + division by multiplication + reversible LCG (PRNG) + cracking LCG with Z3 |
16-May-2015 | Tweaking LLVM Obfuscator + quick look into some of LLVM internals |
13-May-2015 | (Beginners level) Analyzing unknown binary files using information entropy |
25-Apr-2015 | (Beginners level) reverse engineering of simple fortune program indexing file |
20-Apr-2015 | Using Z3 theorem prover to prove equivalence of some bizarre alternative to XOR operation. |
21-Jan-2015 | Korean publication of "Reverse Engineering for Beginners" book is available for pre-order! |
29-Aug-2014 | Publishers? |
08-Aug-2014 | "Reverse Engineering for Beginners" free book news |
09-Apr-2014 | Couple of win32 PE patching utilities |
29-Mar-2014 | Cracking simple hash-function using Z3 SMT-solver |
05-Mar-2014 | My "Reverse Engineering for Beginners" book |
18-Feb-2014 | PE add imports |
18-Dec-2013 | Convert to sparse file utility (win32) |
16-Oct-2013 | Add import to PE executable file |
15-Oct-2013 | New tracer features for software testing |
19-Aug-2013 | Bug or typo or?.. |
03-Jul-2013 | "Quick introduction to reverse engineering for beginners" book update |
14-Mar-2013 | "Quick introduction to reverse engineering for beginners" |
14-Aug-2012 | Finding unknown algorithm using only input/output pairs and Z3 SMT solver |
19-Jul-2012 | Three PoCs from CPUjul2012 |
17-Jul-2012 | CVE-2012-0072 PoC (fixed in CPUjan2012) |
17-Jul-2012 | CVE-2010-0911 PoC (fixed in CPUjul2010) |
23-Sep-2011 | Extreme hardening by code modification. |
27-Jul-2011 | Dataflow tracker |
27-Jul-2011 | Strings in Oracle RDBMS network layer |
06-Apr-2011 | ops_SIMD 0.3 |
19-Jan-2011 | Oracle passwords (DES) solver updating to support AVX |
14-Jan-2011 | Generic tracer 0.5 beta |
07-Dec-2010 | Making C compiler generate obfuscated code |
24-Nov-2010 | Oracle .msb files unpacker |
31-Oct-2010 | Adding old dongle support to DosBox |
29-Oct-2010 | Using debugging features of DosBox |
10-Oct-2010 | Oracle passwords (DES) solver 0.2 (SSE2) |
13-Jul-2010 | Tracing connection between TDW_NOCOMPRESS SAPGUI envrionment variable to bothering window and actual data compression routine |
11-Jul-2010 | "QR9": Rubik's cube inspired amateur crypto-algorithm |
07-Jul-2010 | About Oracle PL/SQL undocumented "interface" pragma. |
07-Jun-2010 | SAP license + password checking functions... |
07-Jun-2010 | Generic tracer 0.4 |
02-Jun-2010 | About SAP network packets decompressing and also SAP network password sniffing |
24-May-2010 | PEEKs and POKEs in Windows x64? |
15-Apr-2010 | My two oracle passwords crackers |
12-Mar-2010 | SAP |
06-Feb-2010 | Oracle RDBMS internal self-testing features |
30-Jan-2010 | Random Oracle hosts statistics |
26-Jan-2010 | Rendering data structures passed to functions as arguments |
22-Jan-2010 | Metasploit plugin based on CVE-2009-1979 |
22-Jan-2010 | CVE-2010-0071 |
20-Jan-2010 | My Oracle TNS Listener rootkit experiment |
19-Jan-2010 | My Oracle rootkit experiment |
15-Jan-2010 | More information about CVE-2009-1979 (CPUoct2009) |
24-Dec-2009 | Events checked in some major Oracle RDBMS versions |
24-Dec-2009 | Radiohead lyrics in Oracle RDBMS code |
22-Dec-2009 | Rare x86 instruction |
06-Dec-2009 | FPGA-based Oracle RDBMS passwords solver |
05-Dec-2009 | Generic tracer 0.3 |
30-Oct-2009 | CVE-2009-1979 PoC (CPUoct2009) |
05-Oct-2009 | Oracle RDBMS passwords solver |
24-Jul-2009 | CVE-2009-1970 PoC (CPUjul2009) |
24-Jul-2009 | CVE-2009-1963 PoC (CPUjul2009) |
24-Jul-2009 | CVE-2009-1019 PoC (CPUjul2009) |
24-Jul-2009 | CVE-2009-1020 PoC (CPUjul2009) |
21-May-2009 | Generic tracer |
21-Apr-2009 | CPUapr2009 |
02-Apr-2009 | IBM DB2 |
07-Jan-2009 | CHANGE USER OPI call |
04-Nov-2008 | Oracle SPY Events |
02-Oct-2008 | SYS_OP_* |
29-Sep-2008 | Oracle RDBMS 11.1.0.7.0 some internals info |
25-Sep-2008 | Basics of C within the Oracle kernel. |
04-Sep-2008 | Oracle internals |
30-Jul-2008 | Oracle SPY |
23-Jul-2008 | Intel(R) C++? |
13-Jul-2008 | Network trace in Oracle RDBMS |
13-Jul-2008 | malloc() comments |
13-Jul-2008 | Solving Oracle passwords hashes using FPGA. |
13-Jul-2008 | Evolution |
10-Jul-2008 | _disable_txn_alert undocumented parameter in Oracle 11g |
26-Jun-2008 | Oracle X$KSMLRU fixed table |
17-Feb-2008 | Oracle V$TIMER |
Feel free to translate them to other languages, except Russian, please!
Just ask me, I will prepare Russian version by myself.