Decompiler-VB.Net
IL
התחברות
VBReFormer Gen2 מנוע שנכתב מחדש מאפס, P-Code מלא, והסטודיו המקוון בבטא ציבורית. לקריאת ההודעה →
קוד מקור שאבד

איבדתם את קוד המקור של יישום VB6. הנה מה שניתן לשחזר.

דיסק שמת, מפתח שעזב, גיבוי של גרסה ישנה מדי: נותרה רק התוכנית המקומפלת. דקומפיילר VB6 מפיק ממנה הרבה יותר ממה שאנשים מצפים, ופחות מהכול. עמוד זה אומר מה בדיוק, לפני שתתקינו משהו.

VBReFormer Pro (Gen2) — קוד VB6
קוד VB6 הגדלה

מכירים את אחד המצבים האלה?

הדיסק קרס

מחשב הפיתוח הלך, אבל קובץ ה-EXE עדיין רץ אצל המשתמשים.

המפתח עזב

הוא לקח את הפרויקט איתו, או שאיש אינו יודע איפה שמר אותו.

הספק נעלם

החברה שכתבה את היישום כבר לא קיימת, וקוד המקור מעולם לא נמסר.

הגיבוי ישן מדי

קוד המקור שנמצא כבר אינו תואם לגרסה שרצה בייצור.

מה נדרש

הקובץ המהודר בלבד: קובץ ‎.exe,‏ ‎.dll,‏ ‎.ocx או ‎.scr שנוצר ב-Visual Basic 5 או 6. שום דבר אחר. אין צורך לדעת אם הוא הודר ל-P-Code או לקוד מקורי: VBReFormer מזהה זאת ומטפל בשניהם.

  • פירוק P-Code, ‏VB5 ו-VB6
  • פירוק קוד מקורי x86, ‏VB5 ו-VB6
  • קבצים בינאריים שנדחסו ב-UPX: נפרסים בלי שיורצו
  • ואחר כך ASPack,‏ MPRESS ו-PECompact בקרוב

מה חוזר

טפסים ופקדים, עם כל המאפיינים שלהם, כולל תמונות: במלואם, בכל מקרה.

משאבים, מחרוזות, הפניות לספריות ולפקדי צד שלישי, מבנה הפרויקט: קובץ .vbp שנפתח מחדש ב-IDE.

VBReFormer Pro (Gen2) — משטח העיצוב
משטח העיצוב הגדלה

קוד הפרוצדורות: תנאים, לולאות, קריאות, השמות, גישה לפקדים, שנבנה מחדש כ-Visual Basic קריא, P-Code ונייטיב כאחד. עמוד הכיסוי מודד למה זה מסתכם, תוכנית אחר תוכנית.

VBReFormer Pro (Gen2) — טיפוסים ו-API
טיפוסים ו-API הגדלה

80%

מהפרויקטים מהודרים מחדש ב-VB6 ללא שינוי

1,158 / 1,164

הוראות P-Code מוגדרות מתורגמות ל-Visual Basic

100%

מהטפסים ומהמאפיינים שלהם משוחזרים בכל מקרה

מה שלעולם לא חוזר, אצלנו או אצל כל אחד אחר: שמות משתנים מקומיים והערות, שהקומפיילר לא שמר. הקוד המשוחזר קריא וניתן לקמפל אותו מחדש; הוא אינו תואם למקור מילה במילה.

כמה קוד חוזר, נמדד על 207 תוכניות

SETUP1.EXE

כל אחד יכול לבדוק: SETUP1.EXE

תוכנה של Microsoft שקוד המקור שלה מגיע עם VB6: כל אחד יכול להשוות.

136 → 227

פרוצדורות שיוצאו, מדור 1 ל-V7

22 / 24

פרוצדורות שנבחרו באקראי ונקראו מול המקור: V7 נאמנה יותר

אחרי שהפרויקט שוחזר

הוא חוזר להיות פרויקט רגיל: פותחים, קוראים ומתחזקים אותו בסביבת הפיתוח המקורית.

  • לתקן באג או לשנות כלל עסקי, ואז להדר מחדש
  • לקרוא את קוד המכונה עם מפרקי x86 ו-P-Code, הכלולים ב-Standard
  • לעקוב אחרי התוכנית מקצה לקצה עם גרף הקריאות וההפניות הצולבות, ב-Professional
  • לתעד יישום שאיש כבר לא הכיר במלואו
VBReFormer Pro (Gen2) — גרף קריאות
גרף קריאות הגדלה

איך להתקדם, בחינם תחילה

  1. 1

    פתחו את הקובץ הבינארי בגרסה החינמית, או גררו אותו לסטודיו המקוון ללא צורך בהתקנה. תראו את מבנה הפרויקט, את הטפסים המלאים ותצוגה מקדימה של הקוד לאחר הדקומפילציה.

  2. 2

    שפטו על סמך ראיות: התצוגה המקדימה מציגה את מה שהמנוע בונה מחדש מהקובץ הבינארי שלכם, לא מדוגמה. אם מה שאתם רואים שווה את הרישיון, קחו אותו; אם לא, לא הוצאתם דבר.

  3. 3

    עם הרישיון, ייצאו את הפרויקט המלא ופתחו אותו מחדש ב-Visual Basic 6: כ-80% מהפרויקטים מהודרים מחדש ללא שינוי. ערך שהקובץ הבינארי אינו מאפשר לקבוע הופך לקריאה ל-VBRF_ValeurInconnue()‎, שאותה מוצאים בחיפוש.

המאמר המפורט: איך להבחין בין P-Code לנייטיב, ומאיפה להתחיל

כמה זה עולה

הניסיון בחינם. משלמים רק אם מה שרואים על הקובץ הבינארי שלכם שווה זאת.

מהדורה חינמית

טפסים מלאים, מבנה הפרויקט ותצוגה מקדימה של הקוד

0 €

מומלץ

Standard

להחזיר את קוד המקור שלכם

79 € למשתמש

Professional

Standard בתוספת כלי הניתוח

229 € למשתמש

לרישיונות ולמחירים

שאלות נפוצות

מה ההבדל בין P-Code לקוד נייטיב?

VB6 מקמפל או ל-P-Code (פסאודו-קוד שמורץ על ידי המכונה הווירטואלית) או לקוד נייטיב (הוראות מכונה x86, הגדרת ברירת המחדל). החל מדור 2 (VBReFormer 7), אותו מנוע מבצע דקומפילציה של שניהם ל-Visual Basic קריא: 1,158 מתוך 1,164 הוראות ה-P-Code המוגדרות מתורגמות, מדידה שפורסמה בדף הכיסוי. הדור הקודם שחזר קוד נייטיב בלבד.

מה משוחזר מקובץ הרצה, ומה אבוד לתמיד?

כל מה ש-Visual Basic זקוק לו בזמן הריצה נמצא בקובץ וחוזר: שמות של טפסים, מחלקות, מודולים ופקדים, מטפלי אירועים, חברי מחלקה ציבוריים, מאפייני ממשק, קריאות runtime, הצהרות API. מה שהקומפיילר זרק אינו ניתן לשחזור, בשום כלי: הערות, שמות של משתנים מקומיים ופרמטרים, קבועים בעלי שם שהוחלפו בערכם, ושמות הפרוצדורות במודולי .bas. בממוצע, 90% מקוד המקור משוחזר; מה שחסר מסתכם באותם רכיבים, שאינם בקובץ.

האם הקוד המשוחזר מתקמפל מחדש ב-IDE של Visual Basic 6?

כן: בפועל, כ-80% מהפרויקטים עוברים הידור מחדש ללא תיקונים. הייצוא כותב את הכותרות שהסביבה דורשת (VERSION, Attribute VB_Name), שבלעדיהן VB6 דוחה את הקובץ. ערך שלא ניתן היה לקבוע לעולם אינו מומצא: הוא הופך לקריאה ל-VBRF_ValeurInconnue(), ש-VB6 מקבל ושאפשר למצוא בחיפוש. מה שאינו נמצא בקובץ הבינארי מצוין ומנומק בהערות הייצוא.

מה אם הדקומפילציה לא עובדת על הקובץ הבינארי שלי?

בדיוק לשם כך קיימת הגרסה החינמית: היא מראה לכם, על הקובץ שלכם ולפני כל רכישה, מה ניתן לחלץ — טפסים, משאבים, מבנה הפרויקט. אנחנו תמיד ממליצים לנסות אותה קודם. מאחר שרישיונות הם תוכן דיגיטלי המסופק מיידית, המכירות סופיות; אם תיתקלו בבעיה טכנית, צוות התמיכה שלנו יעבוד איתכם על פתרון.

האם הקובץ שלי נשמר?

הקובץ הבינארי שלכם אינו נשמר: הוא מנותח ואז נמחק עם ההפעלה

האם חוקי לבצע דקומפילציה של תוכנית?

כן, כאשר הזכויות על התוכנה בידיכם — המקרה הטיפוסי הוא שחזור קוד מקור אבוד שלכם — או במסגרת החוקית של יכולת פעולה הדדית. עליכם להחזיק בזכויות הנדרשות על התוכנית המנותחת.

האם VBReFormer מבצע דקומפילציה של .NET, VB.NET או C#?

לא. VBReFormer מטפל ב-Visual Basic 5 ו-6: .exe, .dll, .ocx ו-.scr. עבור assembly של .NET נדרש דקומפיילר .NET; אנחנו משווים כמה מהם בבלוג.

מעדיפים שנעשה זאת בשבילכם?

אנו משחזרים את הפרויקט מהקובץ הבינארי שלכם, פותחים אותו מחדש ב-IDE ומוסרים אותו מוכן לתחזוקה, עם דוח על מה שנמצא. הערכה חינמית של הקובץ הבינארי לפני כל הצעת מחיר.

בקשו הערכה חינמית
VBReFormer Pro (Gen2) — קוד VB6
VBReFormer Pro (Gen2) — טיפוסים ו-API
VBReFormer Pro (Gen2) — משטח העיצוב
VBReFormer Pro (Gen2) — גרף קריאות