After installing an older version of Skype for Desktop (in W10), I noticed that Skype was automatically updating to the latest. Well, I don’t want that, Microsoft. End-users won’t have the appropriate permissions to install the update. So, they are getting prompted to do an installation that they cannot complete; Microsoft, just no.
I looked around for a way to disable it, some kind of reg setting, group policy, or config file. I had no luck (note, there are methods for disabling auto updates using Skype for Business—the licensed version).
So, I resorted to using ProcMon and WireShark. I found the answer I was looking for.
ProcMon
Using PromMon, I was able to return the setup file name, the Skype installation path, and see where the EXE was being downloaded from (the source).
Skype-Setup.exe
C:\Users\%username%\AppData\Roaming\Microsoft\Skype for Desktop
72.21.81.200
Wireshark
Using Wireshark and the IP address from above, I was able to find the URL in a packet.
endpoint920510.azureedge.net
Solution
The fix was just to add that URL with a redirected IP address into the host file. BAM…no more auto updates and no more update chat notifications.
Add this into the host file:
127.0.0.1 endpoint920510.azureedge.net
PowerShell, if you need to automate it
Add-Content -Path "C:\Windows\system32\drivers\etc\hosts" -Value "`n127.0.0.1 endpoint920510.azureedge.net"
Or, add this to a batch file
powershell.exe -noprofile -command “Add-Content -Path C:\Windows\system32\drivers\etc\hosts -Value “”`n127.0.0.1 endpoint920510.azureedge.net””” -force
I’ll probably still throw this into a VM, so I can reverse engineer it. I’d like to see if I can add a jump instruction or completely remove the download function using assembly.
Notes
https://skypeapps.azureedge.net
Experimental
Modify the app.asar file to disable updates. Asar is a simple extensive archive format. It works like tar that concatenates all files together without compression, while having random access support.
C:\Program Files (x86)\Microsoft\Skype for Desktop\resources
Search for this._appConfig.enableUpdates under updatesEnabled()
Overwrite (insert) false…and use spaces to overwrite the rest. You’re typing the spaces to not affect the offset of the asar file. If you change the offset, you’ll receive crash errors.
If you want to unpack the asar (and not worry about offsets), and really go exploring, use 7-Zip with plugins from here (or my mirror). To install the plugin into the 7-Zip installation folder, you need to create a Formats subfolder in the main 7-Zip folder.
Other MS IPs
13.92.27.116
13.93.149.41
13.107.2.128
40.114.211.99
52.163.217.227
52.114.32.8
52.162.166.27
52.163.217.227
52.184.153.176
65.55.252.169
93.184.215.201
JSON File
{“app.registerSkypeUri”:true,”main-window.zoom-level”:0,”main-window.isMaximised”:false,”main-window.position”:{“x”:393,”y”:0,”width”:814,”height”:860},”migrations.461655100d0a15b8c1890f74c86b31d211b3d6d0b7c78e46a5e97d41777d99a0.autoAnswerCalls”:true,”migrations.461655100d0a15b8c1890f74c86b31d211b3d6d0b7c78e46a5e97d41777d99a0.autoAnswerCallsWithVideo”:true,”migrations.461655100d0a15b8c1890f74c86b31d211b3d6d0b7c78e46a5e97d41777d99a0.enableChatNotifications”:true,”migrations.461655100d0a15b8c1890f74c86b31d211b3d6d0b7c78e46a5e97d41777d99a0.agcEnabled”:true,”migrations.461655100d0a15b8c1890f74c86b31d211b3d6d0b7c78e46a5e97d41777d99a0.cameraId”:true,”migrations.461655100d0a15b8c1890f74c86b31d211b3d6d0b7c78e46a5e97d41777d99a0.microphoneName”:true,”migrations.461655100d0a15b8c1890f74c86b31d211b3d6d0b7c78e46a5e97d41777d99a0.speakerName”:true,”updates.windows.awaiting-installer-version”:”Skype-8.28.0.41.exe”}
App Shortcuts
“C:\Program Files (x86)\Microsoft\Skype for Desktop\Skype.exe” –type=renderer –ms-disable-indexeddb-transaction-timeout –no-sandbox –service-pipe-token=E569827CBC05E614083B3C706A9E0D50 –lang=en-US –app-user-model-id=Microsoft.Skype.SkypeDesktop –app-path=”C:\Program Files (x86)\Microsoft\Skype for Desktop\resources\app.asar” –node-integration=false –webview-tag=true –no-sandbox –preload=”C:\Program Files (x86)\Microsoft\Skype for Desktop\resources\app.asar\WebViewPreload.js” –guest-instance-id=1 –enable-blink-features –disable-blink-features –context-id=2 –enable-pinch –device-scale-factor=1 –num-raster-threads=2 –enable-main-frame-before-activation –content-image-texture-target=0,0,3553;0,1,3553;0,2,3553;0,3,3553;0,4,3553;0,5,3553;0,6,3553;0,7,3553;0,8,3553;0,9,3553;0,10,3553;0,11,3553;0,12,3553;0,13,3553;0,14,3553;0,15,3553;0,16,3553;0,17,3553;1,0,3553;1,1,3553;1,2,3553;1,3,3553;1,4,3553;1,5,3553;1,6,3553;1,7,3553;1,8,3553;1,9,3553;1,10,3553;1,11,3553;1,12,3553;1,13,3553;1,14,3553;1,15,3553;1,16,3553;1,17,3553;2,0,3553;2,1,3553;2,2,3553;2,3,3553;2,4,3553;2,5,3553;2,6,3553;2,7,3553;2,8,3553;2,9,3553;2,10,3553;2,11,3553;2,12,3553;2,13,3553;2,14,3553;2,15,3553;2,16,3553;2,17,3553;3,0,3553;3,1,3553;3,2,3553;3,3,3553;3,4,3553;3,5,3553;3,6,3553;3,7,3553;3,8,3553;3,9,3553;3,10,3553;3,11,3553;3,12,3553;3,13,3553;3,14,3553;3,15,3553;3,16,3553;3,17,3553;4,0,3553;4,1,3553;4,2,3553;4,3,3553;4,4,3553;4,5,3553;4,6,3553;4,7,3553;4,8,3553;4,9,3553;4,10,3553;4,11,3553;4,12,3553;4,13,3553;4,14,3553;4,15,3553;4,16,3553;4,17,3553 –enable-gpu-async-worker-context –service-request-channel-token=E569827CBC05E614083B3C706A9E0D50 –renderer-client-id=9 –mojo-platform-channel-handle=2984 /prefetch:1
=renderer –ms-disable-indexeddb-transaction-timeout –no-sandbox –service-pipe-token=B303D2EA9221E03BA023FA86AED6494B –lang=en-US –app-user-model-id=Microsoft.Skype.SkypeDesktop –app-path=”C:\Program Files (x86)\Microsoft\Skype for Desktop\resources\app.asar” –node-integration=false –webview-tag=true –no-sandbox –preload=”C:\Program Files (x86)\Microsoft\Skype for Desktop\resources\app.asar\Preload.js” –context-id=2 –enable-pinch –device-scale-factor=1 –num-raster-threads=2 –enable-main-frame-before-activation –content-image-texture-target=0,0,3553;0,1,3553;0,2,3553;0,3,3553;0,4,3553;0,5,3553;0,6,3553;0,7,3553;0,8,3553;0,9,3553;0,10,3553;0,11,3553;0,12,3553;0,13,3553;0,14,3553;0,15,3553;0,16,3553;0,17,3553;1,0,3553;1,1,3553;1,2,3553;1,3,3553;1,4,3553;1,5,3553;1,6,3553;1,7,3553;1,8,3553;1,9,3553;1,10,3553;1,11,3553;1,12,3553;1,13,3553;1,14,3553;1,15,3553;1,16,3553;1,17,3553;2,0,3553;2,1,3553;2,2,3553;2,3,3553;2,4,3553;2,5,3553;2,6,3553;2,7,3553;2,8,3553;2,9,3553;2,10,3553;2,11,3553;2,12,3553;2,13,3553;2,14,3553;2,15,3553;2,16,3553;2,17,3553;3,0,3553;3,1,3553;3,2,3553;3,3,3553;3,4,3553;3,5,3553;3,6,3553;3,7,3553;3,8,3553;3,9,3553;3,10,3553;3,11,3553;3,12,3553;3,13,3553;3,14,3553;3,15,3553;3,16,3553;3,17,3553;4,0,3553;4,1,3553;4,2,3553;4,3,3553;4,4,3553;4,5,3553;4,6,3553;4,7,3553;4,8,3553;4,9,3553;4,10,3553;4,11,3553;4,12,3553;4,13,3553;4,14,3553;4,15,3553;4,16,3553;4,17,3553 –enable-gpu-async-worker-context –service-request-channel-token=B303D2EA9221E03BA023FA86AED6494B –renderer-client-id=4 –mojo-platform-channel-handle=2396 /prefetch:1
Mac
Disable Updates in Mac asar (found in the .app > Contents > Resources > app.asar)
Change from enableUpdates: true (with that space) to enableUpdates:false (no space with false)
Goes from this
To this