Grzegorz Niemirowski <gnthexfiles@poczta.onet.pl> napisał(a):
W wolnym czasie spróbuję przyjrzeć się bliżej plikowi exe i sprawdzić z
czego korzysta do listowania portów.
Sprawdziłem, że odczytywany jest klucz
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM za pomocą funkcji
RegOpenKeyExA(). Jako parametr samDesired, czyli pożądany poziom dostępu,
ustawiona jest maska KEY_ALL_ACCESS, a więc dostęp zarówno do odczytu jak i
zapisu. Skutkuje to błędem ERROR_ACCESS_DENIED jeśli program nie jest
uruchamiany jako admin.
Mamy więc do czynienia z typowym programem pisanym w czasach XP, żądającym
wyższych uprawnień niż jest to konieczne. Nie ma znaczenia czy system jest
64-bitowy ani czy to Win7 czy Win10. Problem wystąpiłby też na XP gdyby użyć
nieadministracyjnego konta.
--
Grzegorz Niemirowski
https://www.grzegorz.net/
|