decompiler ottaa syötteenä suoritettavaa tiedostoa, ja yrittää luoda korkeatasoinen, compilable, mahdollisesti jopa ylläpidettävät lähdetiedoston että ei sama asia.
Siksi on vastakohta kääntäjä, joka vie lähdetiedoston ja tekee executable. Kuitenkin yleinen Decompiler ei yritä kääntää jokainen toiminnan Decompiler, vaan se muuttaa panos ohjelman, kunnes tulos on korkea lähdekoodia. Sen vuoksi ei luoda uudelleen alkuperäisen lähdetiedoston; varmaan mitään sen kaltaista.
Sillä ei ole väliä, jos suoritettava tiedosto on symboleja tai ei, tai se on koottu tiettyä kieltä. (Kuitenkin deklaratiivista kieliä kuten ML ei pidetä.)
Tarkoituksena on luoda retargetable Decompiler (eli yksi, joka voi purkaa erilaisia koneen koodia tiedostoja vaatimaton vaivaa, esimerkiksi X86-ikkunat, sparc-Solaris, jne). Se oli myös tarkoitus olla hyvin modulaarinen siten, että eri osat decompiler voidaan korvata kokeellisen moduulit. Sen oli tarkoitus lopulta interaktiivinen, la IDA Pro, koska jotkut asiat (ei pelkästään muuttujien nimet ja kommentit, vaikka nämä ovat tietenkin erittäin tärkeitä) vaativat asiantuntijan väliintuloa. Onko vuorovaikutteisuus kuuluu decompiler tai erillistä työkalua edelleen epäselvä.
Muuttamalla semantiikkaa yksittäisten ohjeet, ja käyttämällä tehokkaita tekniikoita, kuten Static Yhden Tehtävä dataflow analyysin, Boomerang on oltava (pääosin) riippumaton tarkka käyttäytymistä kääntäjä, joka tapahtui käytettäväksi. Optimointi ei pitäisi vaikuttaa tuloksiin. Näin ollen tavoitteena on yleinen Decompiler.
Rajoitukset:
· Jos haluat kokeilla Boomerang, koska se on kuin Decompiler (toisin kuin kokeilevat sitä, tai parantaa sitä), olla tietoisia sen vakavia rajoituksia. Vuodesta 2004 alussa, Boomerang toimii vain hajottaa X86 (Linux / X86 tai Windows PE), SPARC (Solaris, tai oletettavasti Linux / SPARC), tai Power PC (Linux / PPC tai Mac OS / X) ohjelmia. Huomaa erityisesti, että se ei purkaa DOS tai NE (Windows 3.1) ohjelmia. Lisätään toinen prosessori on suuri (useita kuukaudessa) yritystä.
· Se vain tuottaa C, ei C ++. Se purkaa C ++ ohjelmia tietenkin (ja kaikki monenlaisia ohjelmia, kuten kokoajan). Saatat pystyä käsi muokata joitakin C ++ ohjelmien käyttökelpoiseksi C ++ lähdekoodin. Saat MSVC koottu ohjelmia, tällä hetkellä sinun täytyy spoonfeed decompiler ja kertoa se, että on olemassa yksi rekisteri parametri (thiscall calling yleissopimus). Kytkimet käsitellä tätä ovat monimutkaisia; katso käyttävät -sf kytkintä.
Ohjelmiston tiedot:
Versio: alpha 0.3
Lähetyksen päivämäärä: 3 Jun 15
Lupa: Vapaa
Suosio: 182
Kommentteja ei löytynyt