Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #17720

K

Keyhan Vakil

Personal blog · kvakil.me · on HN as kvakilprogrammingsecurity

Keyhan Vakil's personal blog at kvakil.me covers programming and security. Since 2018, 4 different Hacker News readers have linked it 5 times, most often “Ropchain”. The last post was in 2023, but the archive is still widely read.

Visit the blog
5mentions?
4HN people?
2018–2023first – last linked?
Links on Hacker News per year · peak 3 in 2023

Too few sampled comments (1) to say how often HN recommends it.?

Why HN links it

HN readers link this blog for a post on optimizing mprotect, which explains how to make memory writable and executable. One commenter calls it a good link that explains the approach.

Summarised by Claude from a sample of 1 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

The author on HN?

kvakil · 69 karma · member since 2017

https://kvakil.me/

From their public HN profile, which links to this site.

Most-linked posts?

  1. Ropchain
    2 people · 2 mentions · first linked 2018-01-02

What Hacker News says?

  1. This looks like a nice variety of challenges! I've always found constructing ROP chains extremely satisfying, even more than regular exploit development. As a plug, I wrote a blog post solving a similar exercise using a ROP chain: http://www.kvakil.me/posts/ropchain/ . It looks pretty similar to the pivot challenge here.

    Comment linking /posts/ropchain/

    on “ROP Emporium: Learn return-oriented programming through a series of challenges”
  2. Submitted Ropchain as a story · 20 points

    HN discussion
  3. silasb · 2023-11-19Recommends
    Can't you use `mprotect` to allow you to write to memory and execute? https://github.com/Frodox/execute-machine-code-from-memory/t... has several examples of how to do it. EDIT: https://www.kvakil.me/posts/2022-10-13-optimizing-mprotect-i... is another good link that explains this.

    Comment linking /posts/2022-10-13-optimizing-mprotect-in-luajit-with-pkeys.html

    on “LMAX Disruptor – High Performance Inter-Thread Messaging Library”
  4. Submitted Blocking AI-related articles on Hacker News as a story · 3 points

    HN discussion
  5. wow, this is impressive. I wrote a similar x86-16 assembler in < 512 B of x86-16 assembly, and this seems much more difficult < https://github.com/kvakil/0asm/ >. I did find a lot of similar tricks were helpful: using gadgets and hashes. Once trick I don't see in sectorc which shaved quite a bit off of 0asm was self-modifying code, which 0asm uses to "change" to the second-pass of the assembler. (I wrote some other…

    Comment linking /posts/asmkoan.html

    on “SectorC: A C Compiler in 512 bytes”

Search all of HN for kvakil.me