c# 디컴파일을 방지하는 방법은 무엇일까요???

이번에 디컴파일을 처음 해보게 되었는데 이렇게 소스가 다 노출 될 줄은 몰랐네요…
이게 사수가 없는 개발자의 결말인거 같습니다…

보통 디컴파일을 막기 위해 난독화나 c++로 dll을 만들어서 import 하는걸로 알고 있는데요.

난독화를 하게 되면 윈도우에서 바이러스로 인식한다고 하네요… 물론 방화벽에서 해당 프로그램을 허용 시키면 되지만 상용 프로그램을 그럴수도 없고 c++을 dll로 만들어서 import를 하게 되면 추가 업무가 늘어나게 되고 c++ 공부도 당연히 더 해야겠죠 ㄷㄷ

개발 선배님들은 c#으로 프로그램을 개발할 때 어떻게 중요 소스를 가리시나요??

2개의 좋아요

보통은 난독화 솔루션을 이용합니다.
그런데 난독화 후 바이러스로 인식하지 않는데 혹시 어떤 도구를 이용하셨나요?

3개의 좋아요

일단, 디컴파일을 방지하는 방법은 없습니다.
그래서 중요한 로직이 있는 프로그램은 아예 윈도우 앱으로 만들지 않죠.

참고로, 난독화를 해서 바이러스에 걸리는게 아니라 난독화 앱에서 제공하는 Packing 기능 때문에 바이러스로 오인해서 잡는겁니다. 즉, 패킹 기능을 제외하고 다른 난독화 기능만 적용하면 바이러스로 걸리지 않고, 더미다 같은경우 인증서를 첨부하면 패킹을 해도 바이러스로 오인하지 않도록하는 기능도 있습니다.

3개의 좋아요

모든 언어가 리버싱에서 자유로울 수는 없는데, 유독 c#이 온전히 오픈되어버리죠… 망할 ILㅎㅎ
아예 암호화를 해버리면 그걸 실행하는 OS에서 이해를 하지 못하니…
최대한 사람이 이해하기 복잡하고 까다롭게 바꾸는 게 현재로서는 최선입니다.
그냥 참고만 하시라고 링크 하나 남겨드립니다. (재미로 읽으셔요ㅎㅎㅎ)

2개의 좋아요