Decompiler-VB.Net
VN
Đăng nhập
VBReFormer Gen2 Engine được viết lại từ đầu, hỗ trợ P-code đầy đủ, và studio trực tuyến đang ở giai đoạn beta công khai. Đọc thông báo →
Trang chủ

Sản phẩm

VBReFormer, trình dịch ngược VB native và P-Code cho các ứng dụng VB5 và VB6 của bạn

Thế hệ 2: khả năng dịch ngược native và P-Code mạnh nhất. Engine diễn giải mã máy và P-Code, cả hai chế độ biên dịch của VB6, thay vì so khớp mẫu. Nó khôi phục mã nguồn, form và tài nguyên của một EXE, DLL hoặc OCX và dựng lại một dự án mở được trong IDE. Trên một tệp nhị phân tham chiếu 9,35 MB: 1.976 thủ tục được viết ra, 0 thân rỗng, 0 dấu lỗi, trong 12 giây.

746.895+ lượt tải xuống 27 năm kinh nghiệm
.exe.dll.ocx.scrVB5 VB6 mã native và P-Code

Được tin dùng bởi

cùng các cơ quan nhà nước, phòng thí nghiệm quốc phòng và trường đại học trên năm châu lục


Ví dụ mã đã dịch ngược

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

Thế hệ 2 · Mọi phiên bản

Trình dịch ngược mã native và P-Code mạnh nhất

Trình dịch ngược (decompiler) thế hệ 2 không so khớp mẫu: nó diễn giải mã, bao gồm cả thanh ghi, bộ nhớ ảo và ngăn xếp FPU, rồi dịch trở lại thành mã Visual Basic dễ đọc. Nó xử lý cả mã native (Native Code) lẫn P-Code, hai chế độ biên dịch của VB6, và kết quả của nó được đo lường so với mã nguồn gốc.

  • Diễn giải trừu tượng mã máy, thay vì so khớp mẫu
  • 1.164 lệnh P-Code được định nghĩa, 1.158 lệnh được dịch sang VB6
  • Tái tạo các lời gọi runtime (MSVBVM60.dll)
  • 15.680 khai báo Win32 API, 6.442 hằng số, 422 kiểu
  • Suy luận kiểu, khôi phục tên, giới hạn mảng, bảng nhảy Select Case
  • Bốn cấu hình tối ưu hóa VB6 được hỗ trợ và đo lường riêng
Lưu ý: kể từ VBReFormer 7, cả P-Code lẫn mã native đều được dịch ngược. Thế hệ trước chỉ tái tạo mã native.

90% mã nguồn được khôi phục tính trung bình. Tên biến cục bộ và ký hiệu riêng không được lưu trong tệp nhị phân và nằm ngoài con số này.

Đo trên một tệp nhị phân tham chiếu 9,35 MB, so với mã nguồn gốc của nó

Thế hệ 1 Gen2 (V7)
Thủ tục được ghi khi xuất 1 799 1 976
Thân rỗng trong khi mã nguồn thì không 229 0
Dấu lỗi còn lại trong mã được tạo 1 129 0
Chữ ký hiển thị dưới dạng “As Unknow” 75 014 0
Mở → dự án được ghi ≈ 88 s 12 s

121 trong số 149 dự án của một bộ thử nghiệm biên dịch lại nguyên trạng trong IDE Visual Basic 6.

Một giấy phép bao gồm cả hai thế hệ: VBReFormer 7 (Windows 10 và 11) và thế hệ 1 (Windows XP đến 11) được tải xuống từ cùng một tài khoản.

Xem độ bao phủ, theo từng hàm
Thế hệ 2 · Mọi phiên bản

Xung quanh trình dịch ngược: phân tích và điều hướng

Mã được tạo ra đi kèm các công cụ của nó: trình disassembler x86 và P-Code, đồ thị lời gọi và luồng điều khiển, danh mục ký hiệu, đổi tên toàn cục, chế độ xem hex. Những gì engine đọc được và những gì nó tổng hợp luôn được phân biệt rõ ràng.

Disassembly: mã máy → hợp ngữ
Đồ thị lời gọi – ba mức tỷ lệ, bộ lọc bên gọi / bên được gọi
Đồ thị luồng điều khiển, bao gồm cả các khối không thể tới
Danh mục ký hiệu – tên đọc được so với tên được tổng hợp
Đổi tên toàn cục – các vị trí gọi ở mô-đun khác cũng đổi theo
Chế độ xem hex có chú thích và vá nhị phân
Suy luận kiểu, lan truyền tới thân thủ tục và các điều kiện
Các header mà VB6 yêu cầu để mở lại tệp
Mọi phiên bản

Trích xuất thiết kế giao diện

VBReFormer trích xuất mọi thành phần thiết kế trực quan từ tệp nhị phân đã biên dịch của bạn, ngay cả khi không có các tệp dự án gốc.

  • Trích xuất tệp dự án VB (.vbp)
  • Trích xuất form và điều khiển (.frm, .ctl, .pag)
  • Trích xuất tài nguyên nhị phân (.frx, .ctx, .pgx)
  • Nhận diện mọi thành phần COM, OLE và ActiveX bên ngoài
  • Trích xuất hình ảnh và biểu tượng nhúng

Kết quả tái tạo

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

Độc nhất · Mọi phiên bản

Trình chỉnh sửa thiết kế giao diện đã biên dịch

Công cụ duy nhất trên thị trường cho phép bạn chỉnh sửa giao diện VB5/VB6 đã biên dịch mà không có bất kỳ giới hạn kích thước nào. Thay đổi thuộc tính điều khiển, sửa caption, thay thế hình ảnh – tất cả trực tiếp trên tệp nhị phân đã biên dịch.

  • Chỉnh sửa thuộc tính điều khiển trong tệp nhị phân đã biên dịch
  • Không giới hạn kích thước (tính năng độc nhất)
  • Thay thế bitmap và biểu tượng nhúng
  • Thêm thuộc tính ẩn mà không cần biên dịch lại
  • Xuất từng tài nguyên riêng lẻ để tái sử dụng

Việc chỉnh sửa bên trong tệp nhị phân do thế hệ 1 thực hiện, được cung cấp kèm giấy phép. Thế hệ 2 đọc bề mặt của một form và toàn bộ thuộc tính của nó, nhưng chưa ghi ngược lại.

Thuộc tính có thể chỉnh sửa

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

Các phiên bản

So sánh tính năng

Mọi phiên bản đều bao gồm toàn bộ tính năng kỹ thuật. Khác biệt nằm ở phạm vi giấy phép – quy mô của tổ chức thụ hưởng.

Các phiên bản

Small Business

Home / Education

79 €

Popular

Medium Business

10–249 Quy mô tổ chức tối đa

349 €

Large Business

Gov · Military · 250+

799 €

Trình dịch ngược (P-Code và mã native)
Tái tạo mã máy → Visual Basic
Tái tạo P-code → Visual Basic
1.164 lệnh P-Code được định nghĩa, 1.158 lệnh được dịch sang VB6
Tái tạo các lời gọi runtime (MSVBVM60)
15.680 khai báo Win32 API, 6.442 hằng số, 422 kiểu
Suy luận kiểu, lan truyền tới thân thủ tục và các điều kiện
121 trong 149 dự án biên dịch lại không cần chỉnh sửa
Trình disassembler
Nhận diện thủ tục (Form, Mô-đun, Lớp…)
Disassembly: mã máy → hợp ngữ
Tô sáng cú pháp hợp ngữ & VB
Công cụ tìm kiếm trên toàn bộ disassembly
Trích xuất thiết kế giao diện
Trích xuất tệp dự án (.vbp)
Trích xuất form (.frm, .ctl, .pag)
Tệp tài nguyên nhị phân (.frx, .ctx, .pgx)
Nhận diện thành phần COM / OLE / ActiveX
Trích xuất hình ảnh & biểu tượng nhúng
Trình chỉnh sửa thiết kế
Chỉnh sửa thuộc tính điều khiển trong tệp nhị phân đã biên dịch
Không giới hạn kích thước (tính năng độc nhất)
Thay thế tài nguyên nhúng (hình ảnh, biểu tượng)
Thêm thuộc tính ẩn mà không cần biên dịch lại
Tổng quan
Hỗ trợ Visual Basic 5 & 6
Định dạng hỗ trợ: .exe .dll .ocx .scr
Windows 10 → Windows 11
Cập nhật sản phẩm miễn phí
Tài liệu trực tuyến & hướng dẫn sử dụng
Phạm vi giấy phép
Quy mô tổ chức tối đa < 10 nhân viên · doanh thu < 1 triệu € 10–249 nhân viên · doanh thu < 50 triệu € 250+ nhân viên · không giới hạn
Loại hình sử dụng Cá nhân · Học thuật · Phi lợi nhuận Chuyên nghiệp thương mại Thương mại · Chính phủ · Quân sự
Cài đặt Theo người dùng hoặc theo máy tính Theo người dùng hoặc theo máy tính Theo người dùng hoặc theo máy tính
Chọn giấy phép của bạn Mua giấy phép → Mua giấy phép → Mua giấy phép →

Giấy phép có hiệu lực 1, 2 hoặc 3 năm tùy thời hạn chọn khi thanh toán, bao gồm hỗ trợ và cập nhật trong suốt thời gian đó. Không áp dụng thuế GTGT – điều 293 B Bộ luật Thuế chung của Pháp.

Hãy dùng thử miễn phí trước – phiên bản Miễn phí cho thấy engine tái tạo được gì từ tệp nhị phân của bạn → · Hoặc dùng thử trực tuyến, không cần cài đặt → · Tài liệu

100% Pháp

Thiết kế và phát triển tại Pháp

VBReFormer được thiết kế, xây dựng và bảo trì tại Pháp, giữa Toulouse và Savoie – chuyên môn kỹ thuật đảo ngược của Pháp và châu Âu, không phụ thuộc vào bên ngoài châu Âu.

Toulouse

Haute-Garonne · Occitanie

Savoie

Auvergne-Rhône-Alpes

Đúng công cụ cho đúng việc

.NET, C# hay VB.NET? Các công cụ miễn phí như dnSpy hay ILSpy xử lý rất tốt. Chuyên môn của chúng tôi là Visual Basic 5 & 6 – bài toán thực sự khó, và là bài toán duy nhất chúng tôi đặt mục tiêu giải quyết tốt hơn bất kỳ ai.

Vì sao tập trung vào điều này →

Câu hỏi thường gặp

P-Code và Native Code khác nhau thế nào?

VB6 biên dịch hoặc sang P-Code (mã giả do máy ảo thực thi) hoặc sang Native Code (lệnh máy x86, thiết lập mặc định). Từ thế hệ 2 (VBReFormer 7), cùng một engine dịch ngược cả hai thành mã Visual Basic dễ đọc: 1.158 trong số 1.164 lệnh P-Code được định nghĩa đã được dịch, một số liệu được công bố trên trang độ bao phủ. Thế hệ trước chỉ tái tạo Native Code.

Engine so khớp mẫu hay diễn giải mã?

Nó diễn giải. Thế hệ 1 so khớp mẫu trong mã đã biên dịch và chỉ hiển thị những gì nó nhận ra. Thế hệ 2 diễn giải cả mã máy lẫn P-Code để tái tạo biểu thức và kiểu; những gì không thể tái tạo thì không bị bỏ qua cũng không bị đoán mò, mà được nêu tên và giải thích trong ghi chú xuất.

VBReFormer có dịch ngược được mọi chương trình VB6 không?

VBReFormer phân tích mọi tệp thực thi được biên dịch bằng Visual Basic 5 hoặc 6, cả P-Code lẫn Native Code. Giao diện – form, control, tài nguyên – luôn được trích xuất đầy đủ trong mọi trường hợp. Việc tái tạo mã phụ thuộc vào những gì tệp nhị phân còn giữ lại: phiên bản miễn phí cho bạn thấy điều đó trên chính tệp của bạn, trước khi mua.

Mã đã dịch ngược có biên dịch lại được trong IDE Visual Basic 6 không?

Thường là có: trên một bộ thử nghiệm gồm 149 dự án, 121 dự án biên dịch lại được mà không cần chỉnh sửa. Bản xuất ghi phần đầu tệp mà IDE yêu cầu (VERSION, Attribute VB_Name), nếu thiếu thì VB6 sẽ từ chối tệp. Những gì không thể tái tạo được nêu tên và giải thích trong ghi chú xuất, thay vì được điền bằng một giá trị có vẻ hợp lý.

Những gì được khôi phục từ một tệp thực thi, và những gì mất đi vĩnh viễn?

Bất cứ thứ gì Visual Basic cần khi chạy đều nằm trong tệp và được khôi phục: tên form, lớp, mô-đun và điều khiển, trình xử lý sự kiện, thành viên công khai của lớp, thuộc tính giao diện, lời gọi runtime, khai báo API. Những gì trình biên dịch đã loại bỏ thì không công cụ nào khôi phục được: chú thích, tên biến cục bộ và tham số, hằng số có tên bị thay bằng giá trị của chúng, và tên các thủ tục trong mô-đun .bas. Trung bình, 90% mã nguồn được khôi phục; phần còn thiếu chính là những yếu tố đó, vốn không có trong tệp.

Nếu việc dịch ngược không hoạt động trên tệp nhị phân của tôi thì sao?

Đó chính là mục đích của phiên bản miễn phí: nó cho bạn thấy, trên CHÍNH tệp của bạn và trước khi mua, những gì có thể trích xuất được – form, tài nguyên, cấu trúc dự án. Chúng tôi luôn khuyên bạn dùng thử trước. Vì giấy phép là nội dung kỹ thuật số được giao ngay lập tức, mọi giao dịch bán là cuối cùng; nếu bạn gặp sự cố kỹ thuật, bộ phận hỗ trợ của chúng tôi sẽ cùng bạn tìm giải pháp.

Có phiên bản miễn phí không?

Có, và không cần mua gì cả. Phiên bản desktop miễn phí dùng cùng trình cài đặt với phiên bản có giấy phép: nó trích xuất toàn bộ giao diện (form, tài nguyên, cấu trúc dự án) và hiển thị bản xem trước của mã đã dịch ngược, không giới hạn thời gian. Studio trực tuyến, phục vụ bằng mười một ngôn ngữ, làm điều tương tự trong trình duyệt mà không cần cài đặt gì: disassembly, P-code, trình thiết kế, dự án .vbp và tài nguyên được cung cấp đầy đủ, mã nguồn tái tạo ở dạng xem trước. Giấy phép mở khóa mã hoàn chỉnh và tính năng xuất dự án.

Giấy phép có hiệu lực trong bao lâu?

Theo thời hạn bạn chọn khi mua: một, hai hoặc ba năm. Hỗ trợ qua email và mọi bản cập nhật phát hành trong thời gian đó đều được bao gồm, không tính thêm phí. Khi hết hạn, quyền truy cập chấm dứt và bạn có thể mua giấy phép mới. Phiên bản miễn phí vẫn sử dụng được không giới hạn thời gian.

Dịch ngược một chương trình có hợp pháp không?

Có, khi bạn sở hữu quyền đối với phần mềm – trường hợp điển hình là tái tạo mã nguồn bị mất của chính bạn – hoặc trong khuôn khổ pháp lý về khả năng tương tác. Bạn phải nắm giữ các quyền cần thiết đối với chương trình được phân tích.

VBReFormer có dịch ngược .NET, VB.NET hay C# không?

Không. VBReFormer xử lý Visual Basic 5 và 6: .exe, .dll, .ocx và .scr. Một assembly .NET cần một trình dịch ngược .NET; chúng tôi so sánh một số công cụ trên blog.

Chọn giấy phép của bạn

Trả lời 2 câu hỏi về hồ sơ của bạn và chúng tôi sẽ chọn phiên bản phù hợp cho bạn – trong chưa đầy 30 giây.

Bắt đầu lựa chọn →