programing

Android .apk 파일을 디 컴파일 할 수 있습니까?

nasanasas 2020. 9. 22. 08:17
반응형

Android .apk 파일을 디 컴파일 할 수 있습니까?


사용자가 내 애플리케이션의 apk 파일을 실제 코드로 다시 변환 할 수 있습니까? 만약 그렇다면-이것을 막을 방법이 있습니까?


첫째, apk 파일 은 단지 수정 된 jar 파일입니다. 그래서 진짜 질문은 내부에서 dex 파일을 디 컴파일 할 수 있다는 것입니다. 대답은 일종의 것입니다. dedexersmali 와 같은 디스어셈블러가 이미 있습니다 . 이것들이 더 나아질 것이라고 기대할 수 있으며 이론적으로는 결국 실제 Java 소스로 디 컴파일 할 수 있습니다 (적어도 가끔). DEX를 Java 소스 코드로 디 컴파일 하는 이전 질문을 참조하십시오 .

기억해야 할 것은 난독 화가 작동하지 않는다는 것입니다. 좋은 면허를 선택하고 법을 통해 시행하기 위해 최선을 다하십시오. 신뢰할 수없는 기술적 조치로 시간을 낭비하지 마십시오.


APK 파일의 디 컴파일이 가능합니다. 그러나 난독 화 된 코드는 이해하기 어려울 수 있습니다.

APK 파일 내의 리소스를보기위한 ApkTool

  • AndroidManifest.xml 및 res 폴더의 모든 항목 (레이아웃 xml 파일, 이미지, webview에서 사용되는 html 등)을 추출합니다.
  • 명령 : apktool.bat d sampleApp.apk
  • 참고 : 7-zip과 같은 zip 유틸리티를 사용하여이 작업을 수행 할 수 있습니다. 그러나 모든 .class 파일의 .smali 파일도 추출합니다.

dex2jar 사용

  • .apk 파일에서 .jar 파일을 생성합니다.이 .jar에서 소스 코드를 보려면 JD-GUI가 필요합니다.
  • 명령 : dex2jar sampleApp.apk

JD-GUI를 사용하여 .jar 디 컴파일

  • .class 파일을 디 컴파일합니다 (안드로이드 앱의 경우 난독 화되었지만 다른 .jar 파일의 경우 읽을 수있는 원본 코드를 얻음). 즉, 우리는 응용 프로그램에서 .java를 다시 얻습니다.

또한 요즘에는 소프트웨어 없이도 Android 애플리케이션을 온라인으로 디 컴파일 할 수 있습니다.

다음은 두 가지 옵션입니다.


이 jadx 도구 https://sourceforge.net/projects/jadx/files/ 다운로드

압축을 풀고 lib 폴더에서 jadx-gui-0.6.1.jar 파일을 실행하여 이제 apk 파일을 찾습니다. 끝났다. 자동으로 apk는 저장 버튼을 눌러 디 컴파일하고 저장합니다. 그것이 당신을 위해 작동하기를 바랍니다. 감사


dex2jar/를 사용할 때 apktool, 특히 루프에서 코드가 깨지는 경우 가 있습니다. 이, 사용 방지하기 위해 jadx 생성하지 않고, 자바 소스 코드로, 컴파일 해제 달빅 바이트 코드를 .jar/의 .class로 첫 번째 파일을 dex2jar(apktool 사용 내가 생각 dex2jar)한다. 또한 오픈 소스이며 활발하게 개발 중입니다. GUI 매니아를위한 GUI도 있습니다. 시도 해봐!


사용자가 내 애플리케이션의 apk 파일을 실제 코드로 다시 변환 할 수 있습니까?

예.

사람들은 다양한 도구를 사용하여 다음을 수행 할 수 있습니다.

  • 분석 : APK
  • APK 디코딩 / 해킹
    • 파일 FDex2덤프에 사용dex
      • 다음 dex2jar으로 변환하는 데 사용jar
        • 그런 다음 소스 코드 jadx로 변환하는 데 사용java

만약 그렇다면-이것을 막을 방법이 있습니까?

예. 이를 방지하기위한 몇 가지 (결합 할 수있는) 방법 :

  • 낮은 수준 : 코드 난독 화
    • Android 사용 ProGuard
  • 높은 수준 : Android 강화 시나리오 사용

자세한 내용은 내 중국어 자습서를 참조 할 수 있습니다 : 安卓 应用 的 安全 和 破解

참고 URL : https://stackoverflow.com/questions/3122635/is-it-possible-to-decompile-an-android-apk-file

반응형