Ви втратили вихідний код програми 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.
Код процедур: умови, цикли, виклики, присвоєння, звернення до елементів керування, відбудовані як читабельний Visual Basic, P-Code і нативний. Сторінка покриття вимірює, скільки це насправді, програма за програмою.
80%
проєктів перекомпільовуються у VB6 без правок
1 158 / 1 164
визначених інструкцій P-Code перекладено на Visual Basic
100%
форм і їхніх властивостей відновлюється в будь-якому разі
Що ніколи не повертається, ні в нас, ні в когось іншого: імена локальних змінних і коментарі, яких компілятор не зберіг. Відновлений код читається й компілюється; він не збігається з оригіналом слово в слово.
SETUP1.EXE
Перевірити може кожен: SETUP1.EXE
Програма Microsoft, вихідний код якої постачається з VB6: порівняти може кожен.
136 → 227
експортованих процедур, від покоління 1 до V7
22 / 24
випадково вибраних процедур, звірених із джерелом: V7 точніша
Коли проєкт відновлено
Він знову стає звичайним проєктом: ви відкриваєте, читаєте й супроводжуєте його в рідному IDE.
- Виправити помилку чи змінити бізнес-правило, а потім перекомпілювати
- Читати машинний код дизасемблерами x86 і P-Code, що входять до Standard
- Простежити програму від початку до кінця за графом викликів і перехресними посиланнями, у Professional
- Задокументувати застосунок, який ніхто вже не знав повністю
Як діяти, спершу безкоштовно
- 1
Відкрийте файл у безкоштовній редакції або завантажте в онлайн-студію без установлення. Ви побачите структуру проєкту, повні форми й попередній перегляд декомпільованого коду.
- 2
Судіть за фактами: попередній перегляд показує, що рушій відбудовує саме з вашого файлу, а не з прикладу. Якщо побачене варте ліцензії, беріть її; якщо ні, ви нічого не витратили.
- 3
З ліцензією експортуйте повний проєкт і відкрийте його знову у Visual Basic 6: близько 80 % проєктів перекомпільовуються без правок. Значення, яке бінарний файл не дозволяє встановити, стає викликом VBRF_ValeurInconnue(), який легко знайти пошуком.
Докладна стаття: як відрізнити P-Code від нативного і з чого почати
Скільки це коштує
Спробувати нічого не коштує. Ви платите, лише якщо те, що бачите на власному бінарному файлі, того варте.
Безкоштовна версія
Повні форми, структура проєкту й попередній перегляд коду
0 €
Standard
Повернути свій вихідний код
79 € за користувача
Professional
Standard плюс інструменти аналізу
229 € за користувача
Часті запитання
Яка різниця між P-Code і Native 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 % проєктів перекомпілюються без доопрацювань. Експорт записує заголовки, яких вимагає IDE (VERSION, Attribute VB_Name), без них VB6 відхиляє файл. Значення, яке не вдалося встановити, ніколи не вигадується: воно стає викликом VBRF_ValeurInconnue(), який VB6 приймає і який можна знайти пошуком. Те, чого немає в бінарному файлі, назване й пояснене в нотатках експорту.
Що робити, якщо декомпіляція не спрацює на моєму двійковому файлі?
Саме для цього призначена безкоштовна редакція: вона показує на ВАШОМУ файлі та до будь-якої покупки, що саме можна витягти — форми, ресурси, структуру проєкту. Ми завжди рекомендуємо спершу спробувати її. Оскільки ліцензії є цифровим контентом, який надається негайно, продаж є остаточним; якщо ви зіткнетеся з технічною проблемою, наша служба підтримки допоможе вам знайти рішення.
Чи зберігається мій файл?
Ваш бінарний файл не зберігається: його аналізують, а потім видаляють разом із сесією
Чи законно декомпілювати програму?
Так, якщо ви володієте правами на програмне забезпечення — типовий випадок — це реконструкція власного втраченого вихідного коду — або в межах правових рамок забезпечення сумісності. Ви повинні мати необхідні права на аналізовану програму.
Чи декомпілює VBReFormer .NET, VB.NET або C#?
Ні. VBReFormer працює з Visual Basic 5 і 6: .exe, .dll, .ocx і .scr. Для збірки .NET потрібен декомпілятор .NET; кілька з них ми порівнюємо в блозі.
Хочете, щоб ми зробили це за вас?
Ми відновлюємо проєкт із вашого файлу, відкриваємо його в IDE й передаємо готовим до супроводу, зі звітом про знайдене. Безкоштовна оцінка файлу перед будь-яким кошторисом.
Запросити безкоштовну оцінку
