summaryrefslogtreecommitdiffstats
path: root/docs/writeups/angstromCTF_2022/baby3.txt
blob: 2c1d3a78d5e061253199695887137e004f3545f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
This program doesn't do anything.

Category:       re (40 points)
Chall author:   preterite
Writeup author: malfurious



As described, this challenge offers an ELF binary that has no observable effect
when run.  However, disassembly of its main function shows the flag string
being constructed in memory via several mov instructions.  Of course, the flag
is not read before returning.

     0x00001139      55             push rbp
     0x0000113a      4889e5         mov rbp, rsp
     0x0000113d      4883ec40       sub rsp, 0x40
     0x00001141      64488b042528.  mov rax, qword fs:[0x28]
     0x0000114a      488945f8       mov qword [canary], rax
     0x0000114e      31c0           xor eax, eax
     0x00001150      48b861637466.  movabs rax, 0x686d657b66746361 ; 'actf{emh'
     0x0000115a      48ba70616964.  movabs rdx, 0x657a656d64696170 ; 'paidmeze'
     0x00001164      488945c0       mov qword [var_40h], rax
     0x00001168      488955c8       mov qword [var_38h], rdx
     0x0000116c      48b8726f646f.  movabs rax, 0x72616c6c6f646f72 ; 'rodollar'
     0x00001176      48ba73746f6d.  movabs rdx, 0x74656b616d6f7473 ; 'stomaket'
     0x00001180      488945d0       mov qword [var_30h], rax
     0x00001184      488955d8       mov qword [var_28h], rdx
     0x00001188      48b868697363.  movabs rax, 0x6c6c616863736968 ; 'hischall'
     0x00001192      48ba656e6765.  movabs rdx, 0x6f6d615f65676e65 ; 'enge_amo'
     0x0000119c      488945e0       mov qword [var_20h], rax
     0x000011a0      488955e8       mov qword [var_18h], rdx
     0x000011a4      c745f0677573.  mov dword [var_10h], 0x7d737567 ; 'gus}'
     0x000011ab      c645f400       mov byte [var_ch], 0
     0x000011af      b800000000     mov eax, 0
     0x000011b4      488b55f8       mov rdx, qword [canary]
     0x000011b8      64482b142528.  sub rdx, qword fs:[0x28]
 ┌─< 0x000011c1      7405           je 0x11c8
 │   0x000011c3      e868feffff     call sym.imp.__stack_chk_fail ; void __stack_chk_fail(void)
 │   ; CODE XREF from main @ 0x11c1
 └─> 0x000011c8      c9             leave
     0x000011c9      c3             ret

actf{emhpaidmezerodollarstomakethischallenge_amogus}