Adicionei o helper de sites de chamadas à minha ferramenta de BN. O que eu uso é encontrar os chamadores de cada draw RAND CRT, assim posso anotá-los nas minhas portas Python/Zig. Dessa forma, não só podemos ver que emitimos o mesmo número de sorteados RNG, mas também distingui-los e atribuí-los a um lugar específico na descompilação. Isso deve ser inestimável para desenvolver uma simulação determinística no port que dependa de um fluxo RNG correspondente. $bn sites de chamadas crt_rand --alvo crimsonland.exe.bndb --dentro de fx_queue_add_random --caller-static caller_static 0x427760 | Ligue 0x42775b Dentro de: fx_queue_add_random @ 0x427700 CHAMADA: crt_rand @ 0x461746 índice de chamadas: 0 Dentro da consulta: fx_queue_add_random hlil: float.t(crt_rand() & 0xf) * fconvert.t(0.00999999978f) + fconvert.t(0.839999974f) Contexto: 0x427749 mov dword [0x49042c], 0x3f47ae14 0x427753 ligar 0x460d86 0x427758 adicionar especial, 0x4 > 0x42775b ligar 0x461746 0x427760 e eax, 0xf 0x427763 mov dword [esp], eax 0x427767 fild st0, dword [esp]
Esqueci de anexar uma foto, então é assim que uso. Isso permitirá mapear cada RAND individual para o local de chamamento, para que eu possa revelar facilmente quaisquer divergências restantes.
1,48K