지식 · IT·데이터·DX

리버스 엔지니어링 · 역설계

Reverse Engineering

📂IT·데이터·DX⏱읽기 2분📊입문🔗관련 7

리버스 엔지니어링이란?

한 줄 정의
완성된 제품이나 소프트웨어를 거꾸로 뜯어보며 어떻게 만들어졌고 어떻게 작동하는지를 알아내는 일입니다. 설계도 없이 결과물에서 설계를 되살린다는 뜻에서 역설계라고도 부릅니다.
이 주제, 사내 교육으로📚 관련 과정💬 교육 문의
⚡ 3줄 요약
  • 완성품에서 설계를 거꾸로 되살림
  • 목적은 대개 복제가 아니라 이해
  • AI 에이전트가 문턱을 크게 낮춤

보통의 개발은 설계에서 출발해 제품으로 끝납니다. 리버스 엔지니어링은 그 방향을 뒤집어, 이미 손에 든 완성품에서 출발해 설계와 원리를 거꾸로 짚어 올라갑니다. 기계라면 분해해 부품 구조와 치수를 재고, 소프트웨어라면 실행 파일·앱·웹페이지가 실제로 무엇을 하는지 관찰하고 내부 코드를 읽어 냅니다. 목적은 대개 복제가 아니라 이해입니다. 단종된 부품을 다시 만들거나, 문서가 사라진 사내 옛 시스템을 새 시스템으로 옮기거나, 악성코드가 무엇을 빼돌리는지 밝혀내는 일이 모두 여기에 속합니다.

소프트웨어 역분석은 두 갈래로 나뉩니다. 프로그램을 돌리지 않고 파일 자체를 읽는 정적 분석과, 실제로 실행하며 화면·네트워크·파일 변화를 지켜보는 동적 분석입니다. 정적 분석에는 기계어를 사람이 읽을 수 있는 형태로 되돌리는 디컴파일러가 쓰이는데, 그 결과는 원본 소스가 아니라 원본을 추정한 재구성본이라는 점을 기억해야 합니다. 변수 이름과 주석, 개발자의 의도는 컴파일 과정에서 이미 사라졌기 때문입니다.

비개발 조직에서 이 개념이 쓸모 있는 장면은 생각보다 가깝습니다. 외주로 만든 프로그램을 납품받을 때 계약서대로 만들어졌는지 확인하는 검수, 개인정보가 엉뚱한 곳으로 새지 않는지 보는 보안 점검, 퇴사자만 알던 업무 시스템의 규칙을 되살리는 작업이 모두 역분석의 한 형태입니다. 이때 핵심은 무엇을 알고 싶은지 질문을 먼저 정하는 것입니다. '프로그램 전체를 분석해 줘'보다 '이수 시간을 어떻게 계산하는지 알려 줘'처럼 좁힐수록 결과가 빠르고 정확해집니다.

2026년 들어 달라진 점은 이 작업에 AI가 붙었다는 것입니다. REA 같은 도구가 Ghidra·IDA 같은 전문 분석 도구를 AI 에이전트에 연결해 주면서, 예전엔 보안 전문가가 며칠 걸려 하던 추적을 자연어 질문 하나로 시작할 수 있게 됐습니다. 그만큼 경계도 분명히 해야 합니다. 분석 대상의 이용약관과 저작권법상 허용 범위를 먼저 확인하고, 알아낸 원리를 참고해 새로 만드는 것과 남의 코드를 옮겨 쓰는 것을 구분해야 합니다. 이해까지가 리버스 엔지니어링이고, 베끼는 순간부터는 다른 문제가 됩니다.

💡 쉽게 말하면
레시피 없이 완성된 요리를 맛보고 재료와 조리 순서를 짐작해 내는 일과 비슷합니다. 맛의 원리는 알아낼 수 있지만, 원래 요리사의 메모까지 되살릴 수는 없습니다.
실무에서 왜 중요한가
레거시 시스템 이관, 외주 납품물 검수, 보안 점검처럼 '설계도 없이 결과물만 남은 대상'을 다뤄야 하는 일은 생각보다 흔합니다. AI가 이 작업의 문턱을 크게 낮추면서 비개발 조직도 개념과 경계를 알아둘 필요가 생겼습니다.
⚠️ 흔한 오해
오해리버스 엔지니어링을 하면 원본 소스 코드를 그대로 얻을 수 있다.
사실얻는 것은 원본을 추정한 재구성본입니다. 동작 원리를 이해하는 데는 충분하지만 변수 이름·주석·설계 의도는 대부분 사라져 있습니다.
유래와 출처

제조·군사 분야에서 상대 장비를 분해해 설계를 알아내던 관행에서 나온 말입니다. 소프트웨어 분야에서는 1990년 엘리엇 치코프스키(Elliot Chikofsky)와 제임스 크로스(James Cross)가 IEEE Software 논문에서 '대상 시스템의 구성 요소와 관계를 파악해 더 높은 추상 수준의 표현을 만들어 내는 과정'으로 정의한 것이 표준 정의로 자리 잡았습니다.

출처 · Chikofsky & Cross, 「Reverse Engineering and Design Recovery: A Taxonomy」, IEEE Software(1990)
사례로 이해하기

가상의 사례로 살펴보겠습니다. 임직원 610명 규모의 기계부품 제조사 A사는 2011년에 외주로 만든 교육이력 관리 프로그램을 15년째 쓰고 있었습니다. 새 LMS로 옮기기로 했는데, 개발 업체는 이미 폐업했고 소스 코드와 설계 문서는 어디에도 남아 있지 않았습니다.

  1. 인재개발팀 정 과장이 옛 프로그램에서 법정의무교육 이수 처리가 어떤 규칙으로 돌아가는지 수소문했지만, 아는 사람은 이미 퇴사한 전임자 한 명뿐이었습니다.
  2. 정보보안팀 오 대리는 이 프로그램이 회사가 대금을 치르고 넘겨받은 사내 자산이라는 점과 계약서의 권리 조항을 법무팀과 먼저 확인한 뒤 분석에 들어갔습니다.
  3. 오 대리가 AI 코딩 에이전트에 분석 도구를 연결해 실행 파일을 살펴보게 하자, 이수 시간이 분 단위가 아니라 30분 단위로 올림 처리되던 숨은 규칙이 이틀 만에 드러났습니다.
  4. 같은 방식으로 수료 기준과 재수강 처리 등 규칙 14개를 문서로 되살렸고, 그중 3개는 현행 사내 규정과 달라 인사팀이 새 LMS로 옮기기 전에 바로잡았습니다.
  5. 이관 뒤 첫 분기 이수 시간 정산에서 옛 시스템과 결과가 어긋난 직원은 한 명도 없었고, 외주 업체가 견적한 재분석 비용 2,400만 원도 들지 않았습니다.
관련 용어
디컴파일 · 디스어셈블사람이 읽을 수 없는 기계어로 바뀐 프로그램을 다시 읽을 수 있는 형태로 되돌리는 작업입니다. 디스어셈블은 기계어를 어셈블리어로, 디컴파일은 한 단계 더 나아가 C 같은 고급 언어 형태로 되돌립니다.REA · Reverse Engineer AnythingAI 코딩 에이전트를 Ghidra·IDA 같은 리버스 엔지니어링 도구에 연결해, 소스 코드 없이도 앱과 프로그램이 어떻게 작동하는지 분석하게 해 주는 오픈소스 MCP 서버 겸 명령줄 도구입니다. REA는 Reverse Engineer Anything의 줄임말입니다.소프트웨어 역분석과 법 · 프로그램코드역분석남이 만든 소프트웨어를 뜯어보는 일이 어디까지 허용되는지를 정하는 규칙입니다. 국내에서는 저작권법의 프로그램코드역분석 조항, 영업비밀 보호 규정, 그리고 제품 이용약관이 함께 경계를 정합니다.티어다운 · 제품 역분석경쟁 제품이나 잘 만든 서비스를 부품·화면·단계 단위로 하나씩 뜯어보며, 왜 그렇게 설계했는지를 거꾸로 읽어 내는 분석 방법입니다. 마케팅에서는 경쟁사의 랜딩페이지·자료 신청 과정·후속 이메일 흐름을 단계별로 해부하는 데 씁니다.코딩 에이전트사람이 말로 목표를 주면 스스로 파일을 읽고, 코드를 쓰고, 명령을 실행하고, 결과를 확인하며 작업을 끝까지 진행하는 AI입니다. Claude Code, Codex, Cursor의 에이전트 모드가 대표적입니다.오픈소스소스코드를 누구나 보고, 쓰고, 고치고, 나눌 수 있게 공개한 소프트웨어. 오늘날 IT의 상당수가 오픈소스 위에 세워져 있다.사이버 보안해킹·유출·악성코드 등 디지털 위협으로부터 시스템·데이터·사용자를 지키는 전반적 방어 활동.
이 용어와 연결된 교육
📚에이전트 AI 실무 입문나눔경영컨설팅 기업교육 · 대면/온라인과정 보기 →
이 주제로 사내 교육이 필요하신가요?
담당자 맞춤 커리큘럼·견적을 바로 받아보세요.
교육 문의하기
최종 수정 2026-10-19 · 감수 김종혁

자주 묻는 질문

행위 자체가 불법은 아닙니다. 다만 대상의 이용약관, 저작권법의 프로그램코드역분석 규정, 영업비밀 보호 규정에 따라 허용 범위가 정해집니다. 회사가 소유한 시스템을 분석하는 것과 남의 제품을 베끼려고 분석하는 것은 전혀 다르게 취급됩니다.
아닙니다. 디컴파일 결과는 원본을 추정한 재구성본이라 변수 이름·주석·설계 의도는 대부분 사라져 있습니다. 동작 원리를 이해하기엔 충분하지만 원본을 그대로 복원하는 기술은 아닙니다.
레거시 시스템 이관, 외주 결과물 검수, 경쟁 제품 이해처럼 설계 문서 없이 결과물만 남은 상황은 어느 부서에나 생깁니다. 직접 분석하지 않더라도 무엇을 맡기고 어디까지 허용되는지 판단하려면 개념을 알아야 합니다.
AI 에이전트가 분석 도구를 대신 조작하고 결과를 설명해 주는 수준까지는 왔습니다. 다만 결론의 근거를 확인하고, 법적으로 허용되는 범위인지 판단하는 일은 여전히 사람의 몫입니다.