首页
社区
课程
招聘
轮循检测技术
发表于: 2020-10-16 16:16 2908

轮循检测技术

2020-10-16 16:16
2908

反调试的方法之一,就是保护程序的代码会一直监视进程的tracepid是否发生变化,不断轮循检查TracePid的值,假如为0的话,说明该进程没有被调试,假如不为0的话,就说明该进程正在被调试,这就是轮循检测。

1.轮循检测代码

直接分析源码,如下图所示。

 

 

1.查看反调试部分代码逻辑,如下图所示。

 

 

2.获取当前进程的状态信息,如下图所示。

 

 

3.从一系列检测状态信息中获取tracepid 字符串,如下图所示。

 

 

4.如果tracepid的值一直为零,就直接循环打印,如下图所示。

 

 

5.如果tracepid的值不为零,就返回false,如下图所示。

 

2.演示程序运行效果

将poll_anti_debug和debugger两个文件push到手机目录下,如下图所示。
debugger文件:调试程序,选择程序的进程名称调试程序;poll_anti_debug:检测调试程序的存在。

 

 

1.给poll_anti_debug权限,运行该程序,由于当前没有去调试它,所以tracepid的的值一直是零,如下图所示。

 

2.新开一个cmd,使用调试器debugger去调试,发现字段值发生变化,如下图所示。

 

小结

今天的分享了解了轮循代码实现的原理,同时还演示了轮循检测的效果。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-10-16 16:21 被上火喝王老吉编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//