美文网首页
Android apk反编译记录

Android apk反编译记录

作者: 晴天12345 | 来源:发表于2017-10-11 20:32 被阅读94次

1.1 解压apk

apktool.bat d -f xxx_ifly.apk -o ifly

1.2 错误

S: Could not decode file, replacing by FALSE value: drawable-v4/notification_bg_low_normal.9.png
S: Could not decode file, replacing by FALSE value: drawable-ldrtl-xxxhdpi-v17/btn_tabstrip_new_tab_normal.png
S: Could not decode file, replacing by FALSE value: layout-v17/lightweight_fre_tos.xml
S: Could not decode file, replacing by FALSE value: drawable-ldrtl-xxxhdpi-v17/ic_omnibox_magnifier.pngb

1.3 解决 添加framework-res

F:\xx\AndroidTools\apktool
$ apktool.bat if framework-res.apk -p .
I: Framework installed to: .\1.apk

F:\xx\AndroidTools\apktool
$ java -jar apktool.jar d -f Chrome.apk -o Chrome
I: Using Apktool 2.2.2 on Chrome.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\xxx\AppData\Local\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
添加framework-res.png

1.4 打包

apktool.bat b ifly

2 签名

java -jar signapk.jar testkey.x509.pem testkey.pk8 xxx.apk xxx_signed.apk

3.1 反编译odex

java -jar baksmali-2.2.1.jar deodex Wtwd.odex

3.2 结果

odex2smali

3.3 错误: Error Cannot find dependency

Error occurred while loading class path files. Aborting.
org.jf.dexlib2.analysis.ClassPathResolver$ResolveException: Error while loading oat file boot.oat
        at org.jf.dexlib2.analysis.ClassPathResolver.loadEntry(ClassPathResolver.java:250)
        at org.jf.dexlib2.analysis.ClassPathResolver.loadLocalClassPathEntry(ClassPathResolver.java:179)
        at org.jf.dexlib2.analysis.ClassPathResolver.loadLocalOrDeviceBootClassPathEntry(ClassPathResolver.java:191)
        at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:120)
        at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:105)
        at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:129)
        at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:86)
        at org.jf.baksmali.DisassembleCommand.getOptions(DisassembleCommand.java:207)
        at org.jf.baksmali.DeodexCommand.getOptions(DeodexCommand.java:71)
        at org.jf.baksmali.DisassembleCommand.run(DisassembleCommand.java:181)
        at org.jf.baksmali.Main.main(Main.java:102)
Caused by: org.jf.dexlib2.analysis.ClassPathResolver$NotFoundException: Cannot find dependency boot-okhttp.oat in null
        at org.jf.dexlib2.analysis.ClassPathResolver.loadOatDependencies(ClassPathResolver.java:270)
        at org.jf.dexlib2.analysis.ClassPathResolver.loadEntry(ClassPathResolver.java:248)

解决:将system/framework/arm/ 所有文件导入和baksmali-2.2.1.jar同级

3.4 smali.jar打包成dex

 java -jar smali-2.2.1.jar ass out -o [target.dex] // 不指定targetdex,默认生成out.dex

3.5 dex反编译到jar, 使用jd-gui查看源码

Jar2class

4.1 java到dex错误记录

E:\AndroidStudio\SDK\build-tools\25.0.2\lib
$ javac hello.java

E:\AndroidStudio\SDK\build-tools\25.0.2\lib
$ java -jar dx.jar --dex --output=hello.dex hello.class

PARSE ERROR:
unsupported class file version 52.0
...while parsing hello.class
1 error; aborting // jdk sdk版本不匹配

解决:

  1. 使用Java1.7将Java转成class
  2. sdk 25.0.2 dx.jar做dex优化

相关文章

  • 反编译Android APK及防止APK程序被反编译

    反编译Android APK及防止APK程序被反编译 怎么逆向工程对Android Apk 进行反编译 googl...

  • 反编译

    Android APK反编译easy 详解

  • Mac使用反编译apk

    这里记录一下Mac上反编译apk的环境,比较简单的Android反编译工具 apktool dex2jar jd-...

  • 2018-08-24学习笔记

    手把手教你使用Android studio生成正式签名的APK文件 9.5.3 Android Apk 反编译 &...

  • Android逆向工程

    一 : 反编译 获取到需要的apk 包,利用反编译工具进行反编译. 反编译工具:Android Killer 首先...

  • Android APK 反编译与安全

    APK 反编译 一、APK反编译基本原理 1.APK分析 assets文件夹:原始资源文件夹,对应着Android...

  • smali 语言

    smali是android apk反编译后得到的文件,android反编译后可以得到jar或者得到smali文件A...

  • Mac上使用ApkTool进行反编译

    Android 反编译 资源文件获取: -> 打开AndroidCrackTool软件对指定apk文件进行反编译 ...

  • Android apk反编译记录

    1.1 解压apk 1.2 错误 1.3 解决 添加framework-res 1.4 打包 2 签名 3.1 反...

  • Apktool 使用教程

    Apktool 是一个反编译Android Apk的第三方工具。它可以反编译资源,并在进行修改之后重新打包Apk。...

网友评论

      本文标题:Android apk反编译记录

      本文链接:https://www.haomeiwen.com/subject/hdlgyxtx.html