Over the past few years, I've observed that many technical posts and writeups tend to focus heavily on the results and intricate details, often overlooking the importance of conveying the underlying knowledge and approaches.
I believe that understanding how different people tackle the same problem is of great value. Therefore, this site aims to fill that gap by not only presenting the outcomes but also showing the thought processes, methodologies, and strategies used to reach those results. In hope that someday, some poor soul in their never-ending search for answers stumbles upon this blog and finds it helpful.
Or so the plan, at least...
│ │ │ │
│ ┌─────────────────────────────────────────────────────────┐
│ │ 0xd3b6b │
│ │ ; CODE XREFS from fcn.000d3a40 @ 0xd3bc1(x), 0xd3bfb(x) │
│ │ mov edi, dword [var_14h] │
│ │ mov rsi, qword [rbx] │
│ │ mov rdx, r12 │
│ │ call fcn.000d3a40;[oh] │
│ │ ; int64_t arg1 │
│ │ mov rdi, r12 │
│ │ call sym.xfree;[od] │
│ │ jmp 0xd3ae0 │
│ └─────────────────────────────────────────────────────────┘
│ v
│ │
│ ┌┘
│────────┐
└──────────┐
│ │ │
┌─────────────────────────────────────────────────────────┐
│ 0xd3ae0 │
│ ; CODE XREFS from fcn.000d3a40 @ 0xd3a7a(x), 0xd3b82(x) │
│ add r14d, 1 │
│ add rbx, 0x10 │
│ cmp r14d, 0x101 │
│ je 0xd3c19 │
└─────────────────────────────────────────────────────────┘
f t
│ │