문제

진정으로 '최고의'방법이 있다면 ~이다 Python 앱을 배송하고 사람들이 알고리즘/보안/작업을 쉽게 (쉽게) 리버스 엔지니어링 할 수 없도록하는 가장 좋은 방법은?

'가장 좋은'방법이 없다면 사용 가능한 다른 옵션은 무엇입니까?

배경 : 나는 Python의 코딩을 좋아하고 더 많은 앱을 출시하고 싶습니다. 내가 궁금해하는 한 가지는 사람들이 내가 넣은 라이센스 코드를 우회하거나 전체 소스 기반을 찢어 버릴 수 있다는 것입니다. 나는 py2exe와 이와 유사한 응용 프로그램에 대해 들었지만, '선호하는'방법이 있거나이 문제가 인생의 사실 일지 여부가 궁금합니다.

도움이 되었습니까?

해결책

모호함을 통한 보안 절대 공장. 독점 라이센스를 사용해야하는 경우, 반 구운 난독 화 시도가 아니라 법을 통해 시행하십시오.

보안을 배우는 것이 걱정된다면 (예 : 암호화) 알고리즘이 동일하게 적용됩니다. AES와 같은 실제 보안 알고리즘 (AES)은 알고리즘이 완전히 알려져 있어도 안전합니다.

다른 팁

C# 또는 Java와 같은 컴파일 된 언어를 사용하더라도 사람들은 동기 부여되고 기술적으로 유능한 경우 리버스 엔지니어링을 수행 할 수 있습니다. 난독 화는 이것에 대한 신뢰할만한 보호가 아닙니다.

소프트웨어의 최종 사용자 라이센스 계약에 리버스 엔지니어링에 대한 금지를 추가 할 수 있습니다. 대부분의 독점 회사가이를 수행합니다. 그러나 그것은 위반을 막지 않고 법적 상환 만 제공합니다.

그만큼 베스트 솔루션은 사용자의 코드를 읽기위한 액세스 권한이 제품이나 서비스를 판매하는 능력에 해를 끼치 지 않는 제품 및 서비스를 제공하는 것입니다. 비즈니스를 제공하거나 코드 자체가 아닌 데이터에 대한 정기적 인 업데이트를 구독합니다.

예 : Slashdot은 실제로 웹 사이트에 대한 코드를 사용할 수있게합니다. 이것은 웹 사이트를 실행하는 능력에 해를 끼치나요? 아니.

또 다른 구제책은 가격을 설정하여 코드를 해적하려는 노력이 단순히 제품을 사용하기 위해 합법적 인 라이센스를 구매하는 것보다 더 많은 비용이 든다는 것입니다. Joel Spolsky는 그의 기사와 팟 캐스트 에서이 효과를 추천했습니다.

배송 a 상용 Mac 데스크탑 앱 파이썬에서 우리는 다른 답변에 설명 된대로 정확하게 수행합니다. 난독 화가 아니라 괜찮은 eula로 법으로 자신을 보호하십시오.

우리는 사람들이 코드를 리버스 엔지니어링하는 데 어려움이 없었습니다. 그리고 우리가 그렇게한다면, 나는 우리가 법적 조치를 취할 수 있다고 확신합니다. 그렇습니다. 인생의 사실입니다. 그러나 함께 살기가 어렵지 않은 것. 괜찮은 Eula를 쓰는 괜찮은 변호사를 얻으십시오.

당신이 찾고있는 단어는 난독 화됩니다. 빠른 Google이 공개합니다.

http://www.lysator.liu.se/~astrand/projects/pyobfuscate/

하지만:

a) 저작권 침해가 문제가되는 경우, 법이 귀하의 편에 있습니다 (모든 파일에 적절한 저작권 통지를 포함하는 한).

b) 영리한 경우 오픈 소스 응용 프로그램에서 이익을 얻을 수도 있습니다.

c) 지적 재산이 진정으로 안전 해지기를 원한다면 유일한 대답은 누구에게도 처음에 그것을 갖지 못하게하는 것입니다. 웹 앱으로 응용 프로그램을 작성하십시오 (Django 사용 권장). 웹 호스팅 제공 업체 만 있습니다. 코드에 대한 액세스.

py2exe

Windows Py2Exe는 최종 사용자에게 코드를 운송하는 한 가지 방법이며 Py2Exe는 Python 통역사, 필요한 DLL 및 Python Bytecode로 컴파일 된 코드를 번들로 연결합니다.

다음은 Python Bytecode 지침은 다음과 같습니다.

http://www.python.org/doc/2.5.2/lib/bytecodes.html

또는 사용할 수 있습니다 디스 일부 PYC/PYO 파일을 분해합니다.

따라서 py2exe를 사용하는 것은 컴파일 된 Python (PYC/PYO) 파일을 배포하는 것과 유사합니다.

Shedskin C ++ 컴파일러

Shedskin 컴파일러는 Python의 서브 세트를 C ++로 컴파일하여 모든 컴파일러를 사용하여 기본 코드로 컴파일 할 수 있습니다.

pypy

나는 pypy에 대해 너무 많이 모른다. 그들의 문서에 따르면 Pypy는 C 코드를 생성 할 수 있습니다.

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