2010-01-28 9 views
3

내 Google 검색에서 나를 여기로 안내했습니다 : How to create a virtual file? 그 기사에서 사람들은 파일을 임시 디렉토리에 추출하여 거기에서 작업하도록 제안했습니다."가상"파일 만들기 및 실행

실제로 제가 뭘하고 싶은지는 저자가 원래 묻는 것과 유사합니다 - "가상"파일을 만들고 그것에 "경로"를 지정합니다. 그러면 다른 응용 프로그램이 표준 창을 호출하는 것으로 이해할 수 있습니다 파일 시스템 API. 이 목적은 복사 및 무단 사용을 방지하기위한 것입니다.

내가하고 싶은 것이의 개념 : 저희 회사에서

, 우리가 프로그램을 개발했다 -하지만 표준 EXE 응용 프로그램이 아닙니다, 그것은 내부 형식 (의는 '응용 프로그램'형식의 확장을 가정 해 봅시다있다 .MDL)이며 런타임 환경에서 실행되므로 런타임이 클라이언트 시스템에 설치되어야합니다. 이 개념은 Java와 유사하지만 (Java가 아니기 때문에 비교 만하면 더 잘 이해할 수 있습니다.) 지금하고 싶은 것은이 .MDL 파일을 암호화하여 일반 .exe 파일에 리소스로 포함시키는 것입니다. 이 .exe 파일은 실행 키 (라이센스 조건, 키, 인증 등을 확인합니다.)를 확인한 다음 인증 된 경우 .MDL 파일의 암호를 해독하고 압축을 풀어 런타임을 실행하고 .MDL의 가상 경로를 전달합니다 파일을 런타임에 대한 인수로 사용합니다. 분명히 이유는 누군가가 단지 응용 프로그램을 시작할 수 있기 때문에 decrypted .mdl 파일을 어딘가에 쓰기를 원하지 않기 때문입니다. 디 클리프가 .MDL을 임시로 작성하고 임시에서 복사하여 배포 할 때까지 기다릴 수 있습니다.

그래서, 어떻게 생각하나요? 추신 : 저는 EA Games의 게임에서 영감을 얻었습니다. 게임을 실행하고 프로세스 테이블을 들여다 보면 일반 게임의 exe를보고 특정 시간이 지나면 ~ A003과 같은 이름으로 새 프로세스가 생성됩니다 .tmp

+1

당신은 실제로 당신의 프로그램을 깰 사람을 막을 수 없다는 것을 알고 있습니까? –

+1

yea .. 솔루션은 "메모리"에 그것을 쓰는 것이지만 실제로는 수퍼 유저가 해독 된 데이터를 찾고 어딘가에 저장하는 것을 방해하지 않습니다. – mlathe

답변

1

일종의 드라이버 구성 요소를 사용하지 않고 경로와 연결된 가상 파일을 만드는 방법을 알지 못합니다. 그것은 힘든 일입니다.

왜 런타임에 해독을 수행하지 않습니까? 그러면 디스크에서 파일의 암호를 해독하는 것에 대해 걱정할 필요가 없습니다. 또는 항목을 해독하고 핸들 값을 명령 행 매개 변수로 런타임에 전달할 무명 상속 섹션 객체를 만들 수 있습니다.

당신이 무엇을 하든지 사람들은 여전히 ​​그것을 우회하여 나에게 시간 낭비처럼 보일 수 있습니다. 모든 EA 게임은 금이갔습니다. 사람들은 귀하의 제품이 유용하고 가치있는 돈이라고 생각하거나 그렇지 않을 것입니다. 나는 매우 간단한 등록 키 확인보다 복잡한 스키마를 구현하는 데 시간과 노력을 투자 할 가치가 있다고 생각하지 않습니다.

4

boxedapp 포장기를 사용해야합니다. 도움이되어야합니다.

+1

위대한 앱입니다. 나는 또한 그것을 사용합니다. – z0r1fan

관련 문제