reverse-engineering

Memory Debugger in Practice

Building a memory debugger involves substituting memory functions such as malloc or free with our solution, which keeps track of allocated and freed memory while still calling the original function. This is achieved by changing the pointers to the functions in the Import Address Table to point to the substitutes. These notes summarize the complex structure of the Portable Executable (PE) file format, its headers, and the mechanisms used for dependency resolution and runtime manipulation (hooking).

  • #c
  • #win
  • #memory
  • #executable
11 min read
ctf

CTF | HÄKKSHOP

Wrong check of invitation codes, elevating privileges by triggering an error in the middle a function, wrong session handling (missing session invalidation logic).

  • #ctf
  • #php
  • #auth
  • #session
6 min read