Vector35 / Vector35/debugger

Step return lets x86 target run freely if the first instruction after the return is `jmp`

Aperta
#421 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug DbgEng Adapter functionality Impact: Medium
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:

  1. It must be an x86 binary
  2. 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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.