вопрос насчет переполнении стэка

я создал функцию со стековой переменной.

            ;-- hello:
            0x00001169      f30f1efa       endbr64
            0x0000116d      55             push rbp
            0x0000116e      4889e5         mov rbp, rsp
            0x00001171      4883ec30       sub rsp, 0x30
            0x00001175      48897dd8       mov qword [rbp - 0x28], rdi
            0x00001179      8975d4         mov dword [rbp - 0x2c], esi
            0x0000117c      64488b042528.  mov rax, qword fs:[0x28]
            0x00001185      488945f8       mov qword [rbp - 8], rax
            0x00001189      31c0           xor eax, eax
            0x0000118b      488d4dee       lea rcx, [rbp - 0x12]
            0x0000118f      8b45e8         mov eax, dword [rbp - 0x18]
            0x00001192      baff000000     mov edx, 0xff
            0x00001197      4889ce         mov rsi, rcx
            0x0000119a      89c7           mov edi, eax
            0x0000119c      e8cffeffff     call sym.imp.read
            0x000011a1      90             nop
            0x000011a2      488b45f8       mov rax, qword [rbp - 8]
            0x000011a6      644833042528.  xor rax, qword fs:[0x28]
        ┌─< 0x000011af      7405           je 0x11b6
        │   0x000011b1      e8aafeffff     call sym.imp.__stack_chk_fail
        └─> 0x000011b6      c9             leave
            0x000011b7      c3             ret

я не могу понять как перейти в fs:[0x28] с помощью radare2. Как формируется случайное число в этом месте? Может ли помочь определить случайное число, если известно время компиляции программы?


Ответы (0 шт):