-
-
轮循检测技术
-
发表于: 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
被上火喝王老吉编辑
,原因:
赞赏
他的文章
- [转帖]无需脱壳抓取软件加密包方法(逆向破解) 10705
- [分享]Android逆向——RSA加密算法 4110
- [原创]普通协议(HTTP)与安全协议(HTTPS) 3997
- [转帖]Android App加固原理与技术历程 4185
- [分享]实战分析人X的HTTP协议 5281
看原图
赞赏
雪币:
留言: