反编译初识

来源:互联网 发布:网络是把双刃剑图片 编辑:程序博客网 时间:2024/05/16 09:59

系统mac  

编译器eclipse

工具首先下载安装 apktool和 jadx

在没有代码混淆的情况下

反编译步骤:

1:通过apktool得到res

将xx.apk复制到apktool同级目录下 

执行./apktool d xx.apk

得到同名文件夹

2:通过jadx得到src源码

通过jadx-gui 双击得到源文件

3:新建android项目工程

4:将新建的项目里面res替换为第一步中得到的res

5:将新建项目中manifest替换为第一步中得到的manifest

6:将新建项目中src替换为第二部中得到的java源文件

7:导入依赖包 删除重复文件

这样一个apk就通过反编译 合成了一个新的应用

遇到的错误:
07-30 11:49:25.882: D/AndroidRuntime(1410): Shutting down VM
07-30 11:49:25.990: E/AndroidRuntime(1410): FATAL EXCEPTION: main
07-30 11:49:25.990: E/AndroidRuntime(1410): Process: com.brosmike.airpushdetector, PID: 1410
07-30 11:49:25.990: E/AndroidRuntime(1410): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.brosmike.airpushdetector/com.brosmike.airpushdetector.DetectorActivity}: java.lang.ClassNotFoundException: Didn't find class "xxxxxxxx" on path: DexPathList[[zip file "/data/app/XXXXXX-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
07-30 11:49:25.990: E/AndroidRuntime(1410): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

错误解决请参考:点击打开链接

我遇到这个问题的原因是因为我的support-v4-jar引入出现错误,我一开始放到/bin目录下

后来改放倒/libs目录下就好了
0 0
原创粉丝点击