-
-
[原创]R0/R3 通用高效取随机数
-
发表于:
2019-4-21 12:46
6562
-
R3有 srand(?) rand(),凑合使用.
但是最近搞的驱动需要随机参数,R0又没有随机数值的获取.
因为x64不能直接 _asm{}了,根据网上流传的汇编方式获取随机数的方法,改成了这样的
1 2 3 4 5 6 7 8 9 | ULONG dv_rand( ULONG min, ULONG max)
{
ULONG t1 = __rdtsc();
ULONG v = (((((t1*(min^ t1) + t1 * (max*min )) * 0x17) / 7) % (max- min+1)) + min);
return v;
}
|
1 2 3 4 5 6 7 8 9 | ULONG dv_rand( ULONG min, ULONG max)
{
ULONG t1 = __rdtsc();
ULONG v = (((((t1*(min^ t1) + t1 * (max*min )) * 0x17) / 7) % (max- min+1)) + min);
return v;
}
|
[注意]看雪招聘,专注安全领域的专业人才平台!
最后于 2019-5-20 22:57
被游乐娃子编辑
,原因: 修改错误.