Kysymys:
Rekonstruoi ohjaus-virtauskaavio x86-käskyjäljestä
Benny
2015-07-16 20:21:58 UTC
view on stackexchange narkive permalink

Voiko kukaan ehdottaa ilmaista ja mieluiten avoimen lähdekoodin ohjelmistotyökalua, joka pystyy rekonstruoimaan / rakentamaan / luomaan ohjausvirta-kaavion saman ohjelman x86-suoritusjälkien joukosta?

Löysin mielenkiintoinen paperi aiheesta. En kuitenkaan löytänyt niiden toteutusta.

Ehdotuksia arvostetaan. Kiitos!

Ei kaksoiskappale, mutta liittyy: [Luo puhelukaavio kokoonpano-ohjeille] (http://reverseengineering.stackexchange.com/questions/9001/generating-call-graph-for-ass kokoonpano-ohjeet)
Hei, voisitko päivittää linkin? Viite on kuollut.
@computereasy Molemmat linkit toimivat minulle
Voinko kysyä, millaista työkalua käytit x86-ohjeiden jäljittämiseen. Etsin työkalua, jolla voidaan tallentaa käynnissä olevan ohjelman ohjeet ja muistin muutokset. Kiitos paljon.
@NoraHuang yrititkö Intel PIN-koodia?
üks vastaus:
Ta Thanh Dinh
2015-07-17 04:48:53 UTC
view on stackexchange narkive permalink

Olen pahoillani tästä itse mainonnasta, mutta kehitän työkalua täällä. Lopullinen tavoitteeni on palauttaa virtualisoitujen binaarien alkuperäinen ohjaus vuokaavio. Mutta tässä vaiheessa visualisointia varten olen toteuttanut toiminnallisuuden rekonstruoida binäärien CFG jälkeistä. Tämän uudelleenrakennuksen pääasiallinen toteutus on tiedostossa src / lib / cap / graph.cpp , sillä ei ole ongelmia suorituskyvyssä rakentaa perus lohkokaavio noin 100 kt: n käskyistä (olen testannut hämärtyneet binäärit, joiden jäljet ​​ovat noin 300 kt: n ohjeet). Voit nähdä useita pdf-tiedostoja kansioissa demo ja results , olen luonut ne suoritusjäljistä.

Jos olet kiinnostunut, olen vastaamme mielellään kaikkiin muihin kysymyksiin.

Kiitos vastauksestasi. Projektisi näyttää erittäin mielenkiintoiselta ja haluaisin rakentaa ja leikkiä sen kanssa. Minulla on kuitenkin joitain ongelmia libprotobufin kanssa. Mitä versiota projektisi tarvitsee? Ubuntu 14.04: n mukana tuleva versio ei näytä olevan yhteensopiva.
Kiitos paljon mielenkiinnostasi, Benny. Arvostan sitä erittäin paljon. Itse asiassa sinun ei tarvitse protobufia koodin rakentamiseen. Protobufia käytetään instrumentointityökalun (Pin) ja konkolisen suoritusmoottorin väliseen viestintään, mutta moottoria ei ole julkaistu kokonaan, koska se ei ole tarpeeksi joustava ja sen suorituskyky on nyt melko huono. Joten olen muuttanut CMake-tiedostoa, jotta se voidaan rakentaa ilman protobufia, mitä virheitä saat tämän koodin rakentamisessa?
Kirjoitan yksinkertaisen asiakirjan, jossa kerrotaan, kuinka sitä käytetään, koska siinä on joitain epäselviä teknisiä yksityiskohtia. Mutta jos sinulla on kysyttävää, älä epäröi kysyä minulta.
Olen pahoillani Benny. Valitettavasti minun on suljettava projektio tämän aamun keskustelun jälkeen kollegojeni kanssa. Mielestäni tämä ei koske luottamuksellisuutta, mutta se ei vain ole sopiva hetki työkalun julkaisemiseen.
Ei hätää, pidä minut ajan tasalla, kun päätät julkaista projektin uudelleen. Kiitos!


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...