LoadView v2.11.0
What's new
A security review of the whole app, not just the optional CPU-temperature feature — plus the
fixes it turned up and a measurable drop in idle cost. Everyone should update; nothing here changes
how LoadView looks or behaves.
A DLL left next to LoadView.exe is no longer loaded
Windows looks for a program's libraries next to the program first. LoadView needs four system
libraries (pdh.dll for the performance counters, plus the NVIDIA/AMD/Intel libraries for GPU
temperature), and because it is a portable exe that people keep in Downloads, on a USB stick or in a
shared folder, a file with one of those names placed beside it would be loaded as part of the app.
LoadView now refuses to use any of those libraries if it finds one sitting next to the exe — the
affected reading simply shows n/a. Two more obvious fixes were tried first and measured to not
work: restricting the library search path does nothing here, and pre-loading the genuine library
from Windows first still let the planted file be loaded and run. Only refusing outright actually
prevents it.
The optional CPU-temperature setup
- The driver installer's certificate is now matched exactly. The old check searched for the
publisher's name anywhere in the certificate details, so a certificate issued to a look-alike
domain such asnamazso.eu.somebodyelse.examplewould have satisfied it. - A file handed to the setup on the command line is now checked before being copied anywhere,
and the setup's working folder is no longer readable by other users. Previously an
administrator-approved run could be pointed at any file on the machine and would place a copy of
it somewhere every user could read. - The "administrators only" check on the folders the privileged reader runs from now also verifies
who owns them, not just the permissions — an owner can always rewrite permissions later.
Web lookups are treated as untrusted
The optional country/flag display took the country code straight from a web service and used it in a
file name; a two-character reply such as c: was enough to make the file land outside the intended
folder. Only two letters are accepted now, replies from all three services are size-capped, and
downloads no longer offer your Windows credentials to the server they are talking to.
Two fixes worth naming
- A hand-edited
settings.inican no longer break the app. A font size of0made it fail at
startup, every time, until the file was deleted by hand. All values are now range-checked on load. - Helper commands can no longer hang instead of timing out. The timeout could never fire, because
of the order in which the program read the command's output — which means the one-time setup could
in principle wait forever.
Lower idle cost
Measured on the same machine with identical settings, interleaved 2-minute runs: CPU time dropped to
80% of the previous version (8.13 s → 6.49 s per 2 minutes), with the same memory use. The GPU
figure is now assembled without allocating anything each second, the graphs reuse their drawing
objects instead of recreating them, and both the overlay and the temperature reader stopped polling
files more often than the data actually changes.
One "optimisation" was measured, found to be twice as slow, and reverted — the note is in the
code so nobody repeats it.
Install
Download LoadView.exe below and run it — no install, no dependencies, works on any Windows
10/11 PC. Unsigned, so SmartScreen/Defender may warn on first run (More info → Run anyway).
Prefer a folder only you can write to. And if you use the accurate CPU temperature, this version
asks for the one-time administrator confirmation again, because the reader it installs is refreshed.