关于调试器看不到进程,无法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 无源码调试 以dvm smali字节码方式,Demo尝试相关推荐

  1. java中字节码_聊聊Java的字节码

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 巴山楚水凄凉地,二十三年弃置身. 怀旧空吟闻笛赋,到乡翻似烂柯人. 沉舟侧畔千帆过,病树前头万 ...

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

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

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

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

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

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

  5. 【网上的都不靠谱?还是得改源码】用Javasisst的字节码插桩技术,彻底解决Gson转Map时,Int变成double问题...

    一.探究原由 首先申明一下,我们要解决的问题有两个: Json串转Map时,int变double问题 Json串转对象时,对象属性中的Map,int变double问题 然后,我们来了解一下,Gson实 ...

  6. java 虚拟机 字节码,JAVA虚拟机:虚拟机字节码执行引擎

    "虚拟机"是一个相对"物理机"的概念,这两种机器都有代码执行能力. 物理机的执行引擎是直接建立在处理器.硬件.指令集和操作系统层面上的. 虚拟机的执行引擎由自己 ...

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

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

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

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

  9. java自带的字节码技术_读懂字节码-还原JAVA源码

    已知有两个类: public class Father extends GrandFather { public String name = "father"; public vo ...

最新文章

  1. 机器学习数据预处理之缺失值:后向填充
  2. 南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup
  3. APP启动引导页的制作,用ViewPager实现翻页动画
  4. 《Java 7程序设计入门经典》一3.7 for循环
  5. mail发送的内容显示为附件的解决办法
  6. torch.nn.Module()
  7. LeetCode 771. 宝石与石头
  8. react全局方法_前端面试题 ---react
  9. Memcached如何实现高性能批量删除
  10. 编写程序销毁一个单链表
  11. python返回对象_函数返回一个对象-python
  12. 找回foxmail下的邮箱密码
  13. 一些成功又不失趣味的网络营销案例
  14. WhatsApp群发系统-SendWS拓客系统功能后台介绍(五):WhatsApp筛号群发,群发超链
  15. ODL开发【SDN控制器-下】【C4-04】
  16. 利用Tween让动画更平滑(补间动画)
  17. 我靠海外抖音搬运视频赚到了人生第一桶金:这个风口行业,真的很赚钱
  18. 墨干V1.1.0: 新一代结构化编辑器的雏形
  19. 1 2 3 转换成一百二十三,十万位以内的转换
  20. XAMPP mysql无法启动

热门文章

  1. WordPress 三个必须的安全措施
  2. 人工智障学习笔记——机器学习(12)LDA降维
  3. LeetCode 496. Next Greater Element I
  4. 【今日CV 视觉论文速览】 Part2 19 Feb 2019
  5. leetcode算法—无重复字符的最长子串 Longest Substring Without Repeating Characters
  6. php 一句话木马、后门
  7. Nginx学习之十四-GDB调试Nginx初试
  8. 【C++基础学习】const限定修饰符详解
  9. selenium-入门与安装-0223
  10. jquery-模态框的显示与消失操作