'n Decompiler neem as invoer 'n uitvoerbare lêer en probeer om 'n hoë vlak, compilable, moontlik selfs onderhou bron lêer wat dieselfde ding doen skep.
Dit is dus die teenoorgestelde van 'n samesteller, wat 'n bron lêer neem en maak 'n uitvoerbare. Egter 'n algemene Decompiler nie probeer om elke aksie van die Decompiler te keer, maar eerder dit verander die insette program herhaaldelik totdat die resultaat is 'n hoë vlak bronkode. Dit sal dus nie die oorspronklike bron lêer te herskep; waarskynlik niks soos dit.
Dit maak nie saak of die uitvoerbare lêer simbole of nie, of is saamgestel uit 'n bepaalde taal. (Maar verklarende tale soos ML is nie oorweeg nie.)
Die oogmerk is om 'n retargetable Decompiler (dws een wat verskillende tipes van die masjien-kode lêers kan afbreek met 'n beskeie poging, bv X86-vensters, sparc-solaris, ens) te skep. Dit is ook bedoel hoogs modulêre te wees, sodat die verskillende dele van die Decompiler kan vervang word met eksperimentele modules. Dit was bedoel om uiteindelik interaktiewe geword, 'n la IDA Pro, want 'n paar dinge (nie net veranderlike name en kommentaar, al hierdie is natuurlik baie belangrik) vereis deskundige intervensie. Of die interaktiwiteit behoort in die Decompiler of in 'n aparte instrument bly onduidelik.
Deur die transformasie van die semantiek van individuele opdragte, en met 'n kragtige tegnieke soos statiese Enkellopend Opdrag datastroom analise, moet Boomerang wees (grootliks) onafhanklik van die presiese gedrag van die samesteller wat gebeur om gebruik te word. Optimisation moet raak nie die resultate. Vandaar die doel is 'n algemene Decompiler.
Beperkings:
· In die geval wat jy wil om te probeer Boomerang soos dit is as 'n Decompiler (teenoor eksperimenteer met dit, of om dit te verbeter), bewus te wees van die ernstige beperkinge. Soos van vroeë 2004, sal Boomerang net afbreek X86 (Linux / X86 of Windows PE), SPARC (Solaris, of vermoedelik Linux / SPARC), of Power PC (Linux / PPC of Mac OS / X) programme. In die besonder, daarop dat dit nie DOS of NE (Windows 3.1) programme sal afbreek. 'N ander verwerker te voeg is 'n groot ('n paar maande) onderneming.
· Dit sal slegs genereer C, C ++ nie. Dit sal afbreek C ++ programme natuurlik (en enige vorme van programme, insluitende assembler). Jy mag in staat wees om aan die hand paar C ++ programme in bruikbare C ++ bronkode wysig. Vir MSVC saamgestel programme, op die oomblik het jy die Decompiler spoonfeed en vertel dat daar een register parameter (thiscall roeping konvensie). Die skakelaars om te hanteer hierdie is kompleks; sien die gebruik van die -sf skakelaar.
Sagteware besonderhede:
Weergawe: alpha 0.3
Upload datum: 3 Jun 15
Lisensie: Gratis
Populariteit: 182
Kommentaar nie gevind