Midv699 Full [repack] | 2026 |

Since "midv699" appears to be a file or code identifier (common in certain creative repositories) rather than a widely recognized public title, I have interpreted this request as a prompt to write a feature article based on the themes suggested by the filename structure (technology, obsolescence, and hidden data).

Here is a feature article based on that concept. midv699 full


6.2 Stage‑1: Leak puts address

We build the first ROP payload:

[padding (72)] 
pop rdi ; ret          -> address: 0x4014b3
<puts@got address>    -> 0x601028   (found via `readelf -r` or `objdump -R`)
puts@plt               -> 0x400670
pop rdi ; ret          -> 0x4014b3   (to set up argument for next read)
<main>                -> 0x4011f0   (restart the menu)

Explanation:

  1. Load the address of puts from the GOT into RDI (first argument to puts).
  2. Call puts@plt → prints the real address of puts from libc.
  3. Return to main so we can send a second payload (the actual shell‑spawn).

1. Challenge Overview

The binary is a simple interactive “menu” program that reads user input, performs a few checks, and then calls a vulnerable function. The source code is not provided, so we rely on reverse‑engineering. Since "midv699" appears to be a file or


Review: MIDV-699 Full

3.1 Basic ELF Information

$ file midv699-full
midv699-full: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped
$ checksec --file=midv699-full
[*] RELRO           : Partial RELRO
[*] Stack Canary    : No canary found
[*] NX              : Enabled
[*] PIE             : No PIE
[*] Fortify Source  : No

Key observations: