VB6 애플리케이션의 소스 코드를 잃어버리셨습니다. 복구할 수 있는 것은 다음과 같습니다.
고장 난 디스크, 떠난 개발자, 너무 오래된 버전의 백업: 컴파일된 프로그램만 남았습니다. VB6 디컴파일러는 사람들이 기대하는 것보다 훨씬 많이 복구하지만, 전부는 아닙니다. 이 페이지는 무엇을 설치하기 전에 어느 쪽인지 알려 드립니다.
이런 상황인가요?
디스크가 고장 났다
개발 PC는 망가졌지만 EXE는 여전히 사용자 환경에서 돌아갑니다.
개발자가 떠났다
프로젝트를 가져갔거나, 어디에 보관했는지 아무도 모릅니다.
외주 업체가 사라졌다
애플리케이션을 만든 회사가 더 이상 없고, 소스는 한 번도 납품되지 않았습니다.
백업이 너무 오래됐다
찾은 소스가 운영 중인 버전과 더 이상 맞지 않습니다.
필요한 것
필요한 것은 컴파일된 파일뿐입니다. Visual Basic 5 또는 6으로 만든 .exe, .dll, .ocx, .scr. 그 밖에는 아무것도 필요 없습니다. P-Code로 컴파일됐는지 네이티브 코드로 컴파일됐는지 알 필요도 없습니다. VBReFormer가 판별하고 둘 다 처리합니다.
- P-Code 디컴파일, VB5와 VB6
- 네이티브 x86 코드 디컴파일, VB5와 VB6
- UPX로 압축된 바이너리: 실행하지 않고 압축 해제
- 이어서 ASPack, MPRESS, PECompact 출시 예정
복구되는 것
폼과 컨트롤, 모든 속성과 그림 포함: 모든 경우에 완전하게 복구됩니다.
리소스, 문자열, 라이브러리 및 서드파티 컨트롤 참조, 프로젝트 구조: IDE에서 다시 열리는 .vbp 파일.
프로시저의 코드: 조건문, 루프, 호출, 할당, 컨트롤 접근이 P-Code든 네이티브든 읽을 수 있는 Visual Basic으로 재구성됩니다. 커버리지 페이지에서 이것이 어느 정도인지 프로그램별로 측정했습니다.
80%
의 프로젝트가 수정 없이 VB6에서 다시 컴파일
1,158 / 1,164
개의 정의된 P-Code 명령을 Visual Basic으로 변환
100%
의 폼과 속성을 모든 경우에 복원
저희든 누구든 절대 복구할 수 없는 것: 컴파일러가 보존하지 않은 지역 변수 이름과 주석입니다. 복구된 코드는 읽을 수 있고 다시 컴파일할 수 있지만, 원본과 한 글자 한 글자 일치하지는 않습니다.
SETUP1.EXE
누구나 검증 가능: SETUP1.EXE
소스가 VB6와 함께 제공되는 Microsoft 프로그램: 누구나 비교할 수 있습니다.
136 → 227
내보낸 프로시저, 1세대에서 V7로
22 / 24
무작위로 뽑아 소스와 대조한 프로시저: V7이 더 충실
프로젝트를 되찾은 뒤에는
다시 평범한 프로젝트가 됩니다. 원래 IDE에서 열고, 읽고, 유지 보수할 수 있습니다.
- 버그를 고치거나 업무 규칙을 바꾼 뒤 다시 컴파일
- Standard에 포함된 x86 및 P-Code 디스어셈블러로 기계어 읽기
- Professional의 호출 그래프와 상호 참조로 프로그램을 처음부터 끝까지 추적
- 전체를 아는 사람이 없어진 애플리케이션 문서화
진행 방법, 무료로 먼저
- 1
무료 에디션에서 바이너리를 열거나, 설치할 것 없이 온라인 스튜디오에 끌어다 놓으세요. 프로젝트 구조, 완전한 폼, 디컴파일된 코드의 미리보기를 볼 수 있습니다.
- 2
증거를 보고 판단하세요: 미리보기는 샘플이 아니라 사용자의 바이너리에서 엔진이 재구성한 것을 보여 줍니다. 보이는 것이 라이선스 값어치를 한다면 구매하시고, 아니라면 아무것도 지불하지 않은 것입니다.
- 3
라이선스가 있으면 전체 프로젝트를 내보내 Visual Basic 6에서 다시 열 수 있습니다. 약 80%의 프로젝트가 수정 없이 다시 컴파일됩니다. 바이너리로 확정할 수 없는 값은 VBRF_ValeurInconnue() 호출이 되며, 검색으로 찾을 수 있습니다.
비용
체험은 무료입니다. 직접 가진 바이너리에서 본 결과가 만족스러울 때만 결제하세요.
무료 에디션
완전한 폼, 프로젝트 구조, 코드 미리 보기
0 €
Standard
소스 코드를 되찾기
79 € 사용자당
Professional
Standard에 분석 도구 추가
229 € 사용자당
자주 묻는 질문
P-Code와 네이티브 코드의 차이는 무엇인가요?
VB6는 P-Code(가상 머신이 실행하는 의사 코드) 또는 네이티브 코드(x86 기계어 명령, 기본 설정)로 컴파일합니다. 2세대(VBReFormer 7)부터는 동일한 엔진이 둘 모두를 읽기 쉬운 Visual Basic으로 디컴파일합니다. 정의된 1,164개의 P-Code 명령 중 1,158개가 변환되며, 이 측정치는 커버리지 페이지에 공개되어 있습니다. 이전 세대는 네이티브 코드만 재구성했습니다.
실행 파일에서 무엇이 복구되고 무엇이 영구히 손실되나요?
Visual Basic이 실행 시 필요로 하는 것은 모두 파일에 들어 있으며 복구됩니다: 폼, 클래스, 모듈, 컨트롤의 이름, 이벤트 핸들러, 공용 클래스 멤버, 인터페이스 속성, 런타임 호출, API 선언. 컴파일러가 버린 것은 어떤 도구로도 복구할 수 없습니다: 주석, 지역 변수와 매개변수의 이름, 값으로 대체된 명명된 상수, .bas 모듈의 프로시저 이름. 평균적으로 소스 코드의 90%가 복구되며, 누락되는 부분은 파일에 없는 이러한 요소들입니다.
디컴파일된 코드가 Visual Basic 6 IDE에서 다시 컴파일되나요?
네. 실제로 프로젝트의 약 80%가 수정 없이 다시 컴파일됩니다. 내보내기는 IDE가 요구하는 헤더(VERSION, Attribute VB_Name)를 기록하며, 이것이 없으면 VB6는 파일을 거부합니다. 확정할 수 없었던 값은 절대 지어내지 않습니다. VB6가 받아들이고 검색으로 찾을 수 있는 VBRF_ValeurInconnue() 호출이 됩니다. 바이너리에 없는 것은 내보내기 노트에 이름과 이유를 밝힙니다.
제 바이너리에서 디컴파일이 되지 않으면 어떻게 하나요?
바로 그것이 무료 에디션의 목적입니다. 구매 전에 사용자 본인의 파일에서 무엇을 추출할 수 있는지 — 폼, 리소스, 프로젝트 구조 — 보여 줍니다. 항상 먼저 사용해 보시기를 권장합니다. 라이선스는 즉시 제공되는 디지털 콘텐츠이므로 판매는 최종적입니다. 기술적 문제가 발생하면 당사 지원팀이 함께 해결책을 찾아 드립니다.
제 파일이 보관되나요?
바이너리는 보관되지 않습니다: 분석 후 세션과 함께 삭제됩니다
프로그램을 디컴파일하는 것은 합법인가요?
네, 소프트웨어에 대한 권리를 보유한 경우 — 대표적으로 잃어버린 자신의 소스 코드를 재구성하는 경우 — 또는 상호운용성이라는 법적 틀 안에서라면 합법입니다. 분석하는 프로그램에 대해 필요한 권리를 보유하고 있어야 합니다.
VBReFormer는 .NET, VB.NET 또는 C#을 디컴파일하나요?
아니요. VBReFormer는 Visual Basic 5 및 6(.exe, .dll, .ocx, .scr)을 처리합니다. .NET 어셈블리에는 .NET 디컴파일러가 필요하며, 블로그에서 여러 도구를 비교하고 있습니다.
저희가 대신 해 드리기를 원하시나요?
저희가 바이너리에서 프로젝트를 복구하고, IDE에서 다시 열어, 발견된 내용에 대한 보고서와 함께 바로 유지 보수할 수 있는 상태로 전달해 드립니다. 견적 전에 바이너리를 무료로 평가해 드립니다.
무료 평가 요청
