문제

SO에 대해 이미 비슷한 질문이 있다는 것을 알고 있습니다.하지만 내 질문은 더 이론적인 것입니다.

완벽한 시험 시스템을 설계하는 것이 가능한지 궁금합니다.완벽하다는 것은 크래커가 그러한 시스템의 알고리즘을 알고 있더라도 크랙할 수 없는 시스템을 의미합니까?

프로그래밍 질문이 아니라면 죄송합니다.

편집하다: 제 질문을 좀 더 실용적으로 만들어야 할 것 같아요.독립형 애플리케이션이 아닌 전체 시스템에 대해 묻고 있습니다.시스템은 Linux OS가 설치된 PC와 이에 연결된 일부 하드웨어로 구성됩니다.HDD 암호화를 사용할 수 있을까요?

도움이 되었습니까?

해결책

아마도 유일한 방법은 인터넷 기반의 "서비스로서의 소프트웨어" 애플리케이션일 것입니다.액세스 권한을 제공하지 않으면 소프트웨어를 사용하지 않는 것입니다.데스크톱 기반 애플리케이션인 경우 일부 주요 기능은 여전히 ​​온라인 서버 어딘가에 있어야 합니다.

해커가 자신의 로컬 컴퓨터에 전체 애플리케이션을 갖고 있는 경우 어떤 방식으로든 리버스 엔지니어링되어 "크랙"될 수 있습니다.이 문제를 극복하는 유일한 방법은 기능의 일부가 해당 컴퓨터에 절대 존재하지 않도록 하는 것입니다.

다른 팁

크랙 방지 소프트웨어를 갖는 유일한 (이론적) 방법은 완전히 폐쇄 된 시스템을 갖는 것입니다. 하드웨어에서 OS, 응용 프로그램 및 개발 도구에 이르기까지 모든 것을 제어하면 변조를 방지 할 수 있습니다.

이것이 어떻게 이론적이라고 말했는지 주목하십시오. 필연적으로 하드웨어를 수정하는 방법을 찾을 수있는 하드웨어 해커를 찾을 수 있습니다 ( 모드). 여기에서 원하는 소프트웨어를로드하고 이미있는 소프트웨어를 수정할 수 있습니다.

물리적 보안 (SAFE, VAULTS 등)에 적용되는 동일한 모델은 소프트웨어에 적용됩니다. 요점은 합법적 인 수단을 통해 상품을 더 비싸게 도둑질하거나 복사하는 것입니다. 완벽한 시스템을 만들 수는 없지만 스크립트 어린이와 취미 해커가 제품을 크래킹하는 것을 쉽게 방지 할 수 있습니다. 반면에 프로는 깨기 위해 산다. 그들은 방법을 찾을 것입니다.

당신은 당신이 제어 할 수있는 사람이 아닌 원격 서버에 의존하도록 응용 프로그램을 설계 할 수 있습니다.

아니요.매우 어렵게 만들 수 있지만 귀하의 질문은 "어떻게 누군가가 코드를 실행하게 하고 코드를 실행하지 못하게 할 수 있습니까?"와 같습니다.

예를 들어, 코드의 작지만 중요한 부분을 생략하고 해당 코드를 제어하는 ​​서버에서 다운로드하도록 요구할 수 있습니다.이를 통해 평가판 활동을 추적하고 특정 사용자를 차단할 수 있습니다.그러나 일단 코드를 받으면 코드를 캡처하고 충분한 작업을 통해 방해받지 않는 제품 버전을 구축할 수 있습니다.

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