«

使用apktool破解app

时间:2024-3-2 17:04     作者:韩俊     分类: Html+Css


第一歩: 使用apktool decompile apk

Apktool 是一个decompile的工具, 使用它就可以将apk 变为source file

与.apk 相同的文件夹下 shift+right click, w 启动cmd 按照下图依次键入两个命令进行decompile


浏览一下decompile后的文件夹


Build是系统自动生成的,lib是库, original 里面是 manifast, res一般是用到的图片按钮之类的, smali应该就是源码了.

注意到decompile后的源码是smali语言, 了解到 java 转换为smali 的时候会丢失一些信息, 尤其class的信息, 所以smali转换为java可能会有些问题, 所以就学习一下smali语言, 修改这个project.


打开small, android 中是support -v4 library, com 里面就是我们要找的源码!



现在大概分析一下这个app的结构

目测它只有两个Activity

R开头的在android中都是resource, 这个MainActivity一定就包含我们想找的onCreate入口了, $1是他的sub-class.


了解语法后, 我们就可以修改源码了

第三步: recompile:

在文件夹同一文件夹下 Shift+right click ,w 按照下图进行recompile 得到 .apk


对recompile后的apk进行压缩, 得到imissTest-final.apk, 如果不进行压缩, app运行时会对系统资源占用较大.


第四步: signature

将这个apk放到真机中, 发现未安装, 卸载原来的apk 发现还是无法安装. 想到用eclipse或者android studio开发的时候, 安装apk时 最后的signature都是自动进行的, 在这里并没有.

于是下载keytool 生成.keystore, 参照下图:



再使用jarsigner 进行signature时 ,发现它需要 JDK1.7, 只好将1.8先卸载, 去Oracle 安装1.7


之后再使用jarsigner signature 发现还出现问题, 它说未能找到sun..........类,

在stackoverflow上查了一下, 把jdk7下面的 tools复制过来即可

最后再次使用jarsigner, 就成功签名了.






标签: javascript html css

热门推荐