刚刚遇到了RDTSC这个指令,没遇见过,查到资料如下。
貌似说这个RDTSC指令是用来记录计算机启动以来CPU的周期数,保存在EDX:EAX中。
用来Anti-Debug确实是蛮不错的,不过静态就被杀了吧。
但是一下子脑子冒出个问题,CPU周期数,得多少呀。粗略算算,用时间×CPU主频公式:
1s × 2GHz = 2 ^ 31
看来,还是有点效果的,刚刚一开始觉得会不会有特殊情况,刚刚好遇上EAX进位EDX,导致用EAX的差值Anti-Debug会出错。现在看来<1s,是不会有这种错误。
本文深入探讨了RDTSC指令的工作原理,它用于记录CPU启动以来的周期数,并解释了如何利用这一特性进行Anti-Debug操作。通过分析CPU周期数的计算方式,文章指出其在短时间内对Anti-Debug的有效性,并讨论了潜在的特殊情况。
刚刚遇到了RDTSC这个指令,没遇见过,查到资料如下。
貌似说这个RDTSC指令是用来记录计算机启动以来CPU的周期数,保存在EDX:EAX中。
用来Anti-Debug确实是蛮不错的,不过静态就被杀了吧。
但是一下子脑子冒出个问题,CPU周期数,得多少呀。粗略算算,用时间×CPU主频公式:
1s × 2GHz = 2 ^ 31
看来,还是有点效果的,刚刚一开始觉得会不会有特殊情况,刚刚好遇上EAX进位EDX,导致用EAX的差值Anti-Debug会出错。现在看来<1s,是不会有这种错误。
1513
7472

被折叠的 条评论
为什么被折叠?