de·com·pile
C1technical컴파일된 프로그램을 소스 코드에 가까운 형태로 되돌리다
verb동사
- 1
디컴파일하다, 역컴파일하다 — 컴파일된 컴퓨터 프로그램이나 코드 파일을 소스 코드에 가까운 형태로 변환하다C1〔computing〕
to convert compiled computer code into a source-code-like form
The engineer decompiled the app to inspect how it handled user data.
그 엔지니어는 앱이 사용자 데이터를 처리하는 방식을 살펴보려고 앱을 디컴파일했다.
Some licenses forbid users to decompile the software.
일부 라이선스는 사용자가 그 소프트웨어를 디컴파일하는 것을 금지한다.
- 2
디컴파일되다, 역컴파일되다 — 컴파일된 코드가 소스 코드에 가까운 형태로 변환되다C1〔computing〕
to be converted from compiled code into a source-code-like form
The old bytecode decompiled cleanly in the analysis tool.
그 오래된 바이트코드는 분석 도구에서 깔끔하게 디컴파일되었다.
Obfuscated programs may not decompile into readable code.
난독화된 프로그램은 읽을 수 있는 코드로 디컴파일되지 않을 수 있다.
뉘앙스 · 쓰임
“compile”은 소스 코드를 기계가 실행할 수 있는 코드로 바꾸는 것이고, “decompile”은 그 반대 방향으로 되돌리는 것입니다. “disassemble”은 보통 기계어를 어셈블리어로 바꾸는 것을 가리키며, “decompile”은 더 높은 수준의 소스 코드 형태를 목표로 한다는 차이가 있습니다. “reverse-engineer”는 더 넓은 말로, 소프트웨어나 시스템의 구조와 작동 방식을 분석하는 전체 과정을 포함할 수 있습니다.
소프트웨어 개발, 보안 분석, 디지털 포렌식 등에서 쓰이는 전문 용어입니다. 상용 소프트웨어를 허가 없이 decompile하는 것은 라이선스나 법률을 위반할 수 있으므로 문맥상 주의가 필요합니다.
유의어 뉘앙스 비교
- reverse-engineer
- 더 넓은 표현으로, 코드를 변환하는 행위뿐 아니라 구조와 작동 원리를 분석하는 과정 전체를 포함할 수 있다.
- disassemble
- 보통 기계어를 어셈블리어로 바꾸는 것을 뜻하며, decompile보다 낮은 수준의 코드 표현을 가리키는 경우가 많다.
- convert
- 일반적인 ‘변환되다’라는 뜻으로, decompile처럼 컴파일된 코드를 소스 코드 형태로 되돌린다는 전문적 의미는 약하다.
반의어
- compile
- 소스 코드가 실행 가능한 코드나 바이트코드로 변환되는 것을 뜻한다.
자주 쓰는 표현 · Collocations
verb+noun
- decompile software소프트웨어를 디컴파일하다
- decompile an application애플리케이션을 디컴파일하다
- decompile bytecode바이트코드를 디컴파일하다
verb+prep+noun
- decompile into source code소스 코드로 디컴파일되다
adj+noun
- a decompiled program디컴파일된 프로그램
noun+noun
- decompilation tool디컴파일 도구
어원 · 암기 팁
[English]영어에서 접두사 “de-”와 동사 “compile”이 결합해 만들어진 말로, 컴파일의 과정을 반대로 한다는 뜻에서 형성되었습니다.
de-는 ‘반대로, 제거하여’의 뜻을 더하고, compile은 ‘컴파일하다’를 뜻합니다.
💡 compile이 ‘소스 코드를 실행 코드로 바꾸다’라면, decompile은 de-를 붙여 ‘반대로 되돌리다’라고 기억하면 쉽습니다.