首页
社区
课程
招聘
[求助]请问在调试时,只要设断点程序就自动退出是采用什么技术实现的?
2022-6-29 07:20 6879

[求助]请问在调试时,只要设断点程序就自动退出是采用什么技术实现的?

2022-6-29 07:20
6879

最近在调试某国外fpga软件(具体名称vav开头,就不发了,做fpga的都知道),版本19.1和21.1,常规的反调试手段过了后,能成功附加(使用插件scyllaHide),如果不设置断点,也能在调试器中跑起来,但只要设置断点,程序立即退出,即使在断点处设置读内存也断不下来,请问这种很大程度上用的是什么技术?是在设断点时程序收到消息了吗?


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞2
打赏
分享
最新回复 (9)
雪    币: 914
活跃值: (2138)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
万剑归宗 1 2022-6-29 09:58
2
0
vivado这软件还用破解?网上不是有license吗
雪    币: 9555
活跃值: (6536)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
bluefish蓝鱼 2022-6-29 10:00
3
0
你下的是什么断点?内存断点、硬件断点还是普通断点
雪    币: 934
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
freeIdler 2022-6-29 10:57
4
0
万剑归宗 vivado这软件还用破解?网上不是有license吗

不是license的问题,调试时发现这软件反调试技术很特别。。

最后于 2022-6-29 11:55 被freeIdler编辑 ,原因:
雪    币: 934
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
freeIdler 2022-6-29 11:00
5
0
bluefish蓝鱼 你下的是什么断点?内存断点、硬件断点还是普通断点

内存断点、硬件断点,普通断点都不行。
现象是,先disable断点,一切正常,在ida中一旦enable断点,程序立即退出。猜测可能有个线程在一直检测某段代码是否存在断点?但为什么内存断点也断不下来呢?

最后于 2022-6-29 11:00 被freeIdler编辑 ,原因:
雪    币: 3995
活跃值: (2981)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
scz 5 2022-6-30 09:11
6
0
可能是有个独立的检测线程在做完整性校验,需要找出来。先断一下与进程结束相关的函数,如果用windbg,有"sxe et"之类的手段。总之先找出这个线程再说。内存断点很容易被对抗。
雪    币: 2417
活跃值: (2271)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dearfuture 2022-6-30 09:54
7
0
弄个VT调试器下个断点试试,就知道是不是内存检测了
雪    币: 4427
活跃值: (3449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
木志本柯 2022-6-30 11:13
8
0
crc校验呗
雪    币: 934
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
freeIdler 2022-7-1 07:15
9
0
试了一下,crc校验这类反调试技术,硬件断点断不下来,没有什么好办法
雪    币: 63
活跃值: (676)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mb_kppjdiod 2022-9-20 00:24
10
0
软断的话crc基本上确定了,硬断如果开了odstrong插件还被检测,说明检测不在该进程当中,估计有隐藏进程检测了,做内核getconstthread下个断电
游客
登录 | 注册 方可回帖
返回