gpt4 book ai didi

algorithm - 这个生成随机数的算法叫什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:48:52 25 4
gpt4 key购买 nike

我对生成随机数的算法进行了逆向工程;

int __cdecl sub_40BB60()
{
char v0; // si@1
int v1; // edx@1
int v2; // ecx@1
unsigned int v3; // eax@1
int v4; // edi@1
int v5; // esi@1
int result; // eax@1

v0 = random_state;
v1 = dword_685440[((_BYTE)random_state - 3) & 0xF];
v2 = dword_685440[random_state] ^ v1 ^ ((v1 ^ 2 * dword_685440[random_state]) << 15);
v3 = ((unsigned int)dword_685440[((_BYTE)random_state - 7) & 0xF] >> 11) ^ dword_685440[((_BYTE)random_state - 7) & 0xF];
v4 = v3 ^ dword_685440[random_state] ^ v1 ^ ((v1 ^ 2 * dword_685440[random_state]) << 15);
dword_685440[random_state] = v4;
v5 = (v0 - 1) & 0xF;
result = dword_685440[v5] ^ v2 ^ v4 ^ 32 * (v4 & 0xFED22169) ^ 4 * (dword_685440[v5] ^ ((v2 ^ (v3 << 10)) << 16));
random_state = v5;
dword_685440[v5] = result;
return result;
}

dword_685440 是一个 int[16],如您所见,random_state 发生了变异。

我在想这可能是一个扭曲者。有人认识这个算法吗?

最佳答案

看起来它可能是一个 linear feedback shift register算法。这些可以通过位移位和 XOR 运算的组合在字级别实现,这似乎是要达到的目的。

关于algorithm - 这个生成随机数的算法叫什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21040875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com