关于调试器看不到进程,无法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代码查看,并且可以添加自定义注释

使用jeb转换java语言_JEB 无源码调试 以dvm smali字节码方式,Demo尝试相关推荐

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

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

  2. Java反射机制01_反射的概念以及获取字节码信息 的四种方式

    Java反射机制01-反射的概念以及获取字节码信息 的四种方式 一.反射的概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象, 都能够调用它的任意 ...

  3. 什么是java源码文件,什么是字节码文件,初程序的编译和运行

    java源文件就是源代码文件,是指我们编写好的代码文件,即 当我们开始运行的时候系统会执行javac命令先把java源文件编译成字节码文件即: 这里科普一下java为什么会有字节码文件. 字节码产生的 ...

  4. C语言会生成字节码文件吗,什么是字节码文件?

    字节码文件是经过编译器预处理过的一种文件,是JAVA的执行文件存在形式, Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行.解释是通过Ja ...

  5. JVM与字节码——2进制流字节码解析

    为什么80%的码农都做不了架构师?>>>    字节码解析 结构 本位将详细介绍字节码的2进制结构和JVM解析2进制流的规范.规范对字节码有非常严格的结构要求,其结构可以用一个JSO ...

  6. 美团热修复Robust源码庖丁解牛(第一篇字节码插桩)

    如果你想对java编译后的class文件做一些手脚的话,市面上有供你选择的asm.javassist.aspectJ(aop面向切面编程)等等,一般修改class文件的用途有你想统计一些东西,例如ap ...

  7. python 字节码_简单入门python字节码混淆

    前言 我就是小菜鸡本鸡了,不是很会写东西,请各位大佬多多见谅.本文基于python2.7,因为python3并不是很懂. python文件如果要发布的话,有时候还是难免想保护一下自己的源码,有些人就直 ...

  8. 【Java基础】HashMap扩容 | CopyOnWriteArrayList 的底层原理 | 字节码 | Java 异常体系

    1. HashMap的扩容机制 JDK 1.7 扩容是针对数组进行扩容,链表是不需要进行扩容的.扩容时先生成原来数组两倍大小的新数组,在把原来老数组上的链表上的元素转移过去.具体在转移链表中元素的步骤 ...

  9. java 必须存在默认构造器_Java默认构造方法在字节码的实现

    方法在程序的重要性不言而喻,了解方法在字节码中的表达能够使我们开发做到更加心中有数. 再看class文件结构 上一步已经分析完了class文件中的字段(field_info)的表达,接下来就是方法数( ...

  10. java中j 和 j啥区别_从字节码层次分析++j和j++的区别

    一.缘起 最近看到个面试题: int j = 0; for(int i = 0; i <100; i++) j = j++; System.out.println(j); 输出结果是0,如果换成 ...

最新文章

  1. Django-C002-深入模型,到底有多深
  2. Win2K下关联进程/端口之代码初步分析
  3. AB1601定时器1注意事项
  4. 面向过程和面向对象编程的优缺点
  5. 51Node 01组成的N的倍数
  6. Kafka:那我走?这个新一代消息中间件,彻底火了!
  7. 如何复制图文消息封面图片?正文没显示
  8. C#LeetCode刷题之#111-二叉树的最小深度​​​​​​​(Minimum Depth of Binary Tree)
  9. 天猫双11:1日到11日0点45分 382个品牌成交额超过1亿元
  10. Zabbix 系统监控(二)Linux 系统监控
  11. HDU 4054 Hexadecimal View
  12. plsql删除历史记录(重新打开文件)
  13. 解决ssh_exchange_identification:read connection reset by peer 原因
  14. linux开机启动界面异常,Linux 界面不能启动的解决
  15. 患上糖尿病,为什么要做OCT眼底照相检查?
  16. Python-自学爬虫篇
  17. matlab如何就导数,Matlab微分和导数
  18. Python 爬虫、抓包
  19. 平衡二叉树的左旋右旋详解 看不懂你打我
  20. Centos7 内存插槽信息

热门文章

  1. 在RFID标准协议中 ISO18000-6B和ISO18000-6C的优点及区别
  2. 推荐一款免费开源的javascript电子表格:x-sheet
  3. Java实现猜拳游戏
  4. 将swf转成html5代码,一键把swf转为html5 canvas动画 Fanvas
  5. 公众号900篇文章分类和索引
  6. 分享一下老型号macbook pro在win10下安装BootCamp6.0驱动的方法
  7. 惠普1020打印机查看已打印页数
  8. 真实的网络赚钱经历:另类推广引流操作CPA!
  9. 网络弱电工程办理签证注意九个方面
  10. 差分管电路图_DIY一款差分输入的晶体管功放电路图