난독화 프로그램 추천해주세요..

CounfuserEX 프로그램 쓰고 있습니다. 하지만 디컴파일이 비교적 쉽게 되고 있더라고요… 혹시 난독화 프로그램 추천해줄수있을까요?

1개의 좋아요

개인적으로 관리언어를 사용하면서 난독화는 의미 없고 비추천 드립니다.

난독화를 하는 것 보단

중요한 처리 작업은 서버를 통해 처리 하도록 클라이언트와 서버를 분리 하던지

그것이 어렵다면

중요 로직을 네이티브DLL 로 처리하여 호출해서 사용하는 것이 좋다고 생각 합니다.

난독화는 코드 이해를 어렵게 할 뿐이지 내부 로직은 어차피 노출이 되기 때문에 크게 이점은 없다고 보여집니다.

오히려, 제 경험에 의하면 난독화 후 릴리즈 했을때 일부 PC에서 제대로 프로그램이 동작되지 않았던 경험이 있었습니다.

또한 익셉션 발생시 로그파일을 남길때 정확한 익셉션 메서드 정보를 알기 어려운 것도 있습니다. (메서드 명 등이 이상한 문자열로 변경 되니깐요)

아무튼 클라이언트와 서버 분리 또는 네이티브DLL 연동 등을 고려해 보시는게 어떨까 합니다.

7개의 좋아요

궁극적으로 애플리케이션을 암호화하는 것이 아닌 이상, 디컴파일을 막을 방법은 없습니다. 그리고 대개 디컴파일러들은 애플리케이션 저작권 보호의 관점보다는 종속성 간소화를 통한 배포 과정 개선이나 성능 개선을 목표로 하기 때문에, 디컴파일 방지용 프로그램을 이용하는 것 보다는, 정적 링커를 이용하시는 것이 디컴파일 방지 관점에서도 조금은 더 효과적이고 성능 상의 이점이 있습니다.

위의 목록에 나와있는 것 중에서 예산 규모에 맞는 난독 처리 솔루션을 찾아보시면 좋을 것 같습니다.

만약 빌드하는 애플리케이션이 .NET Core 3.x 혹은 5 이상인 경우 Windows Forms, WPF 애플리케이션이 아니라면, 아직 개발 단계이지만 IL Compiler (https://github.com/dotnet/runtimelab/tree/feature/NativeAOT) 를 검토해보실 수 있습니다.

4개의 좋아요