
가벼운 헥스 에디터 및 디컴파일러로, 바이너리 파일 분석 문제를 해결합니다.
리버스 엔지니어링을 위한 개방형 플랫폼.
EUVA는 단순한 헥스 편집기이자 디컴파일러가 아닙니다. 오히려 여러분이 커스터마이징하는 리버스 엔지니어링 플랫폼에 가깝습니다. 무엇이든 연결할 수 있는 플랫폼이며, 반대하지 않습니다. 우리는 커뮤니티의 이익을 위해 헌신하며, 최대한의 도구 유연성과 다른 분석기(아마도 여러분의 분석기, 혹은 산업용 분석기?)와의 빠른 통합을 지원합니다. 우리는 도구를 또 다른 디컴파일러로 만들고 싶지 않습니다. 디컴파일링은 재미없기 때문입니다. IDA, Binja 등이 그 일을 할 수 있습니다. 하지만 우리는 더 나은 무언가를 만들고 있으며, 더 나은 아키텍처를 구축하려고 노력하고 있습니다. 이것이 아마 우리의 주요 목표일 것입니다. EUVA는 스스로 진화하지 않고, 커뮤니티와 함께 진화할 것입니다.
이 프로그램은 활발히 개발 중입니다. 실험적 빌드에는 버그가 있거나 예기치 않은 동작이 발생할 수 있습니다. 주의해서 사용하십시오.
이 소프트웨어는 "있는 그대로" 제공되며, 어떠한 종류의 보증도 없습니다. EUVA는 교육 목적 및 보안 연구를 위해 설계된 고정밀 도구입니다. 작성자는 이 도구의 오용으로 인한 시스템 불안정, 데이터 손실 또는 법적 결과에 대해 책임을 지지 않습니다.
EUVA를 사용함으로써, 귀하는 귀하의 행동에 대해 전적인 책임을 지며, 바이너리 파일 및 프로세스 메모리 수정의 위험을 이해하고, 해당 관할 구역의 법률 및 규정을 준수할 것에 동의합니다.
값을 대체하기 위한 DSL도 포함된 당사의 헥스 편집기 기능을 확인해 보세요. 이는 패치를 쉽게 공유할 수 있도록 설계되었습니다. 패치가 필요한 무언가를 만들어 다른 사람과 공유하고 싶다고 가정해 보세요. 아주 간단합니다. 그들에게 .euv 스크립트를 보내기만 하면, 프로그램이 바이너리 파일에 패치를 적용합니다. 두통 없이 끝납니다.
아마도 우리 작업에서 가장 중요한 부분 중 하나는 디컴파일러입니다. 이는 프로그램 동작의 의미를 최대한 잘 전달하는 것을 목표로 설계되었으며, 계속 설계되고 있습니다. 우리는 사용자 친화적으로 만들기 위해 노력합니다. 다른 디컴파일러를 파헤치는 것은 번역기처럼 행동하기 때문에 고통스럽고, 여러분은 그 혼란 속에서 어떤 의미를 찾고 있기 때문입니다. 우리 디컴파일러의 상황도 간단하지는 않지만, 진입 장벽을 낮추고 디컴파일된 코드를 가능한 한 사람이 이해할 수 있도록 재구성하려고 노력합니다. 물론, 우리는 맹목적으로 하지 않으며 모든 것에는 한계가 있지만, 그래도 아직 완전히 번역되지 않은 원시 C를 읽는 것보다는 훨씬 낫습니다. 이것이 항상 편리한 것은 아니므로, 우리는 디컴파일된 코드에 C++ 추상화를 적용하고 결과에 만족할 수 있도록 여기 있습니다.
출력 예시:
디컴파일러의 인수가 확실하지 않다면, 디스어셈블러를 보고 결과를 다시 확인하십시오.
완벽하게 접근하자면, 우리는 Themida와 같은 프로텍터 탐지 기능을 추가하는 것뿐만 아니라 디컴파일러 자체에 대해서도 이야기하고 있습니다. 참고로, Roslyn을 사용하여 동적으로 컴파일되는 C# 스크립트 덕분에 여러분의 패치도 지원합니다. 이는 디컴파일러를 위한 플러그인이라고 할 수 있으며, 여러분의 필요에 맞게 조정하는 역할을 합니다. 이는 Yara 규칙에도 적용됩니다. 아마도 우리가 최근에 완료한 Virustotal 통합일까요? 우리는 여기서 멈출 계획이 없으며, 이 영역에서 계속 발전할 것입니다.
따라서 우리는 이중 시스템을 가지고 있습니다: AI 리팩토링 프로그램의 내장 함수로, 여기서 API 키를 지정합니다. 포인트는 OpenAI 표준을 준수해야 합니다. 이것은 프로세스에 깊이 들어갈 계획이 없거나 클라우드 없이 로컬 AI 모델을 사용하여 눈에 띄지 않게 분석을 수행해야 하는 경우를 위한 빠른 개입 버튼입니다. 또한 MCP와의 통합도 있습니다. 모델이 필요한 모든 것에 접근할 수 있기 때문에 상당히 편리합니다. 디컴파일된 코드를 읽고 여러분의 요청에 따라 수정하여 학습과 이해를 도울 수 있습니다. MCP를 지원하는 모든 서비스를 사용하여 필요한 구성 파일을 구성하기만 하면 시작할 수 있습니다. MCP는 더 깊이 파고들고 클라우드 사용에 익숙한 사람들에게 적합합니다. 모두 여러분의 선택입니다. 우리는 이 유연한 접근 방식을 유지할 것입니다.
[!NOTE] 귀하의 선택, 귀하의 통제: AI 에이전트는 "자체 키 가져오기" 시스템입니다. 클라우드 LLM(OpenAI, Claude, Groq) 및 로컬 LLM(Ollama, LocalAI)을 지원합니다. 개인 정보 보호가 가장 중요합니다.
🟢 AI 이후 (의미론적 리팩토링)
출력 예시:
Ctrl+Z) 및 전체 세션 롤백(Ctrl+Shift+Z) 지원.euv 형식): 실시간 파일 감시 실행 기능릴리즈 페이지에서 다운로드하거나 winget을 통해 EUVA 설치
winget 사용:
winget install Euva-Project.EUVA
또는 아래 가이드를 사용하여 소스 파일에서 프로그램을 빌드하십시오.
빌드하기 전에 다음이 설치되어 있는지 확인하십시오:
| 요구 사항 | 버전 | 링크 |
|---|---|---|
| .NET SDK | 8.0+ | 다운로드 |
| Windows OS | 10 / 11 | 필요 (WPF) |
[!NOTE] EUVA는 WPF로 빌드된 Windows 전용 애플리케이션입니다. Linux/macOS는 현재 지원되지 않습니다.
# 1. 메인 디렉터리로 이동
cd EUVA/EUVA.UI
# 2. 종속성 복원
dotnet restore
# 3. Release 모드로 빌드
dotnet build -c Release
# 4. 실행 (선택 사항, 컴파일된 바이너리 실행 가능)
dotnet run -c Release
Ctrl+D를 눌러 디스어셈블러 열기, Ctrl+E를 눌러 디컴파일러 열기이론과 메커니즘을 더 깊이 탐구하십시오:
프로그램 메뉴의 설정을 통해 .htk 파일을 로드 및 편집하여 단축키를 재할당할 수 있습니다.
Q: IDA나 Ghidra용 AI 플러그인 대신 EUVA의 내장 AI를 사용하는 이유는 무엇인가요?
A: 레거시 도구에서 AI는 단지 UI를 멈추게 하고 스크립트가 텍스트를 주고받는 "덧붙이기"식 버팀목에 불과합니다. EUVA에서 AI는 핵심의 일부입니다. 우리의 파이프라인은 의미 수준의 변경을 빠르게 주입합니다. "플러그인"이 아니라 공생입니다: 디컴파일러는 사실을 제공하고 AI는 의미를 제공합니다. 끊김 없음.
Q: 내 코드가 클라우드로 유출되나요?
A: 원하는 경우에만 그렇습니다. EUVA는 로컬 우선 철학을 따릅니다. Ollama나 로컬 서버에 연결하여 완전히 오프라인으로 작업하십시오. 리버스는 당신의 비밀입니다.
Q: AI가 코드에 대해 환각을 보거나 거짓말을 하면 어떻게 하나요?
A: 물론, 배제할 수 없습니다. 우리는 "신뢰하되 확인하라"는 원칙에 따라 작업합니다. AI는 로직을 발명할 수 없습니다. 코드에 실제로 존재하는 변수에 대한 이름만 제안합니다. 모든 변경 사항은 /* AI */ 주석으로 표시됩니다. 마음에 들지 않으면 한 번의 클릭이나 단축키로 모든 것을 원시 상태로 되돌립니다.
Q: EUVA는 얼마나 유연한가요? 제가 직접 커스터마이징할 수 있나요?
A: 이것이 주요 기능입니다. EUVA는 플랫폼입니다.
Q: IDA Ghidra 또는 Binary Ninja가 있는데 왜 EUVA를 사용해야 하나요?
A: 그것들은 무겁고 모놀리식 프로그램이기 때문입니다.
노련한 네트러너와 기업 연구원 모두를 환영합니다.
PR 환영: 버그를 찾았거나 파이프라인 단계를 최적화했나요? PR을 제출하세요! 🚀
별표도 감사히 받겠습니다 - 별표는 프로젝트의 미래입니다 ⭐.
EUVA는 GNU General Public License v3.0에 따라 배포되는 자유 소프트웨어입니다.
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2026 EUVA Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
---
EngineUnpacker Visual Analyzer (EUVA)
Professional PE Static Analysis Tool
Educational tool for reverse engineering research.
Use responsibly and in accordance with applicable laws.
EUVA – 재미로 헥스를 읽는 연구자를 위해 만들어진 도구
리버스 엔지니어링 커뮤니티를 위해 ❤️로 제작됨 | © 2026 EUVA 프로젝트
| 명령 | 단축키 | 설명 |
|---|
NavInspector | Alt+1 | 검사 탭으로 전환 |
NavSearch | Alt+2 | 검색 탭으로 전환 |
NavDetections | Alt+3 | 탐지 탭으로 전환 |
NavProperties | Alt+4 | 속성 탭으로 전환 |
CopyHex | Ctrl+C | 선택 영역을 16진수 문자열로 복사 |
CopyCArray | Ctrl+Shift+C | 선택 영역을 C 바이트 배열로 복사 |
CopyPlainText | Ctrl+Alt+C | 선택 영역을 일반 텍스트로 복사 |
Undo | Ctrl+Z | 마지막 바이트 쓰기 실행 취소 |
FullUndo | Ctrl+Shift+Z | 마지막 전체 스크립트 실행 되돌리기 |
View byte | F3 | 최신 바이트 변경 사항 보기 |
View Yara Matches | Shift+F3 | Yara가 찾은 일치 항목 보기 |
View Disassembler | Ctrl+D | 디스어셈블러 보기 |
View Decompiler | Ctrl+E | 디컴파일러 보기, F5를 사용하여 그래픽 모드와 텍스트 모드 간 전환 |
Highlight code | Ctrl+A | 디컴파일러에서 텍스트 형식의 코드 선택 |
Function table | Ctrl+R | 디컴파일러에서 함수 테이블 표시 |
IAT Import | Ctrl+E | 디컴파일러에서 모든 IAT 가져오기 표시 |
Xrefs To | X | 디컴파일러 코드에서 호출되는 모든 변수 표시 |
Xrefs From | X | 현재 명령어가 참조하는 위치 확인 (디스어셈블러) |
Parent navigation | P/Enter | 디스어셈블러 명령어의 부모 보기 (디스어셈블러) |