Decompiler לוקח כקלט קובץ הפעלה, ומנסה ליצור רמה גבוהה, קובץ compilable, אולי אפילו לתחזוקה מקור שעושה את אותו הדבר.
לכן ההפך ממהדר, שלוקח קובץ מקור והופך את הפעלה. עם זאת, Decompiler כללי אינו מנסה להפוך כל פעולה של ההידור, אלא הופך את תכנית הקלט שוב ושוב עד שהתוצאה היא קוד מקור ברמה גבוהה. לכן לא לשחזר את הקובץ המקורי; כנראה דבר כזה.
זה לא משנה אם יש לו את קובץ ההפעלה סימנים או לא, או שנאסף מכל שפה מסוימת. (עם זאת, שפות הצהרתית כמו ML אינן נחשבות.)
הכוונה היא ליצור Decompiler retargetable (כלומר אחד שיכול הידור סוגים שונים של קבצי קוד מכונה עם מאמץ צנוע, למשל X86-חלונות, SPARC-Solaris, וכו '). גם זה היה אמור להיות מאוד מודולרית, כך שחלקים שונים של ההידור יכולים להיות מוחלפים עם מודולים ניסיוניים. זה נועד להיות סופו של הדבר אינטראקטיבי, לה IDA Pro, בגלל כמה דברים (לא רק שמות והערות משתנים, אך הן ללא ספק חשובים מאוד) דורש התערבות מומחה. אם האינטראקטיביות שייכת בהידור או בכלי נפרד עדיין לא ברור.
על ידי הפיכת הסמנטיקה של הוראות אישיות, ותוך שימוש בטכניקות רבות עוצמה כגון ניתוח dataflow ההקצאה יחיד סטטי, בומרנג צריך להיות (במידה רבה) עצמאי של ההתנהגות של המהדר שקרה לשימוש המדויק. אופטימיזציה לא צריכה להשפיע על התוצאות. לפיכך, המטרה היא Decompiler כללית.
מגבלות:
· במקרה שאתה רוצה לנסות בומרנג כפי שהוא כהידור (בניגוד לניסויים עם זה, או לשפר אותו), להיות מודע למגבלות החמורות שלה. נכון לתחילת 2004, בומרנג יהיה רק הידור X86 (לינוקס / X86 או Windows PE), SPARC (Solaris, או להניח לינוקס / SPARC), או כוח למחשב אישי (לינוקס / PPC או Mac OS / X) תוכניות. בפרט, שימו לב שזה לא הידור תוכניות DOS או NE (Windows 3.1). הוספת מעבד נוסף היא התחייבות גדולה (כמה חודשים).
· זה רק יפיק C, C ++ לא. זה הידור C ++ תוכניות כמובן, (וכל מיני תוכניות, כוללים מאסף). ייתכן שתוכל למסור לערוך C ++ תוכניות מסוימות לקוד מקור לשימוש C ++. לתוכניות MSVC הידור, בהווה יש לך spoonfeed Decompiler ואומר לו שיש פרמטר אחד מרשם (thiscall אמנה קוראת). המתגים להתמודד עם זה הוא מורכב; לראות באמצעות מתג -sf.
פרטי תוכנה:
תגובות לא נמצא