컴파일 된 응용 프로그램에서 찾을 수없는 방식으로 정적 암호를 저장하는 방법이 있습니까?C 소스 코드로 암호 암호화
필요한 두 가지 앱이 있습니다. 하나는 하드 코드 된 서버에만 연결하는 Windows 용 경량 FTP 클라이언트입니다. 다른 하나는 레벨 팩을 만들고 암호를 사용하여 저장하는 Objective C 게임입니다. 비밀번호 없이도 재생할 수 있지만 레벨 편집기에서는 열 수 없습니다. AES로 암호를 암호화하고 있지만 암호 해독을 위해 암호를 저장해야합니다.
지금까지 발견 한 유일한 아이디어는 암호를 하나의 문자열이 아닌 여러 문자열로 저장하는 것입니다. 이미 존재하는 문자열을 연결할 수 있기 때문에 게임에서 실제로 잘 작동 할 수 있습니다. 또는 긴 문자열로 저장하고 비밀 알고리즘을 사용하여 해당 문자열에서 암호를 가져올 수 있습니다. Windows 또는 C OS에서의 C 응용 프로그램을 디 컴파일하여 해당 알고리즘을 찾을 수 있습니까?
더 안전한 방법이 있습니까?
기본 자원 검사에 대해 여전히 효과가있는 매우 단순한 방법은 숫자 (별도 저장)를 사용하여 암호 문자열 XOR을 저장하는 것입니다. 그런 다음 동일한 번호로 XOR하여 '해독'하십시오.이것은 디 컴파일이나 메모리 검사에 심각한 시도를하지 않을 것입니다. 특히 디코딩 된 문자열을 어느 정도의 시간 메모리에 저장하는 경우에 그렇습니다. – Bob
http://en.wikipedia.org/wiki/Security_through_obscurity –
그 (안보를 통한 보안)는 다른 문자열을 함께 넣거나 숫자를 XOR하는 것과 같은 일의 범주입니다. 맞습니까? 누군가가 활발히 하나를 찾고 있다면 암호처럼 소리가 나지 않는 단어를 사용한다고 생각합니다. 공격자가 자신의 시스템에 앱을 가지고있는 경우 모든 암호화가 손상 될 수있는 것처럼 보이기 때문에 나는 그 안에 너무 많은 생각을 넣고 싶지 않습니다. 기억을 너무 오래 동안 지키지 않는 것처럼 힌트를 많이 주셔서 고마워요. :) –