Utraciłeś kod źródłowy aplikacji VB6. Oto, co da się odzyskać.
Padnięty dysk, programista odszedł, kopia zbyt starej wersji: został tylko skompilowany program. Dekompilator VB6 wyciąga z niego znacznie więcej, niż się sądzi, i mniej niż wszystko. Ta strona mówi, co dokładnie, zanim cokolwiek zainstalujesz.
Czy to Twoja sytuacja?
Dysk uległ awarii
Komputer deweloperski nie działa, ale plik EXE wciąż pracuje u użytkowników.
Programista odszedł
Zabrał projekt ze sobą albo nikt nie wie, gdzie go trzymał.
Wykonawca zniknął
Firma, która napisała aplikację, już nie istnieje, a kod źródłowy nigdy nie został przekazany.
Kopia zapasowa jest zbyt stara
Odnaleziony kod źródłowy nie odpowiada już wersji działającej produkcyjnie.
Czego potrzebujesz
Skompilowany plik: .exe, .dll, .ocx lub .scr utworzony przez Visual Basic 5 lub 6. Nic więcej. Nie musisz wiedzieć, czy skompilowano go do P-Code, czy do kodu natywnego: VBReFormer to wykrywa i obsługuje oba.
- Dekompilacja P-Code, VB5 i VB6
- Dekompilacja natywnego kodu x86, VB5 i VB6
- Pliki spakowane UPX: rozpakowywane bez uruchamiania
- Następnie ASPack, MPRESS i PECompact Wkrótce
Co wraca
Formularze i kontrolki ze wszystkimi właściwościami, łącznie z obrazami: w całości, w każdym przypadku.
Zasoby, ciągi znaków, odwołania do bibliotek i kontrolek innych firm, struktura projektu: plik .vbp otwierany w IDE.
Kod procedur: warunki, pętle, wywołania, przypisania, dostęp do kontrolek, odbudowane jako czytelny Visual Basic, P-Code i natywny. Strona pokrycia mierzy, ile to daje, program po programie.
80%
projektów kompiluje się ponownie w VB6 bez poprawek
1 158 / 1 164
zdefiniowanych instrukcji P-Code przetłumaczonych na Visual Basic
100%
formularzy i ich właściwości odzyskanych w każdym przypadku
Co nigdy nie wraca, u nas ani u nikogo: nazwy zmiennych lokalnych i komentarze, których kompilator nie zachował. Odzyskany kod da się czytać i skompilować; nie odpowiada oryginałowi słowo w słowo.
SETUP1.EXE
Każdy może sprawdzić: SETUP1.EXE
Program Microsoftu, którego kod źródłowy jest dostarczany z VB6: każdy może porównać.
136 → 227
wyeksportowanych procedur, od generacji 1 do V7
22 / 24
losowo wybranych procedur czytanych ze źródłem: V7 wierniejsza
Po odzyskaniu projektu
Staje się zwykłym projektem: otwierasz go, czytasz i utrzymujesz w oryginalnym IDE.
- Poprawić błąd lub zmienić regułę biznesową, a potem skompilować
- Czytać kod maszynowy za pomocą deasemblerów x86 i P-Code, zawartych w Standard
- Śledzić program od początku do końca dzięki grafowi wywołań i odwołaniom krzyżowym, w Professional
- Udokumentować aplikację, której nikt już nie znał w całości
Jak postępować, najpierw za darmo
- 1
Otwórz plik w bezpłatnej edycji lub wrzuć go do studia online bez instalacji. Zobaczysz strukturę projektu, kompletne formularze i podgląd zdekompilowanego kodu.
- 2
Oceń na dowodach: podgląd pokazuje, co silnik odbudowuje z twojego pliku, nie z przykładu. Jeśli to, co widzisz, jest warte licencji, weź ją; jeśli nie, nic nie wydałeś.
- 3
Z licencją wyeksportuj cały projekt i otwórz go ponownie w Visual Basic 6: około 80 % projektów kompiluje się ponownie bez poprawek. Wartość, której plik binarny nie pozwala ustalić, staje się wywołaniem VBRF_ValeurInconnue(), które łatwo znaleźć wyszukiwaniem.
Szczegółowy artykuł: jak odróżnić P-Code od natywnego i od czego zacząć
Ile to kosztuje
Próba nic nie kosztuje. Płacisz tylko wtedy, gdy to, co widzisz na własnym pliku binarnym, jest tego warte.
Wersja bezpłatna
Pełne formularze, struktura projektu i podgląd kodu
0 €
Standard
Odzyskaj swój kod źródłowy
79 € na użytkownika
Professional
Standard plus narzędzia analizy
229 € na użytkownika
Najczęściej zadawane pytania
Jaka jest różnica między P-Code a Native Code?
VB6 kompiluje do P-Code (pseudokodu wykonywanego przez maszynę wirtualną) albo do kodu natywnego (instrukcji maszynowych x86, ustawienie domyślne). Od generacji 2 (VBReFormer 7) ten sam silnik dekompiluje oba do czytelnego Visual Basica: 1 158 z 1 164 zdefiniowanych instrukcji P-Code jest tłumaczonych, pomiar opublikowany na stronie pokrycia. Poprzednia generacja odtwarzała tylko kod natywny.
Co da się odzyskać z pliku wykonywalnego, a co jest stracone na zawsze?
To, czego Visual Basic potrzebuje w czasie wykonania, jest w pliku i da się odzyskać: nazwy formularzy, klas, modułów i kontrolek, procedury obsługi zdarzeń, publiczne składowe klas, właściwości interfejsu, wywołania runtime, deklaracje API. Tego, co kompilator odrzucił, nie odzyska żadne narzędzie: komentarzy, nazw zmiennych lokalnych i parametrów, stałych nazwanych zastąpionych ich wartością oraz nazw procedur w modułach .bas. Średnio odzyskuje się 90 % kodu źródłowego; to, czego brakuje, wynika z tych elementów nieobecnych w pliku.
Czy zdekompilowany kod kompiluje się ponownie w IDE Visual Basic 6?
Tak: w praktyce około 80 % projektów kompiluje się ponownie bez poprawek. Eksport zapisuje nagłówki wymagane przez IDE (VERSION, Attribute VB_Name), bez których VB6 odrzuca plik. Wartość, której nie udało się ustalić, nigdy nie jest wymyślana: staje się wywołaniem VBRF_ValeurInconnue(), które VB6 akceptuje i które można odnaleźć wyszukiwaniem. To, czego nie ma w pliku binarnym, jest nazwane i uzasadnione w notatkach eksportu.
Co jeśli dekompilacja nie zadziała na moim pliku binarnym?
Właśnie do tego służy edycja Free: pokazuje ona, na PAŃSTWA pliku i przed jakimkolwiek zakupem, co można wyodrębnić — formularze, zasoby, strukturę projektu. Zawsze zalecamy, aby najpierw ją wypróbować. Ponieważ licencje są treścią cyfrową dostarczaną natychmiast, sprzedaż jest ostateczna; w razie problemu technicznego nasze wsparcie pomoże znaleźć rozwiązanie.
Czy mój plik jest przechowywany?
Twój plik binarny nie jest przechowywany: jest analizowany, a potem usuwany wraz z sesją
Czy dekompilacja programu jest legalna?
Tak, jeśli posiadają Państwo prawa do oprogramowania — typowym przypadkiem jest rekonstrukcja własnego utraconego kodu źródłowego — lub w ramach przepisów dotyczących interoperacyjności. Muszą Państwo posiadać niezbędne prawa do analizowanego programu.
Czy VBReFormer dekompiluje .NET, VB.NET lub C#?
Nie. VBReFormer obsługuje Visual Basic 5 i 6: .exe, .dll, .ocx i .scr. Zestaw .NET wymaga dekompilatora .NET; kilka z nich porównujemy na blogu.
Wolisz, żebyśmy zrobili to za ciebie?
Odzyskujemy projekt z twojego pliku, otwieramy go w IDE i dostarczamy gotowy do utrzymania, z raportem tego, co znaleziono. Bezpłatna ocena pliku przed wyceną.
Poproś o bezpłatną ocenę
