无源码动态调试APK
0x00 工具准备
1.apktool
2.netbeans或者Intelij(android studio) ;这里使用netbeans作为例子
3.ddms
4.apk签名工具
0x01 具体流程
1.用apktool以调试模式反编译你需要进行逆向调试的xxxx.apk
- java -jar apktool_2.0.2.jar d -d -o out xxxx.apk
2.将out目录以“基于现有源代码的java项目”导入到Netbeans中,并选择out/smali目录作为源码目录如下图:
3.用apktool以调试模式对out目录进行重打包,重打包后的xxxx.apk生成在out/dist目录下
- java -jar apktool_2.0.2.jar b -d out
4.对xxxx.apk进行签名生成xxxx_signed.apk
- keytool -genkey -alias parker_android.keystore -keyalg RSA -validity 30000 -keystore parker_android.keystore
- jarsigner -verbose -keystore parker_android.keystore -signedjar xxxx_signed.apk xxxx.apk parker_android.keystore
5.安装 xxxx_signed.apk到android手机里
- adb install xxxx_signed.apk
6.以等待调试的模式启动xxxx_signed.apk
- adb shell am start -D -n 包名/主activity类名
此时被调试程序会停在最开始处,等待调试器的连接,如下图所示:
7.在netbeans中在你需要逆向的关键函数设置断点
8.通过ddms查看相应进程的调试端口号
可以知道这里端口号为8700
9.将netbeans连接到该端口
点击"确定"后,程序就会断在你设置断点的地方,接下来你就可以愉快的玩耍了.
还可以参见:Smalidea无源码调试 android 应用
原文地址: http://blog.csdn.net/autohacker/article/details/49401215
无源码动态调试APK相关推荐
- AndroidStudio 动态调试apk(release版)
今天教大家如何用AndroidStudio去动态调试已经上线的apk文件(类似我们开发的时候去debug调试代码块效果),这就是逆向的时候用的比较平凡的一种手段,而要更好的了解怎么去动态调试apk这里 ...
- ida动态调试apk(so层)
文章目录 查看所有设备 在IDA里面找到android_server(dbgsrv目录) 提权 运行android_server服务端进行监听 端口转发 打开DDMS:观察程序的端口号 打不开moni ...
- JEB 无源码调试 以dvm smali字节码方式,Demo尝试
关于调试器看不到进程,无法attach的问题,网上也有很多教程,基本是修改ro.debugable =1 ,ro.secure = 0 让adbd有root权限 attach到其他进程,涉及到要修改 ...
- Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)
一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前说的主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码 ...
- 无源码情况下动态调试混淆的java程序
逆向工程JAVA通常是非常简单的,因为优秀的JAVA二进制反编译器已经存在多年.类似于jd-gui工具和恢复java二进制文件源代码功能也做的非常出色的.在这种情况下我们需要动态调试java反编译ja ...
- Smalidea+IntelliJ IDEA/Android Studio无源码调试
smalidea是一个IntelliJ IDEA/Android Studio smali语言插件,可实现动态调试smali代码. github地址:https://github.com/JesusF ...
- 安卓逆向_13 --- AndroidStudio + Smalidea 动态调试 smali 代码【APK可调试】、gradle 配置
教我兄弟学Android逆向04 动态调试smali代码:https://www.52pojie.cn/thread-658865-1-1.html From:Android Studio 3.6 调 ...
- 利用IDA6.6进行apk dex代码动态调试
网上公开IDA6.6已经有一段时间,这个版本有个好处就是可以动态调试java代码.正好现在需要动态调试,所以顺便练习一下. 根据android的官方文档,如果要调试一个apk里面的dex代码,必须满足 ...
- Smalidea无源码调试 android 应用
smalidea是一款 IntelliJ IDEA/Android Studio的 smali 插件 已有功能 语法高亮/错误提示 字节码级别调试 断点 单步调试 寄存器查看 本地窗口 java 语法 ...
最新文章
- 第十三课.随机近似初步:蒙特卡洛方法
- mysql行转列sql函数_SQL 将行转化为列实现列的动态更新
- Linux 桌面的安装
- 20141203图片Base64编码与解码
- python非法变量名_数据库错误:ORA-01036:非法变量名/numb
- python全局变量的声明和使用_python自学篇(第三章:函数)
- linux转发邮件,转发Linux服务器上的传入邮件?
- java 线程池_Java 线程池 ThreadPoolExecutor 八种拒绝策略浅析
- 程序员必备的八大排序算法
- processing demo
- clustMD r语言_R语言聚类分析-层次聚类分析
- yaml css教程,YAML 语法
- 怀旧服服务器物品栏在哪里,魔兽世界怀旧服:祈福服务器的真实情况,装备不贵,玩家确实不多...
- 寂寞情来情去——忆纳兰词
- STC11F02实现红外线遥控开关
- C++STL之初识容器和迭代器
- 如何在WordPress菜单中显示图标[WordPress插件]
- matmul product(一般矩阵乘积),hadamard product(哈达玛积)、kronecker product(克罗内克积)
- Python三方库:RabbitMQ基本使用
- 光一个html文件能加图片吗,网站页面设计中光的特效设计
热门文章
- iOS UIKit:UITableView
- 在windows上搭建Apache+Trac+Subversion
- 编程方法学8:信息隐藏
- 单核工作法13:永不拖延(上)
- /etc/ld.so.conf.d/目录下文件的作用
- 【笔记】基于轻量和积网络及无人机遥感图像的大豆田杂草识别
- [云炬创业基础笔记]第一章创业环境测试12
- 科大星云诗社动态20210420
- 云炬Android开发笔记 8代码生成器设计与实践(仿ButterKnife注解框架,编译期生成代码)
- 独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别