动态调试APK-超实用
来源:互联网 发布:胡歌的电视剧 知乎 编辑:程序博客网 时间:2024/05/16 05:14
经过两天的苦逼奋战,终于得到想要的东西了,出现的磕磕碰碰的心情,在出结果的那一刻,无以言表,所有资料来源于网络,我稍稍整理一下。
1. 工具
- IntelliJ IDEA
- eclipse
- apktool(2.0以上版本,下载地址:http://connortumbleson.com/)
- Android真机
2.反编译apk 并 生成新apk
用apktool 反编译apk
java -jar apktool_2.0.0b9.jar d -d xxx.apk -o out
其中 -d 选项中在反编译后的文件后缀为.java,而不是.smali。
反编译过程中可能会出现错误,不要着急,可能是apktool版本不正确,多下几个版本试试,我下了4个版本的,终于在第五个成功了。
生成的源文件在 out目录下的smali中
修改out目录下的AndroidManifest.xml文件,找到application项,在其中添加android:debuggable="true"
选项用apktool 重新生成apk
java -jar apktool_2.0.2.jar b -d out -o debug.apk
重新生成过程中可能会出现错误,多试几个版本的apktool,反编译和重新生成用到的apktool可能会不同。- 对重新生成apk进行签名
keytool工具在 Java\jdk1.7.0_75\jre\bin 目录下keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
jarsigner 工具在 Java\jdk1.7.0_75\bin 目录下,jarsigner -verbose -keystore <用keytool生成的签名> -signedjar <生成签名apk名>.apk <重新生成的apk>.apk demo.keystore
上面 jarsigner 中没有<>号哦,具体详细自行百度哦
3.分析调试
打开idea 新建java空项目, 把反编译out目录下smali的文件全部拷贝到java项目中的src目录下
安装apk,打开eclipse,在DDMS->Devices中查看apk的端口(我这里是8607)
在idea中新建远程调试Run -> edit configurations 设置端口和项目
开启apk应用, 运行 ‘Debug Unnamed’
在项目中要打断点的地方进行调试
如果不出现什么意外情况,就可以调试了,心情有没有小小的激动一下下。
感谢前辈们踩过的坑,才让我少走了很多,其实我尝试过其它方法,不过都不好使。
相关文档
http://www.kanxue.com/bbs/showthread.php?p=1338639
http://bbs.125.la/thread-13817285-1-1.html
- 动态调试APK-超实用
- apk反编译工具的使用,超实用
- AndroidStudio动态调试apk
- apktool + eclipse 动态调试APK
- 动态调试反编译的apk
- 无源码动态调试APK
- IDA 动态调试apk so
- Android动态调试--jeb调试apk
- 反编译apk+eclipse中动态调试smali
- apktool + eclipse 动态调试无源码apk
- Android APK程序的smali动态调试
- AndroidStudio无源码动态调试apk
- 【原创】反编译apk+eclipse中动态调试smali
- apk反编译和动态调试smali实例收集
- 利用IDA6.6进行apk dex代码动态调试
- 动态调试APK,以宝宝树为例
- Android安全之APK无源码动态调试
- 170918 逆向-jeb2动态调试(ciscn-crack.apk)
- csv转Libsvm格式
- Linux内核分析:Linux内核学习总结
- 控制反转与依赖注入(IOC和DI)
- OSG学习笔记4—使用空间变换节点
- 获取html 中的所有图片 正则表达式
- 动态调试APK-超实用
- leetcode - ugly number, ugly number2, super ugly number
- java基础算法之递推
- 你不可不知的Eclipse快捷键
- acm_1002_Strange fuction
- POJ3691.DNA repair (Trie图 && DP)
- C++基础知识
- 自定义控件实现圆形头像
- python调用cmd命令的几种方式和区别