댓글 : HTML5 비디오 인텔리전스 게임, 개발 프로세스는 매우 흥미롭고 프로그래밍을 좋아하지만 게임 로직을 구현 한 후 흥미로운 아이디어가 있습니다. 코드를 숨길 수있는 방법을 생각하지 않겠습니까?
최근에 첫 번째 웹 게임 인 HTML5 비디오 게임을 개발했습니다. 개발 프로세스는 매우 흥미롭고 프로그래밍을 좋아하지만 게임 로직을 구현 한 후 흥미로운 아이디어가 있습니다. 코드를 숨길 수있는 방법을 생각하지 않겠습니까? 처음에는 마우스 오른쪽 버튼을 클릭 할 때 페이지 소스 코드를 볼 수있는 경우 컨텍스트 메뉴를 금지하는 것과 같은 매우 간단한 관행을 생각하고있었습니다. 그러나 이것은 의미가 없습니다. 마우스 오른쪽 버튼 클릭 메뉴를 사용할 수 없습니다. 사람들은 여전히 메뉴 표시 줄에서 키보드 바로 가기를 통해 소스 코드를 볼 수 있습니다.그림에는 수천 개의 단어가 포함될 수 있습니다
이것은 그림의 볼륨에 따라 다릅니다. 그러나 나는 소스 코드를 암호화하고 사진에 저장하기로 결정했습니다. HTML5의 CANVAS 구성 요소는 이미지 픽셀 작업을 지원하기 때문에 이러한 종류의 것에 매우 적합합니다. 픽셀은 빨간색, 녹색, 파란색 및 알파 채널의 4 가지 값 (채널)으로 표시됩니다. 그들의 값은 0에서 255로 분포되어 있습니다. 내 JavaScript 코드는 문자이며 각 문자는 ASCII에 해당하는 값을 가지고 있습니다. ASCII 값의 범위는 0-255이므로, 내가하고 싶은 것은 캔버스의 각 픽셀을 가로 지르고 각 픽셀에 대해 3 개의 코드 문자의 ASCII 값을 RGB 값으로 설정하는 것입니다. charcodeat 함수를 통해 이러한 문자를 쉽게 얻을 수 있습니다.
.Charcodeat (0)
생성 된 것은 화려하고 작은 그림입니다. 이것은 내 프로그램 코드이며 다음을 살펴 보겠습니다.
디코딩 할 때 캔버스 에이 그림을 그려서 픽셀 포인트를 가로 지르고 값 r, g 및 b로 표시된 문자를 꺼내야합니다.
String.fromcharcode (코드)
큰 문자열로 연결하면 코드 실행 코드입니다.
이 방법으로 소스 코드를 보호 할 수 있습니까?
실제로, 경험이 풍부한 (또는 경험이없는) 프로그래머는 여전히 이미지를 디코딩하고 내부 코드를 제거하는 방법을 알 수 있지만, 이는 비즈니스 목적이 좋지 않은 사람들이 코드를 훔치는 것을 방지하는 첫 번째 단계라고 생각합니다.
이 방법의 주요 단점
이 기술은 HTML5 Canvas 기술을 지원하는 최신 브라우저에서만 사용할 수 있으며 IE6 및 IE8에서는 불가능합니다. 일부 최신 브라우저조차도 그림의 알파 채널 인코딩과 관련하여 지원 문제가 있으므로 픽셀 당 3 자만 배치 할 수 있습니다. 100 × 100 크기의 이미지는 30,000 개의 텍스트 문자를 저장할 수 있습니다.
다른 사람이 코드를 복사하지 못하게하는 다른 간단한 방법이 있습니까? 물론 우리는 문자를 암호화 할 수 있지만, 암호 해독 단계를 쉽게 갈라질 수 없도록하려면 어떻게해야합니까? 당신의 생각을 말 해주세요!