AndroidAPK安装包反编译流程以及踩过的坑
第⼀次写简书有点兴奋,想必⼤家再第⼀次写作的时候都有过这种⼼情吧。四个⼩时前Leader给我说⼩Z啊,咱们的APP这两天就要上线了你试着将咱的安装包反编译⼀下看看代码的混淆程度吧,我刚接到这个任务的时候在此之前⼀直觉得反编译是⼀件很⿇烦的事,但是经过三四个⼩时的时间将Leader分派给我的任务完成,发现只要认真的做⼀件事,没有完成不了的,在此⿎励⼤家不要觉得⾃⼰不⾏,要相信⾃⼰是可以的
参考⼤神⽂章传送门
OK,肯定有⼈觉得我是在说废话了,那么咱们直奔主题吧!GO---->>>
⾸先给⼤家简单的介绍⼀下反编译的⼀个流程以及需要⽤到的⼯具:
1.反编译的⼯具ApkTool 地址:ApkTool
分为apktool.bat和apktool.jar,这两个下载完成之后⽹上好多⽂章都说要放在C盘下⾯的Windows⽂件夹下⾯,说是放到此⽂件夹下⾯不⽤配置环境变量,刚开始我也是放到此⽂件夹下⾯,单纯是为了省事不想配置环境变量,后来测试成功之后⼜把路径改为⾃定义的其他路径下⾯(我放在了D:\apktool包下,⽅便下⾯⼏个步骤的引⽤),发现不⽤配置环境变量也是可以的。。。
下载好之后可以通过cmd窗⼝切到存放的⽬录下⾯后,输⼊apktool此命令来判断是否成功,如果提⽰此错误
可以在apktool前加.\ 再次尝试.\apktool 此时提⽰
说明OK了。
2.把dex⽂件转成jar⽂件的⼯具 地址: dex2jar-2.0
下载完之后是⼀个dex2jar-2.0的⼀个.zip压缩包⽂件,加压出来之后打开会看到很多.sh和.bat的⽂件,
此时我们需要⽤到的只有三个,分别是下图标记的这三个
因为我⽤的win系统,如果⼜⽤mac的⼤佬可以将.bat的⽂件换成.sh的⽂件即可,将这三个⽂件与之前的apktool的两个⽂件放到同⼀个⽬录(D:\apktool)下⾯。
3.打包apk
将打完包的apk放到apktool⽂件夹下⾯将.apk换成.zip格式的⽂件然后解压出来会看到⼀个classes.dex⽂件,将此⽂件也放到apktool ⽂件夹下⾯,此时在cmd窗⼝输⼊d2j-dex2jar.bat classes.dex(或者.\d2j-dex2jar.bat classes.dex),mac系统输⼊d2j-
dex2jar.shclasses.dex(或者.\d2j-dex2jar.shclasses.dex),成功的话会提⽰如下图,并且你会在apktool⽂件夹下看到⼀个classes-
dex2jar.jar的⽂件。
4.JD-GUI⼯具 地址:JD-GUI
jd-gui: 这个⼯具⽤于将jar⽂件转换成java代码。
这是我apk⾥⾯的⼀个bean对象,我没对它进⾏混淆所以能看得到
5.反编译资源⽂件
在cmd窗⼝输⼊apktool.bat apktool d tamc.apk(或者.\apktool.bat apktool d tamc.apk),提⽰如下图表⽰成功,
成功之后你会在apktool⽂件夹下⾯发现多了⼀个⽂件夹,这个⽂件夹的名称跟你的apk的⽂件名⼀样,这个⽂件夹中就是你反编译之后的apk中所有的资源⽂件以及AndroidManifest。
此时对APK的反编译就已经差不多告⼀段落了,之后我会接着补充修改反编译之后的apk源码以及重新进⾏签名打包的⽂章,还请各位笔下留情,刚开始写笔记,以后慢慢完善
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论