나는 안드로이드에 대한 자체 암호화 기능을 갖춘 앱을 개발하려고합니다.뿌리깊은 안드로이드 장치에서 disasembling을 피하기위한 자체 암호화 응용 프로그램
아이디어는 다음입니다 :
- 응용 프로그램 ("! Hello World」의 예를 표시)이 기능을 수행해야하지만 ...
- 완전히 저장된 응용 프로그램 코드 (부분적으로) 암호화, 즉"모든 암호화 할 수있는 것은 암호화되어야합니다. "올바른 방법으로 간단한 디스어셈블 (즉, 예를 들어 AES에 의해 암호화 됨)으로 읽을 수 없으므로 시스템에 임의의 명령/기호 또는 smth 부정확 함).
- 앱의 "부분"은 실행 전에 해독되어야합니다.
- 사용하지 않은 "부품"은 사용 후 해독해야합니다.
- 위에서 언급 한 모든 작업은 앱 자체에서 수행해야합니다.
따라서 핵심 아이디어는 자체 암호화입니다.
나는 난독 화가 무엇인지 알고 있으므로 언급하지 마십시오. 사이드 앱과 같은 것. 나는 내 생애를 리버스 엔지니어링으로 보내지 않을 것입니다.)). 그래서 ...
- Android (JAVA) 코드를 자동 암호화하는 올바른 방법은 무엇입니까?
- 어떻게 위에서 언급 한 알고리즘을 구현할 수 있습니까? u는 그런 일 또는 어떤 링크/정보/기사/의사/아이디어
나는 것은 아이디어는 위대하고 정말 재미있다, 게다가 많은 사람들이 기꺼이 것을 할 수있는 경우
[편집] 사용자 정의 ClassLoader 아이디어에 대해 @Pace 및 @JimmyB에게 감사합니다. 나는 그것을 시행하려고 노력할 것이다. 또한 변덕스러운 엔진 개념을 제안한 @xalo에 대한 덕분에, 나는 그것이 내 목표를 훨씬 더 만족시킬 것이므로이 주제를 파헤 칠 것이다.
로 볼 수
이 질문은이 사이트에 대한 너무 광범위하다. 당신은 아마 커스텀 클래스 로더를 만들고 싶을 것이다. – Pace
클래스를로드 할 때 해독하는 사용자 정의 ['ClassLoader'] (https://developer.android.com/reference/java/lang/ClassLoader.html)를 사용하여 구현할 수 있습니다. 그러나 * 앱이 코드를 '해독'할 수 있다면 공격자/해커도 마찬가지입니다. – JimmyB
사용자 정의 ClassLoader 아이디어를 주셔서 감사합니다. 이제는 내 질문이 너무 광범위하다는 것을 이해합니다. (( –