• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

A tool to kill Unity telemetry: UnityAnalyticsKiller

Joined
Aug 20, 2007
Messages
20,789 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
Hmm I recall someone at my office mentioning that they'll utilize unity for some hololens stuff. Wonder if they're aware of this.

If you have source access, it's not really an issue as the dev has to choose to turn it on.
 
Joined
Mar 4, 2005
Messages
3,612 (0.52/day)
System Name TheReactor / HTPC
Processor AMD 7800x3d 5050Mhz / Intel 10700kf (5.1ghz All Core)
Motherboard ASrock x670e Taichi / ROG Strix z490-e gaming
Cooling HeatKiller VI CPU/GPU Block -2xBlackIce GTX 360 Radiators - Swiftech MCP655 Pump
Memory 32GB G.Skill 6000Mhz DDR5 / 32GB G.Skill 3400Mhz DDR4
Video Card(s) Nvidia 3090ti / Nvidia 2080ti
Storage Crucial T700 2TB Gen 5 / Samsung Evo 2Tb
Display(s) Acer Predator xb271hu - 2560x1440 @144hz
Case Corsiar 550
Audio Device(s) on board
Power Supply Antec Quattro 1000W
Mouse Logitech G502
Keyboard Corsair Gaming k70
Software Windows 10 Pro 64bit
No one mentioned PI-HOLE? If you all haven't looked into it yet I would strongly recommend it. Cheap and amazingly effective.
 
Joined
Aug 20, 2007
Messages
20,789 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
No one mentioned PI-HOLE? If you all haven't looked into it yet I would strongly recommend it. Cheap and amazingly effective.

I prefer my code to just not try this, but that's certainly a valid option. Hosts file edits work too, due to lazy code.

If wanting to go that route:

127.0.0.1 cdp.cloud.unity3d.com
127.0.0.1 config.uca.cloud.unity3d.com
127.0.0.1 perf-events.cloud.unity3d.com
127.0.0.1 prd-lender.cdp.internal.unity3d.com
127.0.0.1 thind-gke-usc.prd.data.corp.unity3d.com
127.0.0.1 thind-prd-knob.data.ie.unity3d.com
127.0.0.1 remote-config-proxy-prd.uca.cloud.unity3d.com
127.0.0.1 data-optout-service.uca.cloud.unity3d.com
127.0.0.1 redshell.io
127.0.0.1 api.redshell.io
127.0.0.1 treasuredata.com
127.0.0.1 api.treasuredata.com


Add the above to your system hosts file, and watch as Unity gets mad and stops trying.

Anyhow, new release inbound soon. Working on killing the remaining traffic. What's left isn't much, but it's certainly too much.

Crosspost from my post in TPU news about our current 1 "bug":

Here is an opt-out error log still transmitting some limited data, even with my plugin:


Relevant JSON response from Unity Server in the log:

"connect": {
"enabled": true,
"limit_user_tracking": true,
"player_opted_out": true
},
"performance": {
"enabled": true
}

You will note that though the player has clearly opted out (""player_opted_out": true") it still thinks it's ok to track performance related things (connect is enabled, as well as performance logging).

An example of a transmitted "performance metric" packet that still slips through with my plugin (bug report currently up for this)

Content-Type: application/json
X-Unity-Version: 2019.2.2f1
Content-Length: 365
JSON [m:auto]
{
"common": {
"appid": "39811e89-d29d-4faa-bb01-997f3cda24f0",
"build_guid": "15721da0da695412299517d99c2e4d2a",
"deviceid": "unknown",
"localprojectid": "5be2ef0cdad9b1344ae103b0d475456b",
"platform": "LinuxPlayer",
"platformid": 13,
"sdk_ver": "u2019.2.2f1",
"session_count": 14,
"sessionid": 8372668789457274197,
"t_since_start": 3118069,
"userid": "1ddb05956cce640a48c123610a72c706"
}
}

I believe I can address this by building yet another dummy class for UnityEngine.UnityAnalyticsModule.dll That's a big dll (relatively speaking), but I'm trying. It's slow work. Dan was tired and may have just woken up. That slows me down, too.

EDIT We have new release v0.2, testers wanted:


Unfortunately it is Unity 2019 and KSP 1.8 only. 2017 support is temporarily on hold due to this.

EDIT: Also, v0.2 still has some data leaks. Track the issue here:

 
Last edited:
Joined
Aug 20, 2007
Messages
20,789 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
I may be able to support Unity 2017 afterall.

Random related question, I don't suppose anyone knows the Appdata\LocalLow path equivalent in *nix land?

Related topic about why that's important:


EDIT: v0.3 with support for all Kerbal Space Program platforms (including 1.7) is out. It includes a config patcher for KSP. Unity 2017 support is incomplete without a config patch in many games, but it's progress.
 
Last edited:

AsRock

TPU addict
Joined
Jun 23, 2007
Messages
18,876 (3.07/day)
Location
UK\USA
Processor AMD 3900X \ AMD 7700X
Motherboard ASRock AM4 X570 Pro 4 \ ASUS X670Xe TUF
Cooling D15
Memory Patriot 2x16GB PVS432G320C6K \ G.Skill Flare X5 F5-6000J3238F 2x16GB
Video Card(s) eVga GTX1060 SSC \ XFX RX 6950XT RX-695XATBD9
Storage Sammy 860, MX500, Sabrent Rocket 4 Sammy Evo 980 \ 1xSabrent Rocket 4+, Sammy 2x990 Pro
Display(s) Samsung 1080P \ LG 43UN700
Case Fractal Design Pop Air 2x140mm fans from Torrent \ Fractal Design Torrent 2 SilverStone FHP141x2
Audio Device(s) Yamaha RX-V677 \ Yamaha CX-830+Yamaha MX-630 Infinity RS4000\Paradigm P Studio 20, Blue Yeti
Power Supply Seasonic Prime TX-750 \ Corsair RM1000X Shift
Mouse Steelseries Sensei wireless \ Steelseries Sensei wireless
Keyboard Logitech K120 \ Wooting Two HE
Benchmark Scores Meh benchmarks.
Well 7 Days to Die A18 was just released and looking at the notes it looks like they are using this so called feature.

They plan too ?, meaning they are not at this time.
The testing team painstakingly played build after build purposely playing as these archetypes and collecting XP earning data, recording and analyzing the results, and working with the game designers to re-balance. We believe the game now supports all the current play-styles. We plan to collect telemetry data in the future to help us further improve this aspect of the game.


 
Joined
Aug 20, 2007
Messages
20,789 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
Yep, I believe most Unity games will move this way rather than not.

I don't know what the motive is but I've seen it enough to know it'll probably happen. Anyhow, my dlls silence most telemetry, but in some games, some still slips through the cracks. For those, you will need to locate and patch, and write protect an "Analytics config file." To make it more fun, the location of this file varies from game to game. It's generally a JSON formatted file named "config" though, vague AF I know.

I made a patcher that handles this for KSP. Other games? Too much effort to keep up but I'll take contributions. These dlls still restrict the telemetry sent severely in even the worst case (basically just system configuration and start/quit time).

This is the state as of latest release (v0.3).
 

günther-dikdik

New Member
Joined
Feb 6, 2021
Messages
2 (0.00/day)
just found this awesome tool
but i immediately noticed that e g a replacement for
UnityEngine.PerformanceReportingModule.dll is missing
id guess it does not exist in ksp but in other unity games it does - so are u still updating this project
 

Attachments

  • utk.zip
    9.2 KB · Views: 60
Joined
Aug 20, 2007
Messages
20,789 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
just found this awesome tool
but i immediately noticed that e g a replacement for
UnityEngine.PerformanceReportingModule.dll is missing
id guess it does not exist in ksp but in other unity games it does - so are u still updating this project
In more recent ksp's it does exist, I just have not come around to updating. I am now the main maintainer on a few large projects so I would work on it, just a question of time and priorities. I do plan to update it someday. Will ping all here when it happens.

So you convinced me. Support for that module has been added:


It was way easier than I expected. :)
 
Joined
May 12, 2017
Messages
2,207 (0.87/day)
Joined
Aug 20, 2007
Messages
20,789 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
Err I'm not a coder but It would be nice for those users in the know how to confirm what I'm saying here in the steam link below, even thou this developer on steam has more or less confirmed it. I have bought more games in 2021 & the result is the same what I'm saying in the link below.

The question is why would you have such a miner code built-in into the game engine .

@ Developers Vapourum Compatibility with Dual Core CPU :: Vaporum General Discussions (steamcommunity.com)
This is kinda offtopic, but Unity using newer instructions does not surprise me. If you wanted to target older hardware, there are older Unity versions that can do just that. My guess is the devs do not consider older x64 CPUs like that a signifigant enough market share to matter vs the benefits of using the newer Unity versions (better performance, mainly).
 
Joined
May 12, 2017
Messages
2,207 (0.87/day)
This is kinda offtopic, but Unity using newer instructions does not surprise me. If you wanted to target older hardware, there are older Unity versions that can do just that. My guess is the devs do not consider older x64 CPUs like that a signifigant enough market share to matter vs the benefits of using the newer Unity versions (better performance, mainly).

Yeah, but my problem is. If your going to have this built into the engine, why not have most if not all of the modern instructions built-in. To have such a miner instruction built-in, does not make sense to me.

Sorry for going off-topic, but i needed to grab a coder attention.
 
Joined
Aug 20, 2007
Messages
20,789 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
Yeah, but my problem is. If your going to have this built into the engine, why not have most if not all of the modern instructions built-in. To have such a miner instruction built-in, does not make sense to me.

Sorry for going off-topic, but i needed to grab a coder attention.
It's all good. Hope I was helpful.
 

günther-dikdik

New Member
Joined
Feb 6, 2021
Messages
2 (0.00/day)
In more recent ksp's it does exist, I just have not come around to updating. I am now the main maintainer on a few large projects so I would work on it, just a question of time and priorities. I do plan to update it someday. Will ping all here when it happens.

So you convinced me. Support for that module has been added:


It was way easier than I expected. :)

wow this was quick thx alot ... lets just hope we stay ahead of them.
anyways since i got way to many unity games (most of them i play offline only anyways) im gonno test ur tool through out all of them for the next week and if i find even more tracking-dlls ill let u know :D

Appdata\LocalLow
Oh btw when u mentioned that ↑ i remembered that there is even more stuff found in

"HKCU\SOFTWARE\"Studio"\"Game"\..."

like

"unity.player_sessionid_h******"
"unity.cloud_userid_h******"
"unity.analytics_values_h******"

and other "reg_binary" entrys

but im sadly not aware of how to block those single entrys - i could just block read-permissions for the whole key but this would immediately kill the game
 
Joined
Aug 20, 2007
Messages
20,789 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
wow this was quick thx alot ... lets just hope we stay ahead of them.
anyways since i got way to many unity games (most of them i play offline only anyways) im gonno test ur tool through out all of them for the next week and if i find even more tracking-dlls ill let u know :D


Oh btw when u mentioned that ↑ i remembered that there is even more stuff found in

"HKCU\SOFTWARE\"Studio"\"Game"\..."

like

"unity.player_sessionid_h******"
"unity.cloud_userid_h******"
"unity.analytics_values_h******"

and other "reg_binary" entrys

but im sadly not aware of how to block those single entrys - i could just block read-permissions for the whole key but this would immediately kill the game
it's likely these entries may not be used once the modified dlls are installed, but blocking their creation is indeed difficult. My main goal is to halt the communication or at least make it useless.
 
Top