La til callsites helper i mitt BN-verktøy. Det jeg bruker den til, er å finne anroperne til hver CRT RAND-tegning, slik at jeg kan annotere dem i mine Python/Zig-porter. På denne måten kan vi ikke bare se at vi har sendt ut det samme antallet RNG-trekk, men også skille dem fra hverandre og tilskrive dem et bestemt sted i dekompileringen. Dette bør vise seg uvurderlig for å utvikle en deterministisk simulering i port som er avhengig av en matchende RNG-strøm. $ milliarder callsites crt_rand --target crimsonland.exe.bndb --innen fx_queue_add_random --caller-static caller_static 0x427760 | Ring 0x42775b innenfor: fx_queue_add_random @ 0x427700 Callee: crt_rand @ 0x461746 Kalleindeks: 0 innenfor spørsmål: fx_queue_add_random HLil: float.t(crt_rand() & 0xf) * fconvert.t(0,009999999978F) + fconvert.t(0,8399999974F) Kontekst: 0x427749 mov dword [0x49042c], 0x3f47ae14 0x427753 ringe 0x460d86 0x427758 legge til esp, 0x4 > 0x42775b ringe 0x461746 0x427760 og Eax, 0xf 0x427763 mov dword [esp], eax 0x427767 fild st0, dword [esp]
Glemte å legge ved et bilde, så slik bruker jeg det. Dette vil gjøre det mulig å mappe hver enkelt RAND til callsite, slik at jeg enkelt kan finne eventuelle gjenværende avvik.
3,04K