关于调试器看不到进程,无法attach的问题,网上也有很多教程,基本是修改ro.debugable =1  ,ro.secure = 0 让adbd有root权限 attach到其他进程,涉及到要修改boot.img并刷包,可以在网上其他地方找找看相关资料

1.手机上运行apk

2.电脑上用jeb打开对应apk

3.用jeb debuger attach 到对应进程

4.转换到 bytecode 界面,Ctrl + B 在 目标位置下断点

  

  按tab转换为java代码

  

  断点在java代码展示界面无法下,只有在 bytecode 界面可以

5.手机端触发断点事件

  

6.

  支持很多jdwp的协议,这部分是很强大的功能,比如IDEA的 调试环境中支持的 动态计算表达式,估计是通过使用jdwp提供的类似 call的方式来办到的,可以动态调用方法,set/get 成员属性,查看某class的成员变量和方法等,可以方便在调试过程中,临时动态id修改一些boolean的值,进入某些雪藏已久的分支。

  在jeb的  termial 中输入 help 回车,可以看到基于jdwp的调试命令,有些jeb界面上没提供的功能可以通过这种 命令行的方式来实现

  

  比如这里我们试一下动态查看 v1寄存器中的值

  输入 help get 查看 get 命令的用法

  

  按F6运行到函数返回前  停住

  

  看 textView 对象的属性

  

  。。。

  

  值已经被修改

  

  我们把值改为  ABCD 试试, 尝试调用 setText("ABCD")

  

   匿名内部类对外部final变量的引用

  用 call 指令

    

  修改成功了

JEB也可以分析 .so 文件

  右键,点解析

  

 

   

  找到stringFromJNI 按下 tab(怕是用了IDA的库)

  

  

  

  可惜我这边没有办法调试 native 汇编代码。。。

  

  JEB用来无源码smali调试比较方便,可以按TAB转为java代码查看,并且可以添加自定义注释

  

  

最新文章

  1. 利用线上数据验证系统 Gor
  2. Pointers and Dynamic Allocation of Memory
  3. MySQL安装常见错误及解决方案
  4. ORACLE基本语法
  5. 实际利率 > 名义利率
  6. Mysql事物与Metadata lock 问题
  7. 小A项目为什么加班
  8. mysql基础示例
  9. .net cookie
  10. oracle sql 树操作
  11. 给定桩号获取纵断面中的高程值(c# for civil3d)
  12. tomcat内存溢出解决,java.lang.OutOfMemoryError: PermGen space
  13. redisson整合spring
  14. [Luogu P1144]最短路计数
  15. Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [web_dao,web_service] are excluded from annotation processing
  16. Got error -1 from storage engine
  17. ubuntu垃圾文件清理方法
  18. OOP 面向对象的理解
  19. python中包的语法
  20. LINUX内核完全注释

热门文章

  1. 超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
  2. SI4432和SI1212通讯
  3. hdu2546
  4. python光标图片获取
  5. ARTS-S c语言统计程序运行时间
  6. F5负载均衡架构
  7. 使用iCamera 测试mt9d111 200w高分辨率摄像头小结
  8. TVP5150 PAL/NTSC ccd cmos 模拟摄像头视频 转换 VGA输出
  9. 【性能优化】404- 从 12.67s到1.06s 性能优化实战
  10. 【hibernate】自定义转换器