码迷,mamicode.com
首页 > 移动开发 > 详细

使用apktool破解app

时间:2015-05-18 09:06:14      阅读:387      评论:0      收藏:0      [点我收藏+]

标签:java   jdk   smali   android   安卓   

第一歩使用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, 就成功签名了.

 






使用apktool破解app

标签:java   jdk   smali   android   安卓   

原文地址:http://blog.csdn.net/qq_21970857/article/details/45798147

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!