남자. ProGuard가 Java 메소드 및 클래스에서 수행하는 것처럼 정적 라이브러리에서 가져온 함수 이름을 변경하려고합니다. 나는 그것이 역전을 훨씬 더 어렵게 만들 수 있다고 생각한다. 예를 들어, 내가 sha1과 어떤 파일을 검사한다면, 나는 역기가 정확히이 함수가 무엇인지 알기를 원치 않는다. 대신 func0024를 볼 수 있습니다.안드로이드 ndk 라이브러리의 함수 이름을 바꾸는 방법
android cmake의 표준 도구로 이것을 만들 수 있습니까? 아니면 당신이이 일을 위해 어떤 도구를 조언 할 수 있겠습니까?
당신은 당신이 공유 라이브러리에 링크 정적 라이브러리를 구축하고 있으며, 다음에 해당 공유 라이브러리를로드하여 앱..? 어떤 이유로 든 스트립트 라이브러리를 앱과 함께 출하하지 않는 한 정적 라이브러리의 함수 이름이 공유 라이브러리에 이미 있어야합니다. – Michael
apk에서 readelf로 바이너리를 확인하면 변경되지 않은 openssl 함수 이름이 표시됩니다. –
에 한번 당신의'LOCAL_CFLAGS'과'-Wl에'-fvisibility = hidden'를 추가 - 당신의'LOCAL_LDFLAGS'에 제외-libs와, ALL'. 그리고 .so 파일에서 'readelf'를 실행하고 있는지 확인하십시오 (예 :'obj/local'의 파일이 아닙니다). – Michael