Ensimmäinen asia radare2: n kanssa on varmistaa, että käytössäsi on uusin git-versio.
Saadaksesi apua radare2: n komennoista, voit käyttää ?
-merkki. Jos tarvitset apua määritysmuuttujista, voit käyttää e ??
(koska e?
antaisi apua niiden käyttämisessä, ei luettelossa). Koska muuttujia on paljon, voit suodattaa ne sisäisellä grep-komennolla: ~
.
[0x00000000]> e ?? dbg dbg.args: Aseta ohjelman argit vianetsintää dbg.backend: Valitse virheenkorjausohjelman taustakuva dbg.bep: break on entrypoint (loader, entry, constructor, main) dbg.bpinmaps: Pakota katkaisupisteet olevan kelvollisen kartan sisällä dbg.bpsize: Ohjelmiston katkaisupisteiden koko dbg.btalgo: Valitse taaksepäin seuraamisen algoritmi dbg.btdepth: taaksepäin johtamisen syvyys dbg.clone: Pysäytä suoritus, jos uusi ketju luodaan dbg.execs: Lopeta suoritus, jos uusi säie luodaan dbg.follow: Seuraa ohjelmalaskuria, kun pc> core-> offset + dbg.follow dbg.forks: Pysäytä suoritus, jos haarukka () on tehty (katso dbg.threads) dbg.libs: Jos asetettu pysäytetään ladattaessa vastaavaa libname dbg.profile: Polku RRunProfile-tiedostoon dbg.shallow_trace: Vältä seurannan aikana seuraavien puheluiden määrittämisen ulkopuolella dbg.slow: Näytä pino ja regit visuaalisesti tila hitaassa mutta tarkassa tilassa dbg.status: Aseta cmd.prompt arvoksi '.dr *' tai '.dr *; drd; sr PC; pi 1; s-' dbg.swstep: Pakota ohjelmistovaiheiden käyttö (koodianalyysi) + katkaisupiste) dbg.threads: Pysäytä kaikki ketjut, kun virheenkorjain katkeaa (katso dbg.forks) dbg.trace: Seuraa ohjelman suoritusta (katso asm.trace) dbg.trace.tag: Seurantatunniste dbg.unlibs: Jos asetettu pysäytetään, kun puretaan vastaavia libname [0x00000000]>
Voit myös käyttää e dbg.<tab>
, koska automaattinen täydennys on olemassa.
Etsimäsi variale on tietysti dbg.fork
, jotta se olisi tosi: tämä pysäyttää prosessin, kun se kohtaa haarukan ()
. Voit muuttaa pid pidikkeellä d
-command:
[0x00000000]> d? ~ -Prosessilla | dH [käsittelijä] Siirtoprosessi uudelle käsittelijälle | tee avoin prosessi (lataa, aliakseksi 'oo') | dp [?] Luettelo, liitä prosessi- tai ketjutunnukseen | dx [?] Ruiskuta ja suorita koodi kohdeprosessissa (katso gs) [0x00000000]> dp? | Käyttö: dp # Prosessikomennot | dp Luettele nykyiset pid ja lapset | dp Luettele pid: n lapset dp * Luettele kaikki liitettävät pidit | dp = Valitse pid | dp- Dettach select pid | dpa Liitä ja valitse pid | dpe Näytä suoritettavan tiedoston polku | dpf Liitä pid-tyyppiseen tiedostoon fd // HACK | dpk Lähetä signaali prosessoitavaksi | dpn Luo uusi prosessi (haarukka) | dpnt Luo uusi ketju (klooni) | dpt Luettelo nykyisen pid | dpt Luettele prosessin säikeet | dpt = Liitä ketjuun [0x00000000]