2010-08-06 3 views
0

C# .NET에서 암호화 된 데이터베이스로 개발 된 데스크톱 응용 프로그램이 있습니다. 암호화 암호가 응용 프로그램 코드에 하드 코딩되어 있습니다.데스크톱 응용 프로그램 코드의 암호 숨기기

코드는 .net 디스어셈블러를 통해 액세스 할 수 있으므로이 암호를 숨기려면 어떻게해야합니까?

난독 화 코드 일 수도 있지만 설치를 다시 작성할 때마다 새로운 .exe가 만들어지고 코드가 결코 난독 화되기 때문에 난독 화 코드로 응용 프로그램 설치를 어떻게 만들 수 있습니까?

나는이 문제를 해결하는 방법을 알고 있습니다.

+2

[Winforms 응용 프로그램에서 암호를 저장하는 방법] 가능한 복제본 (0120) (영문) – David

+1

보안 양식으로서의 난독 화 클럽의 에이스를 "숨기기"위해 카드 더미를 섞는 것과 비슷합니다. 카드는 궁극적으로 보길 원하는 사람들이 찾을 수 있습니다. –

+0

.net 디스어셈블러가 없거나 완벽한 obfuscator가 존재하더라도 WinDbg와 같은 디버거에서 볼 수 있습니다. 이 문제에 대한 많은 해결책이 있지만 고객이 누구인지에 달려 있습니다. 예 : 내부 회사 응용 프로그램에는 Windows 상자가있는 사람보다 더 많은 옵션이 있습니다. 또한 머신에 로컬 인 DB가 있습니까? 아니면 모든 사용자가이 데이터베이스를 사용합니까? –

답변

2

나의 제안은이 작업을 수행하지 않는 것입니다 여기에 이유 : SCADA

-1

당신은 확실히 암호화의 일부 전문 난독뿐만 아니라 어셈블리의 문자열 정보를 암호화합니다 몇 가지로보고 싶어요.

+1

이것은 "거북이 모든 길을 내려가는"암호화 학교인가요? 물론 다른 암호화 계층을 추가 할 수 있습니다. 그러나 데스크톱 응용 프로그램이 데이터베이스에 액세스하려면 모든 필수 키가 있어야합니다. 즉, 해당 키 *는 디스어셈블러 및/또는 디버거가 액세스 할 수 있음을 의미합니다. –

관련 문제