# 디컴파일, 재구현, 재컴파일은 어떻게 다를까

Author: DecompHub
Updated: 2026-10-10
Language: ko
Canonical: https://decomphub.com/ko/guides/decompilation-reimplementation-recompilation

의도한 결과물을 기준으로 선택하세요. 복원 소스, 호환 대체 프로그램, 네이티브 실행 파일은 모두 유용하지만 같은 질문에 답하지는 않습니다. 같은 게임 이름이라도 진행 지표를 서로 바꿔 읽을 수 없습니다.

## 매칭 디컴파일

특정 원본 빌드와 동일한 기계어를 생성하는 소스가 목표입니다. 컴파일러, 설정, 대상 리비전이 중요합니다. [decomp.me FAQ](https://www.decomp.me/faq)는 함수 비교를 설명합니다. 성공한 scratch는 해당 비교의 근거이지 전체 프로그램의 완료율이 아닙니다.

원래 구조를 연구하거나 일치 코드를 작성하려는 경우에 맞습니다. 보고서가 바이트, 함수, 일부 모듈 중 무엇을 세는지 확인하세요.

## 재구현과 호환성

동일한 실행 파일을 요구하지 않고 동작이나 인터페이스를 재현합니다. 기능과 테스트로 평가하는 편이 적절합니다. [ScummVM](https://docs.scummvm.org/en/latest/help/faq.html)은 지원 게임의 실행 파일을 대체하면서 게임 데이터를 사용합니다. 지원 대상과 버전을 각각 확인해야 합니다.

실용적인 대체 프로그램이나 동작 개선이 목적일 때 적합합니다. 호환성 주장을 바이너리 일치율로 변환하지 마세요.

## 정적 재컴파일

기존 프로그램의 명령을 실행 전에 다른 환경용으로 변환합니다. [N64Recomp](https://github.com/N64Recomp/N64Recomp)는 N64 코드와 네이티브 실행 파일의 작업 흐름을 설명합니다. 완전한 이식에는 변환된 코드 주변의 통합 작업도 필요합니다.

수작업 소스 복원이 끝나기 전에 네이티브 실행이 가능할 수 있지만 원본 소스 설계가 자동으로 설명되지는 않습니다. 일반 도구가 모든 게임을 바로 지원한다고 가정하지 말고 대상 프로젝트의 요구 사항을 읽으세요.

## 디스어셈블리와 이식

디스어셈블리는 기계 명령을 어셈블리로 표현하며 C나 C++를 복원하지 않아도 분석에 유용합니다. 이식은 프로그램을 다른 플랫폼에 맞추는 작업으로 앞선 여러 접근을 기반으로 할 수 있습니다. 서로 다른 단계를 설명하므로 태그가 겹칠 수 있습니다.

[목록](https://app.decomphub.com/ko/explore)의 작업 유형에서 출발해 원본 목표를 확인하세요. [진행률 가이드](/ko/guides/understanding-decompilation-progress)는 차이를 유지하며 수치를 비교하는 방법을 설명합니다.
