Decompiler-VB.Net
PL
Zaloguj się
VBReFormer Gen2 Silnik napisany od nowa, pełna obsługa P-code i studio online w publicznej wersji beta. Przeczytaj zapowiedź →
Strona główna

Produkt

VBReFormer, natywny i P-Code VB decompiler dla Twoich aplikacji VB5 i VB6

Generacja 2: najwydajniejsza dekompilacja natywna i P-Code. Silnik interpretuje kod maszynowy i P-Code, oba tryby kompilacji VB6, zamiast rozpoznawać wzorce. Odzyskuje kod źródłowy, formularze i zasoby z pliku EXE, DLL lub OCX i odbudowuje projekt, który otwiera się w IDE. Na binarium wzorcowym o rozmiarze 9,35 MB: 1 976 zapisanych procedur, 0 pustych ciał, 0 znaczników błędów, w 12 sekund.

746 458+ pobrań 27 lat doświadczenia
.exe.dll.ocx.scrVB5 VB6 kod natywny i P-Code

Zaufali nam

oraz instytucje publiczne, laboratoria obronne i uniwersytety na pięciu kontynentach


Przykład zdekompilowanego kodu

Private Sub Form_Load()

Dim nRetVal As Long

Dim sBuffer As String

nRetVal = GetProfileStringA(

"Settings", "Language", "EN",

sBuffer, 255)

If nRetVal > 0 Then

Me.Caption = sBuffer

End If

End Sub

Generacja 2 · Wszystkie edycje

Najwydajniejszy dekompilator natywny i P-Code

Dekompilator generacji 2 nie rozpoznaje wzorców: interpretuje kod, łącznie z rejestrami, pamięcią wirtualną i stosem FPU, a następnie tłumaczy go z powrotem na czytelny Visual Basic. Traktuje kod natywny tak samo jak P-Code, oba tryby kompilacji VB6, a jego wynik jest mierzony względem oryginalnego źródła.

  • Abstrakcyjna interpretacja kodu maszynowego zamiast rozpoznawania wzorców
  • 1 164 zdefiniowane instrukcje P-Code, 1 158 przetłumaczonych na VB6
  • Rekonstruuje wywołania środowiska uruchomieniowego (MSVBVM60.dll)
  • 15 680 deklaracji API Win32, 6 442 stałe, 422 typy
  • Wnioskowanie typów, odzyskane nazwy, granice tablic, tabele skoków Select Case
  • Cztery profile optymalizacji VB6 objęte i mierzone osobno
Uwaga: od VBReFormer 7 dekompilowany jest zarówno P-Code, jak i kod natywny. Poprzednia generacja odtwarzała wyłącznie kod natywny.

90 % kodu źródłowego odzyskane średnio. Nazwy zmiennych lokalnych i symbole prywatne nie są zapisane w pliku binarnym i nie wchodzą do tej miary.

Zmierzone na binarium wzorcowym 9,35 MB, w porównaniu z oryginalnym źródłem

Generacja 1 Gen2 (V7)
Procedury zapisane przy eksporcie 1 799 1 976
Puste ciało, choć w źródle nie jest puste 229 0
Znaczniki błędów pozostawione w wygenerowanym kodzie 1 129 0
Sygnatury oddane jako « As Unknow » 75 014 0
Otwarcie → zapisany projekt ≈ 88 s 12 s

121 ze 149 projektów ze stanowiska testowego kompiluje się ponownie bez zmian w IDE Visual Basic 6.

Jedna licencja obejmuje obie generacje: VBReFormer 7 (Windows 10 i 11) oraz generację 1 (Windows XP do 11) pobiera się z tego samego konta.

Zobacz pokrycie, funkcja po funkcji
Generacja 2 · Wszystkie edycje

Wokół dekompilatora: analiza i nawigacja

Wygenerowany kod czyta się z jego narzędziami: deasembler x86 i P-Code, grafy wywołań i przepływu sterowania, inwentarz symboli, globalna zmiana nazw, widok szesnastkowy. To, co silnik odczytał, i to, co zsyntetyzował, pozostaje rozróżnione.

Deasemblacja: kod maszynowy → asembler
Graf wywołań — trzy skale, filtry wywołujących i wywoływanych
Graf przepływu sterowania, z blokami nieosiągalnymi
Spis symboli — nazwy odczytane a nazwy wygenerowane
Zmiana nazw globalnie — miejsca wywołań w innych modułach podążają
Adnotowany widok szesnastkowy i łatki binarne
Wnioskowanie typów, propagowane do ciał i warunków
Nagłówki wymagane przez VB6 do ponownego otwarcia pliku
Wszystkie edycje

Wyodrębnianie interfejsu

VBReFormer wyodrębnia wszystkie elementy projektu graficznego ze skompilowanego pliku binarnego, nawet bez oryginalnych plików projektu.

  • Wyodrębnia plik projektu VB (.vbp)
  • Wyodrębnia formularze i kontrolki (.frm, .ctl, .pag)
  • Wyodrębnia zasoby binarne (.frx, .ctx, .pgx)
  • Identyfikuje wszystkie zewnętrzne komponenty COM, OLE i ActiveX
  • Wyodrębnia osadzone obrazy i ikony

Zrekonstruowane dane wyjściowe

Form1.frm — main form extracted

Form1.frx — binary resources

Module1.bas — standard module

Class1.cls — class module

UserCtrl.ctl — user control

Project.vbp — project file

Unikalne · Wszystkie edycje

Edytor skompilowanego interfejsu

Jedyne narzędzie na rynku, które pozwala edytować skompilowany interfejs VB5/VB6 bez żadnych ograniczeń rozmiaru. Zmiana właściwości kontrolek, poprawianie etykiet, podmiana obrazów — wszystko bezpośrednio w skompilowanym pliku binarnym.

  • Edycja właściwości kontrolek w skompilowanym pliku binarnym
  • Brak ograniczeń rozmiaru (unikalna funkcja)
  • Podmiana osadzonych bitmap i ikon
  • Dodawanie ukrytych właściwości bez ponownej kompilacji
  • Eksport pojedynczych zasobów do ponownego użycia

Edycję wewnątrz binarium zapewnia generacja 1, dostarczana z licencją. Generacja 2 odczytuje powierzchnię formularza i wszystkie jego właściwości, ale jeszcze ich nie zapisuje.

Edytowalne właściwości

Caption "My Application v2.1"
BackColor &H00FFFFFF&
Font.Name "Arial"
Font.Size 12
Width 5280
Height 3840
Icon [binary resource]

Edycje

Porównanie funkcji

Wszystkie edycje zawierają komplet funkcji technicznych. Różni je zakres licencji — wielkość organizacji będącej beneficjentem.

Edycje

Small Business

Home / Education

79 €

Popular

Medium Business

10–249 Maksymalna wielkość organizacji

349 €

Large Business

Gov · Military · 250+

799 €

Dekompilator (P-Code i kod natywny)
Rekonstrukcja: kod maszynowy → Visual Basic
Rekonstrukcja P-code → Visual Basic
1 164 zdefiniowane instrukcje P-Code, 1 158 przetłumaczonych na VB6
Rekonstrukcja wywołań środowiska uruchomieniowego (MSVBVM60)
15 680 deklaracji API Win32, 6 442 stałe, 422 typy
Wnioskowanie typów, propagowane do ciał i warunków
121 ze 149 projektów kompiluje się ponownie bez poprawek
Deasembler
Identyfikacja procedur (formularze, moduły, klasy…)
Deasemblacja: kod maszynowy → asembler
Podświetlanie składni asemblera i VB
Wyszukiwarka w kodzie deasemblowanym
Wyodrębnianie interfejsu
Wyodrębnianie pliku projektu (.vbp)
Wyodrębnianie formularzy (.frm, .ctl, .pag)
Binarne pliki zasobów (.frx, .ctx, .pgx)
Identyfikacja komponentów COM / OLE / ActiveX
Wyodrębnianie osadzonych obrazów i ikon
Edytor projektu interfejsu
Edycja właściwości kontrolek w skompilowanym pliku binarnym
Brak ograniczeń rozmiaru (funkcja unikalna)
Zamiana osadzonych zasobów (obrazy, ikony)
Dodawanie ukrytych właściwości bez rekompilacji
Ogólne
Obsługa Visual Basic 5 i 6
Obsługiwane formaty: .exe .dll .ocx .scr
Windows 10 → Windows 11
Bezpłatne aktualizacje produktu
Dokumentacja online i podręcznik użytkownika
Zakres licencji
Maksymalna wielkość organizacji < 10 pracowników · obrót < 1 mln € 10–249 pracowników · obrót < 50 mln € 250+ pracowników · bez ograniczeń
Rodzaj użytkowania Osobiste · Akademickie · Non-profit Komercyjne profesjonalne Komercyjne · Rządowe · Wojskowe
Instalacja Na użytkownika lub na komputer Na użytkownika lub na komputer Na użytkownika lub na komputer
Wybierz licencję Uzyskaj licencję → Uzyskaj licencję → Uzyskaj licencję →

Licencja ważna 1, 2 lub 3 lata zależnie od okresu wybranego przy zamówieniu, wsparcie i aktualizacje wliczone przez cały czas. VAT nie ma zastosowania — art. 293 B francuskiego kodeksu podatkowego.

Najpierw warto wypróbować bezpłatnie — edycja Free pokazuje, co silnik rekonstruuje z Państwa pliku binarnego → · Lub wypróbuj online, bez instalacji → · Dokumentacja

100% francuskie

Zaprojektowany i opracowany we Francji

VBReFormer jest projektowany, tworzony i utrzymywany we Francji, między Tuluzą a Sabaudią — francuska i europejska wiedza ekspercka w zakresie inżynierii wstecznej, bez zależności spoza Europy.

Tuluza

Haute-Garonne · Oksytania

Sabaudia

Owernia-Rodan-Alpy

Właściwe narzędzie do właściwego zadania

.NET, C# czy VB.NET? Bezpłatne narzędzia takie jak dnSpy czy ILSpy radzą sobie z tym bardzo dobrze. Naszą specjalnością jest Visual Basic 5 i 6 — problem naprawdę trudny i jedyny, który chcemy rozwiązywać lepiej niż ktokolwiek inny.

Dlaczego taka specjalizacja →

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.

Czy silnik dopasowuje wzorce, czy interpretuje kod?

Interpretuje. Generacja 1 dopasowywała wzorce w skompilowanym kodzie i oddawała tylko to, co rozpoznała. Generacja 2 interpretuje kod maszynowy i P-code, aby odtworzyć wyrażenia i typy; tego, czego nie potrafi odtworzyć, nie odrzuca ani nie zgaduje, lecz nazywa i uzasadnia w notatkach eksportu.

Czy VBReFormer potrafi zdekompilować każdy program VB6?

VBReFormer analizuje wszystkie pliki wykonywalne skompilowane w Visual Basic 5 lub 6, zarówno w P-Code, jak i w kodzie natywnym. Interfejs — formularze, kontrolki, zasoby — jest w każdym przypadku wyodrębniany w całości. Odtworzenie kodu zależy od tego, co zachował plik binarny: bezpłatna wersja pokaże Ci to na Twoim własnym pliku, przed zakupem.

Czy zdekompilowany kod kompiluje się ponownie w IDE Visual Basic 6?

Często: na stanowisku testowym ze 149 projektami 121 kompiluje się ponownie bez poprawek. Eksport zapisuje nagłówki wymagane przez IDE (VERSION, Attribute VB_Name), bez których VB6 odrzuca plik. To, czego nie udało się odtworzyć, jest nazwane i uzasadnione w notatkach eksportu, zamiast być wypełnione prawdopodobną wartością.

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.

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 istnieje wersja bezpłatna?

Tak, i bez kupowania czegokolwiek. Bezpłatna edycja desktopowa to ten sam instalator co edycja licencjonowana: wyodrębnia pełny interfejs (formularze, zasoby, strukturę projektu) i pokazuje podgląd zdekompilowanego kodu, bez limitu czasu. Studio online, dostępne w jedenastu językach, robi to samo w przeglądarce bez instalacji: deasemblacja, P-code, projektant, projekt .vbp i zasoby są udostępniane w całości, a odtworzony kod źródłowy jako podgląd. Licencja odblokowuje pełny kod i eksport projektu.

Jak długo obowiązuje licencja?

Przez okres wybrany przy zakupie: rok, dwa lub trzy lata. Wsparcie e-mailowe i wszystkie aktualizacje wydane w tym czasie są wliczone, bez dopłat. Po jego upływie dostęp wygasa i można wykupić nową licencję. Wersja bezpłatna pozostaje dostępna bez ograniczeń czasowych.

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.

Wybierz licencję

Wystarczy odpowiedzieć na 2 pytania dotyczące Państwa profilu, a dobierzemy odpowiednią edycję — w mniej niż 30 sekund.

Rozpocznij dobór →