난독화된 코드에 민감한 문자열 숨기기
독점 정보를 보호하기 위해 코드를 난독화하는 것은 일반적인 관행이지만, 통찰력 있는 눈은 여전히 숨겨진 문자열을 찾아낼 수 있습니다. 중요한 데이터를 효과적으로 숨기려면 다음 기술을 고려하십시오.
인코딩과 암호화
일상적인 검사를 방지하는 것이 목적이라면 인코딩으로 충분할 수 있습니다. android.util.Base64 클래스는 편리한 방법을 제공합니다. 그러나 인코딩은 보안이 미미합니다.
공격자로부터 더 강력한 보호를 위해 AES와 같은 암호를 사용한 대칭 암호화를 권장합니다. javax.crypto.Cipher 클래스는 사용 예를 제공합니다.
수동 암호화 및 복호화
다음 단계에 따라 암호화 및 복호화를 수동으로 구현하세요.
타사 DRM 솔루션
Google 라이선스 서버와 같은 타사 DRM 솔루션 사용을 고려해 보세요. 자체 롤링 솔루션에 비해 잠재적인 보안 이점을 제공하지만 여전히 수동 암호화 및 암호 해독과 유사한 제한 사항이 있습니다.
R 클래스 문자열
에서 언급한 R 클래스 문자열 귀하의 코드는 리소스에 대한 참조입니다. ProGuard와 같은 난독처리기는 R 클래스 자체를 난독화하는 것이 아니라 리소스 ID에 대한 참조를 난독화합니다. 동일한 번호를 유지하지만 실제 리소스를 가리키는 매핑이 변경됩니다.
이 경우 2130903058은 레이아웃 파일을 참조합니다. 디컴파일된 R 클래스가 없으면 그것이 나타내는 리소스를 직접 검색할 수 없지만 여전히 리소스의 바이너리 데이터에 대한 주소입니다.
위 내용은 난독화된 코드에서 민감한 문자열을 어떻게 숨길 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!