I have installed simplewall on Windows, which is a application level firewall which is supposed to block all requests from unwanted apps and only allow requests on apps that I specifically allow.
There is a game I am playing (Inside, pirated, not purchased), which is blocked in simplewall (Not user defined rule, should be blocked by default)
When using mitmproxy, I however found these HTTPS requests. Reading the request body, it seems like these are my progresses in the game being sent to https://api.uca.cloud.unity3d.com/v1/events
.
Wasn’t simplelogin supposed to block all HTTP+HTTPS requests? Also isn’t it creepy how even video game progress is being collected by Unity?
I’m not authenticated on Steam or GOG or some other place for it to remember my progress for future. Yet it’s all “200” in the response codes. It’s not even trying to do some kind of verification prior to collection. It’s just collecting data.
Also isn’t it creepy how even video game progress is being collected by Unity?
Sounds like they are using analytics. Unity analytics is a separate service that is implemented by the developer to find out how players progress through their game, so they can find out things like if many players are getting stuck on a part of their game, if particular quests have poor engagement, parts of the map remain undiscovered, etc. This is a very common service to use for most games nowadays and has nothing to do with save management. As you said, there is no user sent, so all data is anonymous and aggregated to create statistics.
Here are the contents of the first POST request
GET /config/production HTTP/1.1 Host: public.cloud.unity3d.com User-Agent: UnityPlayer/5.0.4f1 (http://unity3d.com) Accept: */* Accept-Encoding: identity X-Unity-Version: 5.0.4f1 content-length: 0 { "header": { "appid": "a41d2e69-59d3-458f-b869-e8617e1052dc", "userid": "abaa1ea5-4e35-484d-9929-981e7d1f80c8", "sessionid": 7363179641761520444, "platform": "WindowsPlayer", "sdk_ver": "1.9.5" }, "events": [ { "type": "custom", "ts": 1733931601156, "name": "savepoint_unlocked", "custom_params": { "#forestReveal0": 1 } }, { "type": "custom", "ts": 1733931601156, "name": "savepoint_saved", "custom_params": { "01_Forest_01_00_#forestReveal": 1 } }, { "type": "custom", "ts": 1733931601160, "name": "area_reached", "custom_params": { "01_Forest_01_00_#forestReveal": 1 } }, { "type": "custom", "ts": 1733931615812, "name": "death", "custom_params": { "01_Forest_01_00_#forestReveal": "BoyCustomAnimState:Custom_CaughtInForestA (AnimClipNode)" } }, { "type": "custom", "ts": 1733931625176, "name": "area_reached", "custom_params": { "01_Forest_01_00_#forestReveal": 1 } }, { "type": "custom", "ts": 1733931625189, "name": "savepoint_loaded", "custom_params": { "01_Forest_01_00_#forestReveal": 1 } }, { "type": "custom", "ts": 1733931625191, "name": "area_reached", "custom_params": { "01_Forest_01_00_#forestReveal": 1 } }, { "type": "custom", "ts": 1733931850958, "name": "savepoint_unlocked", "custom_params": { "#riverWithDog0": 1 } }, { "type": "custom", "ts": 1733931850958, "name": "savepoint_saved", "custom_params": { "01_Forest_02_00_#riverWithDog": 1 } }, { "type": "custom", "ts": 1733931850958, "name": "area_reached", "custom_params": { "01_Forest_02_00_#riverWithDog": 1 } }, { "type": "custom", "ts": 1733931906203, "name": "savepoint_unlocked", "custom_params": { "#SentryTruckChase0": 1 } }, { "type": "custom", "ts": 1733931906203, "name": "savepoint_saved", "custom_params": { "01_Forest_03_00_#SentryTruckChase": 1 } }, { "type": "custom", "ts": 1733931906203, "name": "area_reached", "custom_params": { "01_Forest_03_00_#SentryTruckChase": 1 } }, { "type": "custom", "ts": 1733931921808, "name": "death", "custom_params": { "01_Forest_03_00_#SentryTruckChase": "BoyCustomAnimState:DartDieFallBack (AnimClipNode)" } }, { "type": "custom", "ts": 1733931931804, "name": "area_reached", "custom_params": { "01_Forest_03_00_#SentryTruckChase": 1 } }, { "type": "custom", "ts": 1733931931820, "name": "savepoint_loaded", "custom_params": { "01_Forest_03_00_#SentryTruckChase": 1 } }, { "type": "custom", "ts": 1733931931821, "name": "area_reached", "custom_params": { "01_Forest_03_00_#SentryTruckChase": 1 } }, { "type": "custom", "ts": 1733931947489, "name": "death", "custom_params": { "01_Forest_03_00_#SentryTruckChase": "BoyCustomAnimState:DartDieFallBack (AnimClipNode)" } }, { "type": "custom", "ts": 1733931957360, "name": "area_reached", "custom_params": { "01_Forest_03_00_#SentryTruckChase": 1 } }, { "type": "custom", "ts": 1733931957382, "name": "savepoint_loaded", "custom_params": { "01_Forest_03_00_#SentryTruckChase": 1 } }, { "type": "custom", "ts": 1733931957382, "name": "area_reached", "custom_params": { "01_Forest_03_00_#SentryTruckChase": 1 } }, { "type": "custom", "ts": 1733932000600, "name": "savepoint_unlocked", "custom_params": { "#finalChase0": 1 } }, { "type": "custom", "ts": 1733932000600, "name": "savepoint_saved", "custom_params": { "01_Forest_04_00_#finalChase": 1 } }, { "type": "custom", "ts": 1733932000600, "name": "area_reached", "custom_params": { "01_Forest_04_00_#finalChase": 1 } }, { "type": "custom", "ts": 1733932021643, "name": "death", "custom_params": { "01_Forest_04_00_#finalChase": "BoyCustomAnimState:Custom_CaughtInForestA (AnimClipNode)" } }, { "type": "custom", "ts": 1733932030684, "name": "area_reached", "custom_params": { "01_Forest_04_00_#finalChase": 1 } }, { "type": "custom", "ts": 1733932030699, "name": "savepoint_loaded", "custom_params": { "01_Forest_04_00_#finalChase": 1 } }, { "type": "custom", "ts": 1733932030699, "name": "area_reached", "custom_params": { "01_Forest_04_00_#finalChase": 1 } }, { "type": "custom", "ts": 1733932071380, "name": "death", "custom_params": { "01_Forest_04_00_#finalChase": "BoyCustomAnimState:AttackedHulvKillJumpCLow (AnimClipNode)" } }, { "type": "custom", "ts": 1733932082879, "name": "area_reached", "custom_params": { "01_Forest_04_00_#finalChase": 1 } } ] }
And also the request and response of the first GET request
GET /config/production HTTP/1.1 Host: public.cloud.unity3d.com User-Agent: UnityPlayer/5.0.4f1 (http://unity3d.com) Accept: */* Accept-Encoding: identity X-Unity-Version: 5.0.4f1 content-length: 0 HTTP/1.1 200 OK x-amz-id-2: 4n68X4263OLIofEj11uRDYx5LzMbqXlr7lVyX29qFheYil+U/iwjIymUF5IE0McM1vTyvSOp4Pc= x-amz-request-id: WPB6QTH6XS1V30Z4 Date: Wed, 18 Dec 2024 05:42:06 GMT Cache-Control: no-cache, must-revalidate Last-Modified: Mon, 07 Oct 2024 14:43:26 GMT ETag: "86ac65824233f087e2d921801a15a121" Content-Type: application/json Content-Length: 1881 Server: AmazonS3 {"activation":"https://activation.unity3d.com","activity-feed":false,"ads":"https://unityads.unity3d.com/admin","analytics":"https://analytics.cloud.unity3d.com","asset_store_api":"https://packages-v2.unity.com","asset_store_url":"https://assetstore.unity.com","build":"https://developer.cloud.unity3d.com","build-api":"https://build-api.cloud.unity3d.com","build_upload_api_url":"https://build-artifact-api.cloud.unity3d.com","cdp-analytics":"https://prd-lender.cdp.internal.unity3d.com","clouddata":"https://data.cloud.unity3d.com","collab":"https://collab.cloud.unity3d.com","collab-accelerator":"https://collab-accelerator.cloud.unity3d.com","collab-max-files-per-commit":10000,"commenting":"https://commenting.cloud.unity3d.com","core":"https://core.cloud.unity3d.com","coreembedded":"https://embedded.cloud.unity3d.com","coreui":"https://developer.cloud.unity3d.com","genesis_api_url":"https://api.unity.com","genesis_service_url":"https://id.unity.com","hub-disable-marketing-tips":false,"hub_installer_location":"https://public-cdn.cloud.unity3d.com/hub/prod/","identity":"https://api.unity.com","jump":"https://jump.cloud.unity3d.com","license":"https://license.unity3d.com","packman_key":"6357C523886E813D1500408F05B0D7A6","perf":"https://perf.cloud.unity3d.com","perf-events":"https://a:[email protected]","perf-max-batch-size":"1","perf-max-events":"100","perf-seconds-per-batch":"3","portal":"https://id.unity.com","pubnub_service_origin":"unity.pubnubapi.com","seat_required":true,"seatinfourl":"/teams/learn-more","socialdashboard":"https://dashboard.heyplayapp.com","sso":true,"unauthenticatedurl":"/landing","unet":"https://multiplayer.unity3d.com","waitlist":"https://developer.cloud.unity3d.com","waitlist_api":"https://collab-waiting-list.cloud.unity3d.com","webauth":"https://accounts.unity3d.com","services-gateway":"https://services.unity.com"}