JDB在有源代码的时候可以实现调试远程机器上的java程序,但是在逆向中源码很难分析出来,不过还是能够调试得到一部分信息的

本文主要获取两个信息

1.动态调用混淆类中的方法,因为实践过程中我们去手动补全相关代码比较难

2.打印调用栈

以下例子以调试ZKM.jar为例

JDB无源代码调试调用方法

启动Xdebug调试java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -jar ZKM.jar

JDB无源代码连接(如果是同一台电脑,需要新开一个cmd)jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8000

在com.zelix.lh类的a方法设置断点stop in com.zelix.lh.a

run命令,运行到断点会停下run

输入next单步执行next

使用clear命令清除刚才的断点clear com.zelix.lh.a

使用print命令调用a方法print com.zelix.lh.a("BZLJ70ifAHJAW",1881109385)

上面演示了静态类方法的调用,动态类也可以print new java.lang.String("Hello").length()

打印调用栈where(wherei也可以,多打印PC寄存器值)

使用quit退出调试quit

注意调用方法时,相关的类必须已经加载,方法中打的断点必须清除,否则会抛出异常。

混淆的代码一般都去除了调试信息locals查看本地变量,stop at 行断点这些基本上无法输出有效信息

jdb 调试 java_Java逆向基础之JDB动态调试相关推荐

  1. [系统安全] 二十三.逆向分析之OllyDbg动态调试复习及TraceMe案例分析

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  2. 逆向路由器固件之动态调试

    原文地址:http://xdxd.love/2016/09/20/逆向路由器固件之动态调试/ 本文根据devttyS0的教程Exploiting Embedded Systems – Part 2和E ...

  3. 安卓逆向分析中常用动态调试方法总结

    安卓逆向之----常用动态调试方法 一. 前言 逆向分析中常用的分析方法有:静态分析.动态调试.HOOK等.动态调试的好处是:1)可以在调试的过程中知道参数或者局部变量的值以及变化过程,2)可以快速履 ...

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

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

  5. Android逆向笔记-IDA Pro动态调试Android程序(真机)

    这里的安卓版本是: Android 5.1.1(Lollipop, API 22) LGE Google Nexus 5 arm 使用的IDA为:IDA Pro 6.8 将android_server ...

  6. android ida多线程调试,C/C++知识点之ida动态调试.so 动态加载(必须真机)

    本文主要向大家介绍了C/C++知识点之ida动态调试.so 动态加载(必须真机),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助. 第一步连接安卓手机 查看设备 localhost: ...

  7. vc2010中开始执行不调试灰的_反编译动态调试smali全过程

    点击上方蓝字关注我,每天进步一点点 大家都知道我们在逆向分析的时候,很多时候主要在分析逻辑.网络抓包.数据来源流向分析.页面逻辑跳转分析.动态调试等.由于很多代码都会混淆,很多时候我们直接通过代码可能 ...

  8. IDA动态调试技术及Dump内存

    IDA动态调试技术及Dump内存 来源 https://blog.csdn.net/u010019468/article/details/78491815 最近研究SO文件调试和dump内存时,为了完 ...

  9. [免费专栏] Android安全之动态调试APP的一些技巧「Android Studio调试」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

最新文章

  1. Linux 终端部分重要快捷键
  2. C++中的new和delete操作符重载
  3. 查看Linux声卡基本信息[转载]
  4. FFmpeg资料来源简单分析:libswscale的sws_getContext()
  5. P2834-能力测验【数论,整除分块】
  6. happens-before通俗理解
  7. 每 1000 行代码有 14 个安全缺陷,开源软件的安全令人堪忧
  8. go语言和php哪个建站好,从0开始Go语言,用Golang搭建网站
  9. [leetcode]Longest Consecutive Sequence
  10. linux sync 同步文件夹,linux-日常运维-文件同步工具-rsync
  11. Mybatis Plus
  12. 谷歌学术高级搜索技巧
  13. 经典中的经典,古龙名著《陆小凤》决战紫禁之巅--叶西大战原文
  14. Remarkable简单使用
  15. 解决Retrying connect to server
  16. linux传奇私服文件包,分享:linux系统盘制作powershell的shell传奇私服脚本
  17. AI 建模师 素养手冊(2)
  18. semantic fusion中的Elastic Fusion 配置记录 Ubuntu16.04
  19. Python 图形界面开发哪个库好
  20. 【RPA机器人】PDF批量转换成图片机器人

热门文章

  1. 内联函数(inline 函数)详解
  2. 3.5 毫米耳机插座插头的结构和接线方式
  3. git detached HEAD 修改后如何提交修改到其他分支
  4. OpenCv图像锐化及各种高通滤波
  5. rabbitmq基本常用用法
  6. setTimeout用法——避免重复性触发操作
  7. 修改samba服务器密码,samba服务器配置密码
  8. 翻译Deep Learning and the Game of Go(2)第1章:面向深度学习
  9. 普元信息笔试java
  10. 数据结构之哈夫曼树的基本知识