The Curious Engineer

All blogs / Reverse engineering

Dennis Yurichev

yurichev.com/blog

by Dennis Yurichev

Reverse engineeringSecurityMathAlgorithms / data structures

Posts
57 from 6 Dec 2010 to 25 Oct 2026
Posting
weekly (40 in the last year)
Kind
personal blog
Feed
https://yurichev.com/blog/rss.xml
Also at
https://yurichev.org/blog.html

2026 14

  1. Raw notes
  2. [Crypto] Communicating with TPM 2.0: the first step
  3. [Crypto] Time-based one-time password (TOTP) for 2FA, part II: YubiKey
  4. [Crypto] Time-based one-time password (TOTP) for 2FA, part I
  5. Unpacking a database of unknown type
  6. Amateur cryptography: decrypting TVT CCTV camera config files
  7. Cracking simple XOR cipher with simulated annealing, part II
  8. My new linkedin profile
  9. [SMT][Z3] Predicting Math.random() in Firefox using Z3 SMT-solver
  10. Hire an author/writer
  11. [Crypto] Toy SSH client in ~2k SLOC of Python, v6
  12. [Math][Pentesting] Password requirements are harmful. A password with required digit/special character may be weaker. Part II.
  13. [RevEng][CS] Fuzzy topological sorting
  14. IOCCC/mullender revisited, position-independent code, shellcode

2025 30

  1. Hunting for extremal Latin squares using MaxSAT solver
  2. [RevEng][x86][x64][C][newbies] Software reset in embedded devices
  3. Testing word counting code using KLEE and CBMC
  4. [Math] Intervals: examples of open intervals; fencepost errors
  5. [Math] Intervals: Apache Maven version numbers
  6. [Math] Intervals: examples of half-open intervals
  7. [Math] Intervals: examples of closed intervals
  8. [Pentesting][Math] Bruteforce passwords using cartesian product
  9. [Pentesting][Math] Finding masks for Hashcat using combinatorics
  10. What is MQTT (IoT, smart homes) --- an explanation under 120 lines or 1100 words
  11. [Math] Number of ways to insert 4 wires into 8-pin 8P8C Ethernet connector
  12. Flatten function/operation in functional programming
  13. [Unix][C] Similarities between Unix symlinks and C/C++ pointers/references
  14. [Pentesting] Dahua (CCTV cameras) auth
  15. [Pentesting] ONVIF (CCTV cameras) auth
  16. [Pentesting] RTSP (CCTV cameras) auth
  17. [Pentesting] HTTP auth, part III: rogue web-server
  18. [Pentesting] HTTP auth, part II: digest
  19. [Pentesting] HTTP auth, part I: basic
  20. [Pentesting] Passwords from Wikipedia
  21. [RevEng] Challenge: Ukrainian receipts: the solution
  22. [RevEng] Toy decompiler
  23. [Pentesting] Walking passwords, part II
  24. [Pentesting] The cost of cracking WPA2 (Wi-Fi) passwords in 2025
  25. Two more uses of information entropy metric
  26. Yet another XOR feature: a lamp turned on/off with several toggle switches
  27. Recovering/undeleting short deleted files in 50 SLOC of pure C, any filesystem supported.
  28. Linux kernel compressed files have some text strings
  29. Oracle zero-day vulnerability for sale
  30. [Crypto] Leaking IV in CBC mode

2019 6

  1. Yet another explanation of the Quicksort algorithm
  2. [Linux] Simplest possible snapshot-style backups using rsync
  3. Cracking simple XOR cipher with simulated annealing
  4. Packing students into dorm using simulated annealing
  5. Make shortest cables in your rack using simulated annealing
  6. Generating Malbolge code using simulated annealing

2018 1

  1. Worst sorting algorithm I ever saw: proving it using KLEE

2017 1

  1. Cracking simple LCG PRNG

2015 4

  1. Content-addressable storage
  2. Typeless programming languages (BCPL, B), C evolution and decompiling
  3. Fuzzy string matching + simplest possible spellchecking + hunting for typos and misspellings in Wikipedia
  4. Tweaking LLVM Obfuscator + quick look into some of LLVM internals

2010 1

  1. Making C compiler generate obfuscated code