파이썬 코드를 보호하는 방법이 하나 더 있다고 생각합니다. 난독 화 방법의 일부. Mount and Blade와 같은 게임이나 자체 파이썬 인터프리터 (오픈 소스라고 생각하는 원래 인터프리터)를 변경하고 다시 컴파일 한 것으로 OP 코드 테이블의 OP 코드가 표준 파이썬 OP와 다르게 변경되었습니다. 코드.
따라서 파이썬 소스는 수정되지 않지만 * .pyc 파일의 파일 확장자가 다르고 op 코드가 공용 python.exe 인터프리터와 일치하지 않습니다. 게임 데이터 파일을 확인한 경우 모든 데이터는 Python 소스 형식입니다.
이런 식으로 미성숙 한 해커를 엉망으로 만들기 위해 모든 종류의 불쾌한 트릭을 수행 할 수 있습니다. 경험이없는 해커들을 막는 것은 쉽습니다. 이길 가능성이없는 것은 전문 해커입니다. 그러나 대부분의 회사는 프로 해커를 직원들에게 오랫동안 생각하지 않습니다 (아마도 해킹 당하기 때문일 것입니다). 그러나 미성숙 한 해커들이 여기 저기 있습니다 (호기심 많은 IT 직원으로 읽음).
예를 들어, 수정 된 인터프리터에서 소스의 특정 주석 또는 doc 문자열을 확인하도록 허용 할 수 있습니다. 이러한 코드 줄에 대해 특수한 OP 코드를 가질 수 있습니다. 예를 들면 다음과 같습니다.
OP 234는 소스 라인 "# Copyright I written this"또는 "# Copyright"이없는 경우 "if False :"에 해당하는 op 코드로 해당 라인을 컴파일합니다. 기본적으로 불분명 한 이유로 코드 전체를 비활성화합니다.
수정 된 인터프리터를 재 컴파일 할 수있는 한 가지 유스 케이스는 앱을 작성하지 않은 경우, 앱은 크지 만 금융 앱의 전담 서버 관리자 인 경우와 같이 앱을 보호하기 위해 비용을 지불하는 것입니다.
소스 또는 opcode를 눈알을 위해 열어 두는 것이 약간 모순되지만 네트워크 트래픽에는 SSL을 사용합니다. SSL도 100 % 안전하지 않습니다. 그러나 그것은 대부분의 눈이 그것을 읽지 못하게하는 데 사용됩니다. 약간의주의 사항은 합리적입니다.
또한 충분한 사람들이 파이썬 소스와 opcode가 너무 가시적이라고 생각할 경우 누군가가 최소한 간단한 보호 도구를 개발할 가능성이 높습니다. 따라서 "Python 앱을 보호하는 방법"을 요구하는 사람들이 많을수록 개발을 촉진 할뿐입니다.