Dotfuscator Community Edition은 얼마나 좋은가요? “충분한 난독 진”이란 무엇입니까? [닫은

StackOverflow https://stackoverflow.com/questions/2030136

문제

나는 작은 저렴한 가격의 유틸리티를 출시 할 계획입니다. 이것은 비즈니스보다 취미이기 때문에 VS2008과 함께 제공되는 Dotfuscator Community Edition을 사용할 계획이었습니다.

얼마나 좋은가요?

나는 또한 "충분히 충분한 oppuscator"의 정의를 사용할 수 있습니다. Dotfuscator Community Edition에서 누락 된 기능을 충분히 만들 수 있습니다.

편집하다:

나는 상업용 난독터의 수에 대한 가격을 확인했고 비용이 많이 들었다. 그만한 가치가 있습니까?

상용 버전이 역 엔지니어링으로부터 훨씬 더 잘 보호 하는가?

나는 내 응용 프로그램이 갈라진 것을 두려워하지 않습니다 (응용 프로그램이 너무 나빠서 아무도 크래킹에 관심이 없다면 실망 할 것입니다). 어쨌든 크게 보호되지 않으며 코드의 소수의 장소에서 지나치게 복잡한 직렬 키 및 라이센스 점검이 아닙니다. 난독 화가 없으면 누군가가 쉽게 소스 코드를 얻고 브랜드를 변경하여 자체로 판매 할 수 있다는 것이 저를 버그로 만듭니다.

이런 일이 많이 발생합니까?

편집 2 :

누군가 상업적 난독터를 추천 할 수 있습니까? 나는 그들 중 많은 것을 발견했고, 모두 비싸고 일부는 웹 사이트에 나열된 가격이 없습니다.

특징 현명한 모든 제품은 다소 비슷해 보입니다.

Obfuscator가 가져야 할 최소한의 기능 세트는 무엇입니까?

도움이 되었습니까?

해결책

간단히 말해서, Dotfuscator Community Edition과 다른 "Professional"에디션의 주요 차이점은 Community Edition이 귀하의 네임 스페이스, 메소드 이름 및 기타 "공개"수업에 대한 액세스 가능한 측면 만 실제로 난독 화하고 변경한다는 것입니다. 함수 자체를 탐구하고 함수 내에서 "개인"코드를 난독 화하지 않습니다.

또한 Community Edition은 응용 프로그램 내의 제어 흐름과 같은 것들을 난독 화하기 위해 아무것도하지 않으며 여러 어셈블리의 코드를 하나의 어셈블리로 "결합"하지 않습니다. 이들은 "전문가"유료 버전 내에서 제공되는 기능입니다.

Community Edition (Visual Studio와 함께 제공되는 "무료"버전)과 "Professional"의 가장 좋은 비교는 다음 두 링크를 살펴보면 찾을 수 있습니다.

선제 적 닷컴 러스 캐터 에디션 비교

MSDN의 Dotfuscator Community Edition 3.0

그러나 MSDN 링크는 약간 구식이지만 DotFuscator의 다양한 판에서 사용할 수있는 실제 기능에 대해 훨씬 더 나은 설명을 제공합니다.

편집하다:

상업용 난독 자르기는 많은 비용이 들며, 돈의 가치가 있는가? 글쎄, 그것은 정말로 당신만이 만들 수있는 판단 부름입니다. 개인적으로, 나는 그것이 당신의 시나리오에서 그만한 가치가 없다고 말할 것입니다. 첫째, 하나의 응용 프로그램 만 보호하고 싶기 때문에 ( "저렴한 가격이 작고 저렴한 유틸리티 하나를 출시 할 계획입니다.") 둘째, 두 번째로, 당신은 응용 프로그램이 "금이 간다"( "i"에 지나치게 우려하지 않는다고 말합니다. 내 응용 프로그램이 갈라진 것을 두려워하지 않습니다. ").

난독 화없이 .NET 애플리케이션을 컴파일 한 것들이 원래 소스 코드로 쉽게 리버스 엔지니어링 될 수 있으며 누군가가 소프트웨어를 훔치고 자체적으로 판매 할 수 있다는 것을 이해하는 방법을 이해합니다. 사실은 소프트웨어 불법 복제가 존재한다는 사실이 남아 있으며 아마도 그것을 멈추지 않을 것입니다.

소프트웨어 불법 복제를 막으려 고 노력하는 것은 여기 (스택 오버 플로우)와 인터넷 전체에서 광고에서 논의되었습니다.

일반적인 합의는 시간/돈을 충분히 보호하려고 노력하는 것보다 "공격자"가 할 수있는 것을 보호하려고 노력하는 것보다 제품을 사용할 수있는 것처럼 제품을 만드는 데 시간과 에너지를 더 집중해야한다는 것 같습니다. "어쨌든 소프트웨어를 훔치기위한 최선의 노력에도 불구하고 소프트웨어를 훔치십시오.

이런 일이 많이 발생합니까?

나는 그것이 당신이 생각하는 것보다 훨씬 적은 일이 발생한다고 말할 것입니다. 물론, 소프트웨어가 금이되지만 너무 많은 사람들이 실제로 다른 사람의 소스 코드를 훔쳐서 자신의 소스 코드를 완전히 다시 브랜드화한다고 생각하지 않습니다. 나는 그것이 그렇지 않거나 일어나지 않았다고 말하지는 않지만 확실히 흔한 일이 아닙니다.

요약하자면, 최선의 방법은 시간/돈의 투자가 거의 필요하지 않으므로 코드를 가장 많이 난독 화하는 데 도움이되기 때문에 유용성을 위대하게 만드는 데 집중하는 것이 가장 좋습니다. 명백한 눈을 떼지 만 누군가가 제품/코드를 충분히 크랙/훔치기를 원한다면 그렇게 할 것입니다.

다른 팁

Visual Studio와 함께 배송 된 Dotfuscator Community Edition은 매우 순진한 솔루션이라고 생각합니다. 기호 이름 변경 만 제공하며 제어 흐름을 전혀 난독 화하지 않습니다. 누군가가 코드를 훔치기로 결정하면 모든 이름을 다시 반환하면됩니다. 이는 소량의 클래스에서는 매우 쉽습니다.

또한 반사기가 제공하는 완벽한 디 컴파일에 의존 할 수 있습니다 (일반적으로 스위치 블록을 엉망으로 만들고 많은 gotos, 불일치 if 엘스 블록 등).

그러나 나는 당신이 시도하는 것이 좋습니다 eziriz .net 반응기. 비용은 $ 179 (Afaik Best Price/Feactions 비율)에 불과합니다. 기호 이름 바꾸기, 문자열 암호화, 제어 흐름 난독 화와 같은 표준 난독 화 기술을 제공합니다. 좋은 보너스로서 그것은 당신의 메인 어셈블리와 모든 타사 참조가 포함되어 있고, 암호화되고, 주문형으로로드 된 모든 제 3 자 참조를 포함하는 앱을위한 기본 런처를 만듭니다. 또한 일부 라이센스 기능을 제공합니다.

어쨌든 .NET 애플리케이션을 뒤집는 것은 그렇게 어렵지 않습니다. 나는 재미를 위해 그것을했고, 시간과 돈의 문제 (그리고 물론 상식적인) 단지 응용 프로그램이 얼마나 빨리 갈라 지거나 반전 될 것이라고 말할 수 있습니다.

최소한, 난독 진단제는 다음을 가져야합니다.

  1. 문자열 암호화
  2. 기호 이름 바꾸기
  3. 제어 흐름 난독 화

기능을 갖추는 것이 좋습니다.

  1. 자원 보호
  2. 어셈블리 병합/임베딩
  3. 외부 방법 호출 숨기기
  4. 난독 화 된 어셈블리를 자동 서명하는 능력
  5. 위성 어셈블리 지원
  6. 데드 코드 제거
  7. 메타 데이터 감소
  8. 반 해제자 (반사판)
  9. 방지 탬퍼
  10. 방지 방지

우리를보세요 암호화 오염기 이 모든 것을 지원하는 제품.

리버스 엔지니어링 코드를 돌아 다니는 또 다른 방법은 지원을 추가하는 난독터를 실제로 감당할 수없는 경우 DLL을 배치하는 것입니다. 그리고 배포 전에 어셈블리에서 컴파일러에게 리버스 엔지니어링을 방해하는 오래된 관행 인 컴파일러를 찾을 수 있습니다. 그러나 이미 말했듯이, 주로 우수한 제품과 우수한 코딩 관행을 개발하는 데 집중하면 향후 멋진 Oppuscator 응용 프로그램을 제공 할 수 있습니다. 또한 대부분의 해커 크랙 코드는 제품을 지불하지 않고 코드를 훔치거나 시작 프로그래머로부터 배우지 않는 방법을 찾기 때문에 코드를 크래킹하는 것에 대해 많은 걱정하지 마십시오. 예, JIT가 C# 및 VB.Net 만 지원했을 때만 리버스 엔지니어링을 줄 였지만 JIT는 .NET가 실제로 언어 친화적이기 때문에 많은 것을 읽을 수 있기 때문에 가격입니다. 따라서 코드를 떠나 돈을 벌고 추가 유가 증권을 구입하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top