android 反编译 添加 res,Android apk反编译记录

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...

1e0b790c2ccfea0f0d6d9cdcb2524717.png

添加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 结果

06f081a50c3b26a31c8f14c51b91ef5e.png

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.(ClassPathResolver.java:120)

at org.jf.dexlib2.analysis.ClassPathResolver.(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查看源码

3821433327fb77f647f1815f0a17416f.png

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版本不匹配

解决:

使用Java1.7将Java转成class

sdk 25.0.2 dx.jar做dex优化

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值