어떻게하면 Android 플랫폼에서 기본 공유 라이브러리 (.so)를 바이너리 변경으로부터 보호 할 수 있습니까? 예. 누군가가 응용 프로그램을 리버스 엔지니어링 한 후 JMP 명령을 NOP로 덮어 쓰고 해당 라이브러리를 루팅 된 장치에 배포 할 수 있습니다.Android 공유 라이브러리 무결성 보호
누군가이 가능합니까?
내가 찾고있는 것은 일련의 수표 (예 : 암호화, 체크섬 등) 구현에 대한 아이디어입니다. 물론 플랫폼이이 문제에 대한 지원을 제공하는 것처럼 보이지 않기 때문에 (내가 틀렸다면 올바르게 수정하십시오) 모든 클라이언트 측이되어야합니다. 따라서 모든 것이 약간 쓸모 없지만 최소한 리버스 엔지니어링을 방해 할 것입니다.
물론 자신의 체크섬을 계산하고 코드 자체를 암호화함으로써 SO 보호를 구현할 수 있습니다. 몇 년 동안 Windows에서 이루어진 작업과 거의 비슷합니다 (단, 더 어렵습니다). 그러나 Linux에서 모듈 보호에 대한 경험이 없다면 시작하지 않는 것이 좋습니다. 귀하의 작업에 사전 제작 된 보호 제품이 있는지 여부는 알 수 없습니다. –
감사합니다 @ EugeneMayevski'EldoSCorp. 시도하고 싶습니다 - 어떻게 당신 자신의 체크섬을 계산합니까? – AndroidSec