Lade till callsites helper i mitt BN-verktyg. Det jag använder den till är att hitta anroparna för varje CRT RAND-drag, så att jag kan annotera dem i mina Python/Zig-portar. På så sätt kan vi inte bara se att vi har sänt samma antal RNG-drag, utan också skilja dem åt och tilldela dem en specifik plats i dekompileringen. Detta bör visa sig ovärderligt för att utveckla en deterministisk simulering i port som är beroende av en matchande RNG-ström. $ miljarder callsites crt_rand --target crimsonland.exe.bndb --inom fx_queue_add_random --caller-static caller_static 0x427760 | Ring 0x42775b Inom: fx_queue_add_random @ 0x427700 Callee: crt_rand @ 0x461746 Anropsindex: 0 Inom frågan: fx_queue_add_random hLLil: float.t(crt_rand() & 0xf) * fconvert.t(0,009999999978F) + fconvert.t(0,8399999974F) Bakgrund: 0x427749 mov dword [0x49042c], 0x3f47ae14 0x427753 ringer 0x460d86 0x427758 tillägga särskilt 0x4 > 0x42775b ringer 0x461746 0x427760 och eax, 0xf 0x427763 mov dword [esp], eax 0x427767 fild st0, dword [esp]
Glömde bifoga en bild, så här använder jag den. Detta gör det möjligt att mappa varje enskild RAND till callsite, så att jag enkelt kan framhäva eventuella kvarvarande avvikelser.
1,48K