0x00 工具准备

1.apktool

2.netbeans或者Intelij(android studio)     ;这里使用netbeans作为例子

3.ddms

4.apk签名工具

0x01 具体流程

1.用apktool以调试模式反编译你需要进行逆向调试的xxxx.apk

[plain] view plain copy
  1. 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目录下

[plain] view plain copy
  1. java -jar apktool_2.0.2.jar b -d out

4.对xxxx.apk进行签名生成xxxx_signed.apk

[plain] view plain copy
  1. keytool -genkey -alias parker_android.keystore -keyalg RSA -validity 30000 -keystore parker_android.keystore
[plain] view plain copy
  1. jarsigner -verbose -keystore parker_android.keystore -signedjar xxxx_signed.apk xxxx.apk parker_android.keystore

5.安装 xxxx_signed.apk到android手机里

[plain] view plain copy
  1. adb install xxxx_signed.apk

6.以等待调试的模式启动xxxx_signed.apk

[plain] view plain copy
  1. 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相关推荐

  1. AndroidStudio 动态调试apk(release版)

    今天教大家如何用AndroidStudio去动态调试已经上线的apk文件(类似我们开发的时候去debug调试代码块效果),这就是逆向的时候用的比较平凡的一种手段,而要更好的了解怎么去动态调试apk这里 ...

  2. ida动态调试apk(so层)

    文章目录 查看所有设备 在IDA里面找到android_server(dbgsrv目录) 提权 运行android_server服务端进行监听 端口转发 打开DDMS:观察程序的端口号 打不开moni ...

  3. JEB 无源码调试 以dvm smali字节码方式,Demo尝试

    关于调试器看不到进程,无法attach的问题,网上也有很多教程,基本是修改ro.debugable =1  ,ro.secure = 0 让adbd有root权限 attach到其他进程,涉及到要修改 ...

  4. Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)

    一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前说的主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码 ...

  5. 无源码情况下动态调试混淆的java程序

    逆向工程JAVA通常是非常简单的,因为优秀的JAVA二进制反编译器已经存在多年.类似于jd-gui工具和恢复java二进制文件源代码功能也做的非常出色的.在这种情况下我们需要动态调试java反编译ja ...

  6. Smalidea+IntelliJ IDEA/Android Studio无源码调试

    smalidea是一个IntelliJ IDEA/Android Studio smali语言插件,可实现动态调试smali代码. github地址:https://github.com/JesusF ...

  7. 安卓逆向_13 --- AndroidStudio + Smalidea 动态调试 smali 代码【APK可调试】、gradle 配置

    教我兄弟学Android逆向04 动态调试smali代码:https://www.52pojie.cn/thread-658865-1-1.html From:Android Studio 3.6 调 ...

  8. 利用IDA6.6进行apk dex代码动态调试

    网上公开IDA6.6已经有一段时间,这个版本有个好处就是可以动态调试java代码.正好现在需要动态调试,所以顺便练习一下. 根据android的官方文档,如果要调试一个apk里面的dex代码,必须满足 ...

  9. Smalidea无源码调试 android 应用

    smalidea是一款 IntelliJ IDEA/Android Studio的 smali 插件 已有功能 语法高亮/错误提示 字节码级别调试 断点 单步调试 寄存器查看 本地窗口 java 语法 ...

最新文章

  1. 第十三课.随机近似初步:蒙特卡洛方法
  2. mysql行转列sql函数_SQL 将行转化为列实现列的动态更新
  3. Linux 桌面的安装
  4. 20141203图片Base64编码与解码
  5. python非法变量名_数据库错误:ORA-01036:非法变量名/numb
  6. python全局变量的声明和使用_python自学篇(第三章:函数)
  7. linux转发邮件,转发Linux服务器上的传入邮件?
  8. java 线程池_Java 线程池 ThreadPoolExecutor 八种拒绝策略浅析
  9. 程序员必备的八大排序算法
  10. processing demo
  11. clustMD r语言_R语言聚类分析-层次聚类分析
  12. yaml css教程,YAML 语法
  13. 怀旧服服务器物品栏在哪里,魔兽世界怀旧服:祈福服务器的真实情况,装备不贵,玩家确实不多...
  14. 寂寞情来情去——忆纳兰词
  15. STC11F02实现红外线遥控开关
  16. C++STL之初识容器和迭代器
  17. 如何在WordPress菜单中显示图标[WordPress插件]
  18. matmul product(一般矩阵乘积),hadamard product(哈达玛积)、kronecker product(克罗内克积)
  19. Python三方库:RabbitMQ基本使用
  20. 光一个html文件能加图片吗,网站页面设计中光的特效设计

热门文章

  1. iOS UIKit:UITableView
  2. 在windows上搭建Apache+Trac+Subversion
  3. 编程方法学8:信息隐藏
  4. 单核工作法13:永不拖延(上)
  5. /etc/ld.so.conf.d/目录下文件的作用
  6. 【笔记】基于轻量和积网络及无人机遥感图像的大豆田杂草识别
  7. [云炬创业基础笔记]第一章创业环境测试12
  8. 科大星云诗社动态20210420
  9. 云炬Android开发笔记 8代码生成器设计与实践(仿ButterKnife注解框架,编译期生成代码)
  10. 独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别