내 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
당신은 실제로 당신의 프로그램을 깰 사람을 막을 수 없다는 것을 알고 있습니까? –
yea .. 솔루션은 "메모리"에 그것을 쓰는 것이지만 실제로는 수퍼 유저가 해독 된 데이터를 찾고 어딘가에 저장하는 것을 방해하지 않습니다. – mlathe