All articles

llm

Delegate Work to LLMs Smartly

LLMs are getting increasingly better at huge tasks, however, very often it forgets to do some basic steps in the process that would make the output significantly better. This short note contains my takeaway on how to "deterministically" force the LLM to strictly follow given instructions and how to decrease the amount of times when the LLMs go a different, unwanted path.

  • #llm
  • #pipeline
5 min read
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