Jak odczytać konkretną wartość w pamięci procesu aplikacji?

0

W mojej firmie mam program od zewnętrznej firmy do sterowania automatyką SPS - Siemens (załącznik)
Chciałbym napisać mały programik, który odczyta mi wartości z aplikacji i wyśle powiedzmy skryptem PHP do MySQL.

Na zdjęciu jest wartość 3156 - jest to wysokość w milimetrach, w ile jest zapełniony zbiornik z paliwem. Odpalam Cheat Engine, wyszukuję tą wartość i mam jej adres, ale co uruchomienie adres jest inny, czasami przeskakuje. Jak dobrać się do tej wartości i stale ją odczytywać?

0

Usuń relokacje z aplikacji ;), baza pamięci aplikacji jest losowo dobierana za każdym razem jak odpalasz soft (mechanizm się nazywa ASLR - Address Space Layout Randomization), więc adresy zmieniają się co uruchomienie, właśnie żeby tacy hakerzy jak ty mieli problemy :)

Inna metoda, znajdź gdzie to leży w pamięci i pobierz sobie adres RVA (relatywny adres), np. w hexedytorze HIEW, potem zrób enumerację procesów, znajdź ten twój i będziesz miał dostęp do informacji o bazie procesu, dodaj do niej adres RVA i to adres w bieżącej kopii procesu tej szukanej wartości.

Trzecia opcja, wartość leży sobie w jakiejś dynamicznie alokowanej pamięci przez aplikację, wtedy trzeba już przeanalizować oprogramowanie żeby znaleźć jak to dokładnie funkcjonuje, najbardziej pracochłonne, ale zazwyczaj skuteczne.

0

A ta SCADA nie ma po prostu jakiegoś ludzkiego interfejsu z którego można sobie pobierać wartości?
No ale jak chcesz tak kombinować to z jednej strony masz tam pewnie ASLR a z drugiej strony wartości zarówno na stosie jak i na stercie mogą też być dość losowo zlokalizowane w zależności od tego jakie operacje aplikacja wykonuje w czasie działania, więc może być trudno określić konkretną lokalizacje nawet znając adres bazowy.
Dużo prościej byłoby szukać jakiegoś patternu w pamięci, np. znanej stałej wartości w pamięci która zawsze jest w jakiejś relatywnej odległości od danych których szukasz. Wtedy znajdujesz sobie gdzie leży ta znana wartość a potem skaczesz o pewien offset do tej szukanej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1