프로그래밍/디컴파일러

디컴파일 하는 법 - dotPeek (.Net 기반 프로그램 복원)

어른 코끼리 덤보 2025. 4. 24. 00:46

 

지난 포스팅에서 디컴파일이란 무엇인가 알아봤다

 

이번 포스팅에선 실제 디컴파일러 툴을 이용해 실행파일의 소스코드를 추출하는 작업을 해보려 한다.

 

1. 다운로드 및 라이선스 내용

솔직히 어려울 것이 없다. 아래 순서 그대로 따라하면 된다

 

dotPeek 다운로드 검색 → 홈페이지에서 다운로드 → Install 파일 실행

 

 

 

해당 파일을 실행하면 아래 창이 뜨는데 설치를 진행하기전 집고 넘어가야할 내용이 있는데 바로 라이센스이다.

간단한 내용을 집고 넘어가자면 아래와 같다. 

2025년 4월 23일 기준으로 다운로드후 GPT 한테 요약 요청한 내용기반 정리한 것으로 간단하게라도 읽어보는걸 추천한다.

발효일 2021년 9월 1일
적용 대상 기업, 조직, 법인 사용자를 위한 JetBrains 제품 사용 계약
라이선스 (사용 조건 ) 1인 사용자 라이선스:
한 명의 사용자에게 할당, 여러 PC에 설치 가능 (동시 사용 불가)

Floating License 사용 시:
라이선스를 서버에서 관리하며, 한 번에 한 대의 PC에서만 사용 가능

Fallback 버전 제공:
구독이 만료되어도, 만료 12개월 전 버전(Fallback Version) 은 계속 사용 가능 (단, 1년 이상 연속 구독 필요)
금지사항 라이선스 공유/재판매/임대 금지
소스코드 역분석, 수정, 리패키징 금지
제3자에게 제품 접근 권한 부여 금지
결재 및 환불 구독료는 선불, 세금 별도
중도 해지해도 환불 불가
구독 갱신은 자동, 계정에서 해지 가능

평가판: 30일간 무료 사용 가능
Redistributable 제품(CLI, SDK 등)은 일부 재배포 허용되며, 제3자 사용 시 별도 동의 필요
면책 조항 JetBrains는 제품의 완성도나 오류 보장하지 않음 ("있는 그대로" 제공)
데이터 손실, 수익 손실 등에 대한 법적 책임 없음
최대 책임 한도는 $100 또는 최근 3개월 구독료 중 높은 금액
기타 적용 법률: 체코 공화국 법
분쟁 해결: 체코 중재재판소 (영어 진행)
개인정보: JetBrains 개인정보보호정책에 따라 처리됨
마케팅: 고객사의 이름/로고는 JetBrains 마케팅 자료에 사용될 수 있음



위 라이선스 내용을 확인하고 Next → Install 버튼 누르면 설치가 진행된다

 

2. 실행

검색에서 dotPeek을 검색하면 저렇게 실행파일이나오는데 실행해보면 아까 설치에 공지했던 라이센스를 한번도 물어본다

 

이후 지역은 선택하라고 하는데 이건 굳이 안해도 Asia가 아닌 불분명으로 선택할 수도 있다.

나는 그냥 해줬다

 

이 후에도 라이센스를 물어보고 하는 과정이 한번더 있는데 그냥 하란대로 넘어가면 된다.

계속 반복되는 내용으로 스킵하겠다.

 

3. 디컴파일링

위 내용을 다 마치면 창이 뜨는데 이렇게만 하면 

 

아래 사진처럼

디컴파일 원하는 프로그램을 드래그 앤 드랍으로 dotPeek에 옮기기 → 트리뷰에서 클레스 선택 → 소스코드분석

하면 된다

 

※ 참고 : 저는 개인적으로 예전에 한번 만들어본 프로젝트로 소스 코드를 잃어버려 디컴파일 해서 찾은겁니다.

다른 사람들이 만들어 놓은 프로그램을 그냥 무작정 디컴파일 하실 생각이면 꼭 해도 되는건지 확인 해보세요.

 

 

4. 마치며

나는 예전에 만들어 놓은 Stress Test 프로그램을 프로그램만 가지고 있다 소스코드를 잃어버려 복원하는데 사용 했다.

 

이전 포스팅에서 말했듯 주석 내용은 하나도 복구되지 않았지만

 

간단한 프로그램이라 그런지 거즘 100% 복원되는점이 놀라웠다.

 

하지만 이렇게 소스코드가 완벽히 복원되는 만큼

 

이 글을 보고 디컴파일을 하시려는 분들은 법에 저촉되지 않고 건강한 개발을 할 수 있기를 바란다.