首页
社区
课程
招聘
[原创]IDA调试阻止java线程异常退出
发表于: 2019-5-16 21:19 7073

[原创]IDA调试阻止java线程异常退出

2019-5-16 21:19
7073


         最近在使用IDA调试分析某款产品遇见了一个头痛的问题,因为程序核心功能在native层实现的,所以主要的侧重点是分析so文件,但是在分析的时候总是出现java线程异常,导致程序异常退出,而且总是在分析到最关键的地方退出,开始的时候不知道怎么处理,跟程序抢时间,你肯定抢不过他,真的很懊恼,后来经过同事的指点,由于是java线程出了问题,可以使用jdb指令去操作线程试一试,果真有效,直接贴图:




        从图片中可以看出,出现异常错误的线程是Thread-2,具体出现错误的是哪个类下面的哪个函数的第几行都已经告诉我们了,反编译成smali文件,打开到出错代码的位置,返回到调用函数一看还真的是直接kill掉进程(具体的图片补贴了,有点职业操守)


        在调试过程中,当java线程出现异常的时候,调试程序会被挂起,最直观的现象就是IDA卡住跑不起来了,这时候就要注意看看是不是出现和我类似的情况。下面我就说一下怎么操作(友情提示:以下的操作都是围绕jdb指令展开的,不了解的同学请参考这里jdb百度百科)。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-5-16 21:21 被梨树生果编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (4)
雪    币: 14824
活跃值: (6063)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
应该还有更简单的?好像在调试设置中有选项挂起所有线程
2019-5-17 09:32
0
雪    币: 36
活跃值: (1061)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
mark,不错,学习了
2019-5-17 09:59
0
雪    币: 7
活跃值: (263)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
IDA中thread list 直接挂起可以?
2019-5-17 10:11
0
雪    币: 28
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
直接在IDA中挂起线程就完了
2019-5-21 17:29
0
游客
登录 | 注册 方可回帖
返回
//