Reverse engineering
Unpack, decompile, recover hidden admin, licence checks, and the API key in the binary.
Coverage
Unpack, decompile, recover hidden admin, licence checks, and the API key in the binary.
Named pipes, COM, insecure services, DLL search order, installer repair tricks.
Config files, DPAPI misuse, hardcoded connection strings, update channels you do not pin.
Thick clients are still clients. We test the protocol they speak with the same two-account discipline.
If finance still runs a .NET client, that is in scope. Bring the installer, a test licence, and written authorisation.
Why it matters
A thick client enforcing permissions in its own UI is enforcing nothing. Whoever holds the binary can patch it, hook it, or skip it entirely and speak to the server directly. We test what the server does when the client stops cooperating, because that is the only control that survives.
Services running as SYSTEM with weak file permissions, unquoted service paths, DLL search-order hijacking, an updater that fetches over HTTP or does not verify a signature. On a shared or managed Windows estate, this is how a standard user becomes an administrator, and it is often the highest-severity finding of the engagement.
If nodeIntegration is on, context isolation is off, or the app loads remote content into a privileged window, cross-site scripting becomes code execution on the user’s machine. The same bug that would be a moderate finding on the web is critical here.
Credentials in configuration files, connection strings in plain text, tokens in the registry, cached data in a world-readable directory, and secrets compiled into the binary that a decompiler recovers in minutes. On a shared workstation this is the whole finding.
Desktop and thick-client applications are still how a great deal of UK financial, legal, healthcare and industrial work gets done, and they are frequently the part of the estate nobody has tested. The engagement covers the binary, the local machine and the server behind it.
How it runs
Which application and version, which backend environment, which Windows or macOS builds. Written CMA 1990 authorisation covering the client and the services it talks to.
Installer behaviour, service accounts and permissions, file and registry ACLs, service paths, DLL loading, scheduled tasks, and the update mechanism from fetch through to signature verification.
Decompilation and disassembly as the technology allows — .NET, Electron, Java, native — looking for hardcoded secrets, weak cryptography, authorisation logic that lives only in the client, and debug functionality that shipped.
Memory inspection, hooking and patching, process and IPC review, named pipe and COM security, local storage, logging, and what the application leaves behind on disk after it exits.
Every request the client can make, replayed and modified without the client’s constraints. Authorisation, injection, deserialisation and business logic — with the UI’s restrictions removed.
Findings split into client, local privilege and server-side, with reproduction against a named build. Re-test of every confirmed finding after the fix, included.
Deliverables
Client, local machine and server, separated so the right team picks up the right work — because these are usually three different teams, sometimes at three different companies.
Exact permissions, paths and service configuration, with the change that fixes each one. The section your Windows platform team will actually use.
Steps tied to a version and installer, with the tooling and machine state required, so a fix can be verified independently months later.
Re-test of confirmed findings on the fixed build, included in the fee, and a letter of attestation naming the application, version, scope, dates and outcome.
Scoping
We test on clean virtual machines that match your supported builds. If the application only runs against a specific domain or hardware dongle, tell us early — it is workable, but it changes the setup and the timeline.
UK compliance
Evidences secure development and technical vulnerability management for a part of the estate that internal audits routinely miss because it is neither web nor infrastructure.
Credentials and personal data cached on a workstation are processing. On a shared machine, a plain-text cache is a personal data exposure without any attacker being involved at all.
CE+ looks at patching and configuration, not at whether your own line-of-business application escalates a standard user to SYSTEM. That gap is exactly what this engagement covers.
Financial, legal and healthcare customers increasingly ask about the desktop applications handling their data. A version-named report with a re-test answers it directly.
Questions
Related
02
03
A thirty-minute call. Assets, timeline, a quote in pounds sterling.
Request a quote