Ang isang decompiler tumatagal ng input ng isang executable file, at mga pagtatangka upang lumikha ng isang mataas na antas, compilable, marahil kahit maintainable source file na gumagana ang parehong bagay.
Ito ay samakatuwid ay ang kabaligtaran ng isang tagatala, na kumukuha ng isang source file at gumagawa ng isang executable. Gayunman, ang isang pangkalahatang decompiler ay hindi pagtatangka upang baligtarin ang bawat aksyon ng decompiler, sa halip ito nakapagpapabago ng input program paulit-ulit hanggang ang resulta ay source code ng mataas na antas. Ito kaya ay hindi muling likhain ang orihinal na pinagmulan ng file; marahil walang katulad nito.
Hindi mahalaga kung ang mga maipapatupad na file ay may simbolo o hindi, o ay naipon mula sa anumang partikular na wika. (Gayunpaman, paturol wika tulad ng ML ay hindi itinuturing na.)
Ang layunin ay upang lumikha ng isang retargetable decompiler (ie ang isa na maaaring i-decompile ang iba't ibang uri ng mga file ng machine code sa katamtaman na pagsisikap, hal X86-bintana, sparc-Solaris, atbp). Ito ay inilaan upang maging lubhang modular, kaya na iba't ibang bahagi ng decompiler maaaring mapalitan ng experimental modules. Ito ay inilaan sa huli ay naging interactive, a la Ida Pro, dahil ang ilang mga bagay-bagay (mga pangalan ng variable at mga komento hindi lamang, kahit na ang mga ito ay malinaw naman tunay na mahalaga) nangangailangan ng ekspertong interbensyon. Kung ang interactivity aari sa decompiler o sa isang hiwalay na kasangkapan nananatiling hindi maliwanag.
Sa pamamagitan ng pagbabago ng mga semantics ng mga indibidwal na mga tagubilin, at paggamit ng malakas na mga pamamaraan tulad ng Static pagtatasa Pagtatalaga dataflow Single, Boomerang dapat (higit sa lahat) independiyenteng ng eksaktong pag-uugali ng compiler na nangyari na gagamitin. Optimisation hindi dapat makakaapekto sa mga resulta. Samakatuwid, ang layunin ay isang pangkalahatang decompiler.
Limitasyon:
· Sa kaso na gusto mong subukan ang Boomerang bilang na ito ay bilang decompiler (bilang laban sa eksperimento sa mga ito, o pagpapabuti sa mga ito), magkaroon ng kamalayan ng kanyang matinding limitasyon. Bilang ng maagang 2004, Boomerang ay tanging decompile X86 (Linux / X86 o Windows PE), SPARC (Solaris, o baka Linux / SPARC), o Power PC (Linux / PPC o Mac OS / X) programs. Sa partikular, tandaan na hindi ito ay decompile dos o NE (Windows 3.1) programs. Pagdaragdag ng isa pang processor ay isang malaking (ilang buwan) pangako.
· Ito ay bubuo lamang C, hindi C ++. Ito decompile C ++ programs of course, (at anumang uri ng mga programa, kabilang ang assembler). Maaari mong ma-mano-edit ang ilang mga C ++ programs sa nagagamit ++ source code C. Para MSVC naipon programa, sa kasalukuyan ay mayroon kang upang spoonfeed ang decompiler at sabihin ito na may isa register parameter (thiscall convention pagtawag). Ang switch upang hawakan ito ay mahirap unawain; tingnan gamit ang -sf lumipat.
Mga detalye ng Software:
Bersyon: alpha 0.3
I-upload ang petsa: 3 Jun 15
Lisensya: Libre
Katanyagan: 182
Mga Komento hindi natagpuan