Witam,
czy jest jakiś debugger lub inne narzędzie, które na podstawie podanej przeze mnie liczby 32 bitowej jest w stanie sprawdzić gdzie ona jest wpisywana do pamięci podczas działania aplikacji?
O co chodzi?
Niestety ale w dość sporym programie mam gdzieś nadpisywanie pamięci. Problem w tym, że to nie jest taka prosta aplikacja. Problem jest dosyć złożony, bo jest to dllka, która hookuje główną aplikacje (grę zewnętrzną), korzysta z pamięci tej gry, itd. itd.
Problem polega na tym, że czasami pamięć się nadpisze w miejscu jakiegoś arraya, a konkretniej jego rozmiaru. A, że liczba która jest wpisywana zawsze do tego rozmiaru arraya jest konkretnym floatem (1057770468u [0.548032999f]), to pomyślałem, że gdybym miał debugger w którym wpisuję tą wartość a on mi wyprintuje w czasie rzeczywistym gdzie dana wartość jest zapisywana i pod jakim adresem instrukcje ją zapisują to mógłbym już coś zrobić.
Oczywiście można by było jakoś ustawić debuggera na rozmiar tego arraya i czekać, aczkolwiek jest taki problem, że takich arrayów jest dość sporo, a nadpisanie pamięci jest dość rzadkie.
Dodatkowo, wartość ta jest dość unikalna. W czystej grze ona się pojawia dosłownie 6 razy w pamięci, a już po działaniu dllki mojej niestety czasami występuje już 100/200 razy.
Pomysły?