2013-08-21 1 views
2

사용자가 복사하려는 경우 일부 보호 기능을 사용하여 로컬 소프트웨어에 일부 비디오 파일을 표시하려고합니다. 나는 암호화 방법과 일부 DRM 솔루션을 검색했다. 그러나 인터넷 연결이 필요하지는 않다. C#으로 응용 프로그램을 개발하고 있습니다. 비디오 파일은 CD에 있습니다.로컬 소프트웨어 용 비디오 암호화

기본적으로 비디오 파일을 CD로 암호화하고 RAM에서 암호 해독을하므로 모든 플레이어가 암호화 된 파일을 재생할 수있는 것은 아니므로 내 플레이어 만 복사 할 수 있으며 복사하지 않을 수도 있습니다. Delphi에서 만든 비슷한 프로젝트를 들었지만 이것이 C#에서 가장 좋은 방법인지는 모르겠습니다.

내 질문

  1. 이가 C#에서 좋은 접근 방식인가?
  2. 이 방법은 mp4 또는 avi 파일에 적합합니까?
  3. C#에서이 프로세스에 대한 라이브러리가 있습니까?

진행 : CD가 SO에 보호를 복사에 대한 내가 검색. 사용자는 미리 작성된 CD의 데이터를 보관하여 어딘가에 보관하는 것이 좋습니다. 어쩌면 나는 독특한 플레이어를 만들 수 있으며, 각각은 그 데이터를 임베딩 할 수 있습니다. 또는 웹상의 데이터베이스를 사용하십시오. 그러나 이것이 더 많은 보안 유출을 야기 할 것 같아요. 또한 데이터베이스를 보호해야합니다. 그러나 사용자가 프로그램에 포함 된 키를 갖지 않으므로 더 좋은 아이디어 일 수 있습니다. 나는 정말로 붙어있는 것처럼 느낀다. 어떤 도움이라도 인정 될 것이다.

답변

1

DRM은 항상 보안을 통해 유지됩니다. 당신이 애매한 한, 잠시 동안 당신을 위해 일할 수도 있습니다. 그러나 ...

사용자 지정 해독 비디오 재생을 사용할 수 있으며 사람들은 플레이어를 복사합니다. 따라서 플레이어를 보호해야합니다. 즉, 마법 토큰을 생성하고 사용자가 해당 토큰을 입력하도록하는 것입니다. 네가 원한다면. 이 기능을 사용하려면 등록 키 (마법 토큰)가 대상 컴퓨터의 정보를 기반으로하는 제품 등록 양식이 있어야합니다.

예를 들어 대상 컴퓨터의 "물건"을 결합하거나 기본 하드 드라이브 볼륨 ID를 말하며 타임 스탬프 또는 시스템 볼륨을 만듭니다 (실제로 간단하게 유지하기 위해). 그런 다음 소프트웨어를 등록하는 웹 서비스를 작성합니다 이 시간 항목 및 토큰을 생성하고 이것은 어떤 메커니즘에 의해 사용자 컴퓨터에 다시 배치됩니다. 그런 다음 소프트웨어는 플레이어가 실행될 때 동일한 알고리즘을 통해 토큰을 계산하고 일치하지 않으면 라이센스 오류로 실패합니다.

이제 새로운 문제가 발생했습니다. 1) 사람들은 로컬 실행 파일을 검사하여 토큰 알고리즘을 파악할 수 있으며 OK/NOT OK 플래그를 계산하고 코드를 패치하여 비디오 스트림의 암호를 해독 할 수 있습니다. 2) 누군가 하드 드라이브 고장으로 인해 컴퓨터를 재구성하면 소프트웨어가 더 이상 작동하지 않습니다. 그래서, 당신은 불행한 고객이 페이스 북에서 당신에 대해 나쁜 말을하고 싶지 않다면 그것을 알아 내야 만합니다. 3) 사람들은 사업을 중단하거나 죽을 때 라이센스 서버가 다운되므로 처음에 보호 된 비디오를 구매하지 않을 것임을 알고 있습니다. 4) 더 많은 시간을 낭비 할 것입니다. 유용하게 무언가를하는 생산적으로 돈 벌기. 5) 그리고 돈도 낭비합니다.

DVD와 기본 복사 방지 기능을 사용하면 많은 시간을 낭비하지 않지만 많은 사람들이 지키지 못할 정도로 많은 보호를받지 못합니다. 좋아하는 검색 엔진에서 "decrypt dvd"를 입력하십시오. 이것은 "고바야시 마루 시나리오"

하나의 최종 관 버클을 잊어 버리십시오. C#은 CLR이 쉽게 해체 될 수 있기 때문에 모호한 보안에 대한 잘못된 접근 방법입니다. C# 코드를 난독 화해야합니다. 네이티브 x85 코드를 디 컴파일/디버깅하는 것이 훨씬 쉽습니다.

+0

어떤 언어가 더 좋습니까? – Kuzgun

+0

CLR 코드는 네이티브 X86 코드보다 디 컴파일하기가 쉽습니다. CLR을 사용할 때 컴파일러는 많은 기호 정보를 유지합니다. 소스 코드는 원시 코드 인 한 중요하지 않습니다. Visual Studio의 관리되지 않는 C++가 원시 코드를 생성한다고 읽었지 만 개인적으로 확인한 적이 없습니다. 물론 작성하기가 더 어렵 기 때문에 관리되지 않는 C++을 작성하는 데 더 많은 시간을 소비하게됩니다. 당신이 능숙하지 않다면. –

2
  1. 아니요, 좋지 않습니다. 귀하의 가정은 CD가 복사되지만 플레이어는 그렇지 않다는 것입니다. 이것은 거의있을 법하지 않습니다.

  2. 일반적으로 이러한 파일은 다른 응용 프로그램에서 재생할 수 있습니다 (파일을 암호화하면 더 이상 AVI 파일이 아닐 수 있습니다). 비디오를 스크램블링 할 수 있기 때문에 다른 응용 프로그램에서도 재생할 수 있지만 완전히 잘못 보입니다. RGB의 R 및 G 채널을 전환하는 것처럼 간단 할 수 있습니다.

  3. 아니요, 아이디어가 처음부터 결함이 있으므로. 점 1을보십시오. 그러나 판매를위한 아마 뱀 기름이,있다.

예산은 할리우드의 약 10 억 배입니다. 그들은 원하는 DRM을 원하지만 여전히 얻을 수 없습니다.

+0

나는 총알 증거가 없다는 것을 알고 있으며 아마도 평균적인 방어를 추가 할 수있을 것입니다. 하지만 여전히 최선을 다해 옵션을 찾고 싶습니다. 더 나은 솔루션을 찾지 못하면 비디오 스크램블을 시도 할 수 있습니다. 고마워요 – Kuzgun