2013-08-22 1 views
-4

* .apk 파일에서 완전한 소스 코드를 얻는 방법. 우리는 dex2jar와 다른 프로세스를 시도하지만 완전한 소스 코드는 얻지 못한다. 주석 처리 된 코드는 표시되지 않습니다. *안드로이드의 .apk 파일에서 소스 코드를 얻는 방법

+1

http://stackoverflow.com/questions/3593420/android-getting-source-code-from-an-apk-file?rq=1 – Andres

+0

참조 http://forum.xda-developers.com/showthread .php? t = 873466 –

답변

0

리버스 엔지니어링을 확인하십시오. 어쩌면 개념을 이해하게 될 것입니다.

here

2nd here

0

개발자의 대부분은 obfuscation of the code에 사용됩니다 난독라는 것을 사용 난독는 일반적으로 의미 making the code unreadable so to make the apk resist to any reverse engineering attempt (여기에 저항이 리버스 엔지니어링 할 수없는 것을 의미하지 않는다 apk가 리버스 엔지니어링 프로세스를 거친 경우 시도한 사람이 개발자가 작성한 실제 코드를 읽을 수 없을 수도 있습니다.) 한 번 apk 리버스 엔지니어링을 시도했는데 smali과 같은 중간 언어로 끝났습니다. 운이 좋다면 개발자는 proguard 기회가 사용되지 않은 모든 정보 (의견이 APK 내에 보존대로, 원래 code.Try 다음 link for reverse engineering the apk

0

전체 소스 코드를 얻을 수 없습니다보고 끝낼 수 있습니다 등등) 많은 것들이 재 배열됩니다 (if, while, for ... 대신 점프 지침이 있음). 네이티브 코드의 경우 훨씬 더 어렵습니다.

상용 응용 프로그램의 소스를 얻으려면 응용 프로그램이 이해하기 어려울 수도 있습니다. 추가 정보가 apk에서 잘립니다. 당신은 단지/변경 작은 비트를 읽을해야하는 경우

, 당신은, 그것은 또한 많은 도구에 의해 사용되는 (액세스하려는 부분이 고유하지 않은 경우) smali을 사용할 수 있습니다; 그것은 android 바이트 코드에서 읽을 수있는 형식을 생성합니다. 그러한 도구의 사용은 귀하가 APK의 저자이거나 저작자의 허락을 받거나 그렇게 할 수있는 법적 권리가있는 경우에만 합법적입니다 (한 가지 예가 EU에 거주하고 있으면 라이센스가있는 소프트웨어를 조정할 수 있습니다) 원하는 상호 운용성을 보관할 다른 방법이 없다면 저자의 명시적인 허가 없이도 상호 운용성을 확보 할 수 있습니다.

관련 문제