Step return lets x86 target run freely if the first instruction after the return is `jmp`
Nessuno ha ancora preso questa issue.
- Lingua principale
- C++
- Stelle
- 331
- Fork
- 33
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
For the following code,
_start:
004012d5 call ___security_init_cookie
004012da jmp sub_401153
If I step into the function ___security_init_cookie, and then hit step return, the target will run freely, as if I send a Go command. There are several requirements for this issue:
- It must be an x86 binary
- The first instruction on the return address is an
jmp
Note, this is actually a windbg bug -- that I can reproduce it directly in windbg.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Reproduce the issue with the shown x86 call/jmp sequence by stepping into ___security_init_cookie and using step return. Trace the x86 step-return handling and compare its behavior with WinDbg. Done means step return stops at the expected return location instead of running freely when that location begins with jmp.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- devtools, reverse-engineering
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100