Someone hands you a 3.6 MB Windows program called DNS一键优化.exe — “one-click DNS optimization” — because the site you want to reach won’t load. It looks like a friendly support tool. I unpacked it to find out what it actually changes on your machine, and why the honest answer is don’t run it.
Not a password stealer — and still not safe. There is no spyware, no backdoor and no “payload” in this file. It is an unsigned, administrator-level utility that rewrites the DNS servers on every network adapter in Windows. Its purpose is to make a blocked website reachable again, and the people publishing it are the operators of that blocked website. The danger here is not a hidden virus; it is who is handing you an admin-level network tool, and what that tool is allowed to point your traffic at.
No guessing was required. macOS keeps a receipt for every downloaded file, in an extended attribute called kMDItemWhereFroms, plus a quarantine stamp recording which application fetched it and when:
$ xattr -l DNS一键优化.exe
com.apple.metadata:kMDItemWhereFroms: https://www.218yc[.]com/static/file/DNS一键优化.exe
https://www.218yc[.]com/
com.apple.quarantine: 0081;6aae4c6a;Chrome;67742DF8-…
Domains on this page are written defanged — [.] stands for . — so nothing here can be clicked into a visit or scraped into one.
| Field | Value |
|---|---|
| Download URL | https://www.218yc[.]com/static/file/DNS一键优化.exe |
| Linking page | https://www.218yc[.]com/ |
| Downloaded by | Google Chrome |
| Timestamp | 2026-09-19 16:48 HKT (decoded from the quarantine stamp) |
218yc[.]com is not a software site. It is a search-engine-camouflaged front page for an unlicensed online gambling operation — a mix of scraped news snippets, bank and email links to look legitimate, and links into browser-based casino games. Its front page carries a small “self-rescue” kit for players whose connection refuses to load the site:
All three items solve the same problem: making a blocked website load. That framing is the whole story of this file. It is not a utility that escaped from a software vendor — it is site infrastructure, handed to players as a favour.
| Property | Finding |
|---|---|
| Format | Windows PE32 GUI executable, Intel 80386 |
| Size | 3,767,808 bytes packed → 11,321,344 bytes unpacked |
| Packer | UPX 3.91 (sections UPX0/UPX1) — used to shrink the Qt runtime, and it hides the strings |
| Toolchain | Statically-linked Qt GUI application built with MinGW-W64 GCC 4.8.3 |
| Digital signature | None |
| Version resource | Absent — no publisher, product name or version to check |
| Requested privilege | requireAdministrator (UAC elevation on launch) |
| Network code | None — no HTTP client, no downloader, no socket code in the application layer |
Two of these are already the tell. The embedded manifest is stored uncompressed even inside a packed binary, so it can be read without unpacking — and it asks for full administrator rights:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
A DNS tweak is a machine-wide network change, so admin is technically consistent. But combine that with no signature and no version information at all — you cannot verify who built this, you cannot check whether the build in front of you is the build anyone ever reviewed, and there is no update mechanism that would tell you if it changed. That is what a throwaway build looks like.
Unpacked, the giveaway sits in one tight cluster of strings. The application’s own class names are UDnsOptimizer / UDnsWindow, and its working code is a thin wrapper around Windows’ own command-line network tool:
netsh interface ip set dns "%1" static %2 netsh interface ip add dns "%1" %2 index=2 netsh interface ipv4 set dnsserver "%1" static %2 netsh interface ip set dns "%1" dhcp // "reset to automatic" // and the same change written straight into the registry: HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%1 → NameServer
The interface is one button, and the messages it shows the user are exactly what you would expect from a “fix my DNS” utility:
DNS 设置尚未优化 — “DNS settings are not yet optimised”
按下 “优化” 按键, 以优化 DNS 服务器的设置。 — “Press the ‘Optimize’ button to optimise the DNS server settings.”
DNS 设定中… / DNS 设置已优化 / DNS 优化失败 — “Applying DNS settings… / DNS settings optimised / DNS optimisation failed”
Here is the part that matters. The only DNS server addresses anywhere in the binary are 8.8.8.8 and 8.8.4.4 — Google Public DNS. There is no latency measurement, no comparison of providers, no “optimisation” logic of any kind. “Optimise” means one thing: replace your ISP’s DNS servers with Google’s.
And it is not limited to that pair. The binary also carries hidden command-line options — --adapter-index, --preferred-dns-server, --alternate-dns-server — alongside programmatic entry points such as setAllDnsAddressManually(). In other words, whoever launches this program can point your DNS at any resolver they choose, silently, with administrator rights, on every adapter.
Because DNS is usually what blocks it. On many networks — and especially across mainland China’s ISP resolvers — casino domains are sinkholed at the DNS layer, so the site simply won’t resolve. The standard workaround is to move resolution to a foreign resolver, and the standard pairing for that is a foreign resolver plus a proxy-capable browser. That is precisely the three-item kit on the site’s help page: change the DNS, install our browser, check the line.
So the tool is not random. It is the first step of a documented access-bypass workflow, packaged as consumer-friendly “one-click” support.
Being precise here matters, because “I found malware!” is easy to claim and hard to prove. I looked for, and did not find:
InternetOpen, URLDownloadToFile or WinHttpConnect; no embedded URLs or IP endpoints beyond the Qt library’s own text.Run registry keys, no scheduled tasks, no service installation, no startup folder drops.The strings that look alarming at a glance — .lnk, NetShareEnum, UNC paths — belong to the Qt and Windows shell libraries that every Qt application links, not to this program’s own logic. Reading them as intent is the classic false positive.
Because “no payload” is a statement about this build, today. You are still handing administrator rights to an unsigned, unversioned binary published by an unlicensed gambling operator, with no support channel, no update path and no accountability. That is a bad trade even when the binary is boring — and trojanising an update to a tool people already trust is the ordinary way this pattern goes wrong later.
--preferred-dns-server / --alternate-dns-server switches mean the “optimiser” is a generic DNS-setting engine. A launcher, an installer or a shortcut can drive it to a malicious resolver without the user ever seeing a prompt — and DNS is the layer that decides where your traffic actually goes.None of this required a malware scanner. The same five questions would have flagged it before execution:
Entirely static — the sample was never executed, and as a Windows PE it could not have been on this machine anyway. The whole teardown ran on macOS:
xattr -l to read kMDItemWhereFroms and the quarantine stamp — that alone named the source URL, the linking page, the downloading browser and the exact time.file and shasum -a 256 — PE32 GUI, Intel 80386, UPX compressed, plus a stable hash to work from..rsrc section uncompressed, so parsing the PE section table and dumping .rsrc yields the manifest (requireAdministrator), the icon set, and the absence of any version resource.schtasks, and Run keys. Their absence is a finding, and it is what keeps the verdict honest.| Item | Value |
|---|---|
| Filename | DNS一键优化.exe |
| SHA-256 (packed) | 6c47bebfc1a0cc53be82268de3c7c6781d89254e54421091d7fa2c26e9514b01 |
| SHA-256 (unpacked) | bbfd77a19f2b98ba57c02f64bcfb3a1efa061351ca998226a26cef53118e444f |
| Distribution host | www.218yc[.]com (path: /static/file/) |
| UI / component names | UDnsOptimizer, UDnsWindow |
| Registry touch point | HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<adapter> → NameServer |
If it was run on a Windows machine, check what your adapters are actually using and put them back to automatic:
:: see the current DNS servers per adapter netsh interface ip show dns :: revert an adapter to the network's own resolvers netsh interface ip set dns "Wi-Fi" dhcp netsh interface ip set dns "Ethernet" dhcp :: the registry values this tool writes HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
The sample itself is deliberately not hosted here. If you want a scanner’s opinion, submit the hashes above to a service such as VirusTotal rather than running the file.
The one-line version. A friendly “one-click DNS fix” from a gambling site is not a utility — it is the first step of a network-bypass kit, it runs with administrator rights, it cannot be attributed to anyone, and it can be aimed at any resolver its launcher likes. The scan was clean. Don’t run it anyway.