2010-04-14 6 views
1

암호 나 인증을 추가하는 방법을 가르치지 않고 일부 응용 프로그램을 보호하고자하므로 암호 나 인증 함수가 반환되면 다른 응용 프로그램을 시작하는 간단한 응용 프로그램을 조롱했습니다. 참된. 런처 만 파일에 액세스 할 수 있도록 응용 프로그램을 래핑하는 방법은 무엇입니까?C# 다른 응용 프로그램 내 응용 프로그램 배치하기

+0

래핑 된 응용 프로그램이 관리되고 있습니까? – SLaks

답변

2

랩핑 된 (보호 된) 응용 프로그램을 관리하는 경우이를 암호화 된 바이트 배열로 포함시킨 다음 Assembly.Load(rawBytes)을 호출하고 리플렉션을 사용하여 응용 프로그램을 시작할 수 있습니다.
는 웹 서비스에서 암호 해독 키를 얻을하지 않는 한 당신은 여전히, 반사판에 취약 할 수 있습니다

주 (응용 프로그램은 당신이 반사를 사용하여 호출 할 수있는, 그 자체를 시작 일부 정적 메서드 또는 속성을 노출하는 것에 동의해야한다) . (Reflector, Fiddler 및 유효한 비밀번호의 조합에 취약한 경우)

+0

응용 프로그램은 대개 AutoIt 또는 VB.NET으로 작성됩니다. 나는 C#을 사용하고있다. AutoIt이 관리되는지는 모르겠습니다. –

+0

감사합니다. –

+0

나는 당신이 그것을 모독해야한다고 언급하는 것을 잊었다. – SLaks

0

EXEC (.Net 또는 기본)에서 작동하는 SLak가 제안한 변형을 수행 할 수 있습니다. EXE를 응용 프로그램 내에 포함 된 리소스로 사용하십시오. 응용 프로그램에서 버튼을 클릭하면 코드가 EXE를 추출하여 임시 위치에 저장하고 Process 클래스로 시작합니다. 그런 다음 응용 프로그램은 프로세스가 임시 파일을 완료하고 삭제할 때까지 기다립니다.

이것은 엄청난 노력을 기울이지 않고도 수행 할 수있는 다른 작업만큼 안전합니다. 능숙한 사용자는 EXE 파일이 실행되는 동안 해당 파일을 찾고 복사본을 만들 수 있지만 정통한 사용자는 프로그램에서 쉽게 추출 할 수 있습니다.

+0

최종 사용자가 EXE 파일을 추출하면 EXE 파일을 복사 할 수 있습니다. 그것은 우려 일 수도 있고 아닐 수도 있습니다. – SLaks

+0

나는 그 같은 점을 추가하고 있었다. :) – MusiGenesis

+0

이것은 내가 피하려고했던 것입니다. –

관련 문제