Dotfuscator Community Edition은 얼마나 좋은가요? "충분히 좋은 난 독기"란 무엇입니까?
저는 작고 저렴한 유틸리티 하나를 출시 할 계획입니다. 이것은 비즈니스보다 취미이기 때문에 VS2008과 함께 제공되는 Dotfuscator Community Edition을 사용할 계획이었습니다.
얼마나 좋은가요?
또한 "충분히 좋은 난독 화자"의 정의를 사용할 수 있습니다. Dotfuscator Community Edition에서 부족한 기능은 충분히 훌륭하게 만들 수 있습니다.
편집하다:
상업용 난 독기 수에 대한 가격을 확인했는데 비용이 많이 듭니다. 그만한 가치가 있습니까?
상업용 버전이 리버스 엔지니어링으로부터 훨씬 더 잘 보호됩니까?
나는 내 응용 프로그램이 크래킹되는 것을 매우 두려워하지 않습니다 (응용 프로그램이 너무 나빠서 누구도 크래킹에 관심이 없다면 실망 할 것입니다). 어쨌든 코드의 몇 군데에 대한 지나치게 복잡한 직렬 키 및 라이센스 검사가 아니므로 크게 보호되지 않습니다. 난독 화없이 누군가가 쉽게 소스 코드를 얻고, 브랜드를 바꾸고, 그것을 자신의 것으로 팔 수 있다는 것은 저를 괴롭 힙니다.
이런 일이 많이 발생합니까?
편집 2 :
누군가 상업용 난독기를 추천 할 수 있습니까? 나는 그들 중 많은 것을 발견했고, 그들 모두는 비싸고, 일부는 웹 사이트에 가격이 나와 있지 않습니다.
기능면에서 모든 제품은 다소 비슷해 보입니다.
난독 화기에 필요한 최소한의 기능 세트는 무엇입니까?
간단히 말해서 Dotfuscator Community Edition과 다른 "전문"버전의 주요 차이점은 Community Edition이 클래스의 네임 스페이스, 메서드 이름 및 기타 "공개"액세스 가능 측면 만 난독 화하고 변경한다는 것입니다. 함수 자체를 조사하지 않고 함수 내의 "개인"코드를 난독 화하지 않습니다.
또한 Community Edition은 응용 프로그램 내의 제어 흐름과 같은 것을 난독 화하는 작업을 수행하지 않으며 여러 어셈블리의 코드를 하나의 어셈블리로 "결합"하지 않습니다. 이는 "전문"유료 버전 내에서 사용할 수있는 기능입니다.
Community Edition (Visual Studio와 함께 제공되는 "무료"버전)과 "프로페셔널"유료 버전 간의 최상의 비교는 다음 두 링크에서 찾을 수 있습니다.
MSDN의 Dotfuscator Community Edition 3.0
MSDN 링크는 약간 오래되었지만 Dotfuscator의 다양한 버전에서 사용할 수있는 실제 기능에 대한 훨씬 더 나은 설명을 제공합니다.
편집하다:
상업용 난독 화기는 많은 비용이 들며 그만한 가치가 있는지 여부는? 글쎄요, 그건 당신 만이 할 수있는 판결입니다. 개인적으로 나는 당신의 시나리오에서 그만한 가치가 없다고 말하고 싶습니다. 첫째, 하나의 응용 프로그램 만 보호하기를 원하기 때문에 ( "저는 작은 저가 유틸리티 하나를 출시 할 계획입니다.") 둘째, 응용 프로그램이 "크랙"되는 것에 대해 지나치게 염려하지 않는다고 말합니다 ( "나는" 내 응용 프로그램이 깨지는 것을별로 두려워하지 않습니다. ").
난독 화없이 컴파일 된 .NET 응용 프로그램을 원래 소스 코드로 쉽게 리버스 엔지니어링 할 수 있고 누군가이 소프트웨어를 사용하여 소프트웨어를 훔쳐 자신의 것으로 판매 할 수 있다는 점을 이해합니다. 사실은 소프트웨어 불법 복제가 존재하며 당신은 그것을 결코 막을 수 없을 것입니다.
소프트웨어 불법 복제를 막으려는 시도는 여기 (Stack Overflow)와 인터넷 전체에서 광고 구역질에 대한 논쟁이있었습니다.
일반적인 합의는 "공격자"가 "공격자"가 할 수있는 무언가를 보호하기 위해 같은 시간을 사용하는 것보다 제품을 최대한 훌륭하게 만드는 데 더 많은 시간과 에너지를 집중해야한다는 것 같습니다. " 그가 그렇게하는 것을 막기 위해 최선을 다 했음에도 불구하고 어쨌든 당신의 소프트웨어를 크랙 "/ 훔치십시오.
이런 일이 많이 발생합니까?
아마 당신이 생각하는 것보다 훨씬 덜 발생한다고 말할 것입니다. 물론 소프트웨어는 크랙이되지만 실제로는 너무 많은 사람들이 다른 사람의 소스 코드를 훔쳐서 자신의 것으로 판매하기 위해 완전히 브랜드를 변경하지는 않는다고 생각합니다. 나는 그것이 일어나지 않았거나 일어나지 않았다고 말하는 것은 아니지만 확실히 흔한 일이 아닙니다.
요약하자면 가장 좋은 방법은 유틸리티를 가능한 한 훌륭하게 만드는 데 집중하고 무료 Dotfuscator obfuscator를 사용하는 것입니다. 시간 / 돈의 투자가 거의 필요하지 않기 때문에 코드를 최대한 난독화할 수 있습니다. 눈에 띄는 눈이지만 누군가가 당신의 제품 / 코드를 충분히 크랙 / 훔치고 싶어한다면 그들은 그렇게 할 것이라는 사실에 대해 잠을 잃지 마십시오.
Visual Studio와 함께 제공되는 Dotfuscator Community Edition은 매우 순진한 솔루션이라고 생각합니다. 기호 이름 변경 만 제공하고 제어 흐름을 전혀 혼란스럽게하지 않습니다. 그리고 누군가가 당신의 코드를 훔치기로 결정했다면 모든 이름을 리팩토링하기 만하면됩니다. 이것은 적은 양의 클래스로 매우 쉽습니다.
또한 Reflector가 제공하는 완벽하지 않은 디 컴파일에 의존 할 수 있습니다 (일반적으로 스위치 블록을 엉망으로 만들고 많은 gotos를 생성하고 if-else 블록이 일치하지 않는 등).
하지만 Eziriz .NET Reactor 를 사용해 보는 것이 좋습니다 . 가격은 179 달러 (AFAIK 최고의 가격 / 기능 비율)에 불과합니다. 기호 이름 변경, 문자열 암호화, 제어 흐름 난독 화와 같은 표준 난독 화 기술을 제공합니다. 좋은 보너스로 메인 어셈블리와 모든 타사 참조가 암호화되어 필요에 따라로드되는 앱용 기본 런처를 생성합니다. 또한 일부 라이센스 기능을 제공합니다.
어쨌든 .NET 응용 프로그램을 되 돌리는 것은 그렇게 어렵지 않습니다. 저는 재미있게 해냈고 응용 프로그램이 얼마나 빨리 크래킹되거나 되 돌리는지는 시간과 돈 (물론 상식)의 문제라고 말할 수 있습니다.
최소한 난독 화기는 다음을 가져야합니다.
- 문자열 암호화
- 기호 이름 변경
- 제어 흐름 난독 화
좋은 기능은 다음과 같습니다.
- 자원 보호
- 어셈블리 병합 / 포함
- 외부 메서드 호출 숨기기
- 난독 화 된 어셈블리 자동 서명 기능
- 위성 어셈블리 지원
- 데드 코드 제거
- 메타 데이터 감소
- 디 컴파일러 (반사기)
- 변조 방지
- 디버깅 방지
이 모든 것을 지원하는 Crypto Obfuscator 제품을 살펴보십시오 .
Another way to get around reverse engineering code is where you place your dll's if you cannot really afford obfuscators which do add support. And in your assembies before deployment tell the compiler where to look for them which was an old practice to hinder reverse engineering. But like it was already said, concentrate mostly on developing an excellent product and good coding practices, then you will be able to afford a nice obfuscator application in the future. Also, try not to worry to much about others cracking your code because most hackers crack code just find a way to use the product without paying for it and not to steal code or to learn from for beginning programmer. Yeah, I wish JIT only supported c# and vb.net which would have really cut down on reverse engineering but since jit can read many due to .net being really language friendly that is the price. So code away and make some money, buy some additional securities.
ReferenceURL : https://stackoverflow.com/questions/2030136/how-good-is-dotfuscator-community-edition-what-is-good-enough-obfuscator
'development' 카테고리의 다른 글
기능적인 방식으로 예외를 처리하는 더 나은 접근 방식 (0) | 2020.12.25 |
---|---|
Python : 포함 된 패키지 가져 오기 (0) | 2020.12.25 |
주석 (#)은 Vim의 삽입 모드에서 줄 시작으로 이동합니다. (0) | 2020.12.25 |
이름 속성은 HTML 문서에서 고유해야합니까? (0) | 2020.12.25 |
C / C ++ 소스로 컴파일되는 프로그래밍 언어? (0) | 2020.12.25 |