1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
| 标题: 获取windbg离线安装包下载链接
创建: 2020-11-16 16:30 更新: 2022-07-22 20:02 链接: http://scz.617.cn:8/windows/202011161630.txt
上个月换PC装Win10时没有刻意去装windbg,因为近两三年不再折腾windbg调试,现 在主要是学习Java反序列化,感觉以后很少会用到windbg,万一哪天要用了再说,这 东西时不时升级一下,没必要装上后却几年不用。谁知冒出来一事,要用windbg了。
windbg现在没有官方公开的直链下载,但其离线安装包确实存在于官方服务器上,本 文介绍一下如何获取windbg的离线安装包下载链接。
看这个链接:
Download Debugging Tools for Windows https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools
WinDbg Preview和WinDbg是两个东西,前者可以通过"Microsoft Store"安装,本文 说的是后者。前者有一些后者所不具备的能力,但后者向后兼容性更好,后者是传统 PE,Win7都能用。注意,LTSB版本没有"Microsoft Store",一般情况下LTSB版Win10 只能装后者。
前述链接说了,可以从"Windows 10 SDK"中装windbg。
Windows 10 SDK https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
SDK有两种下载方式,一种是所谓Installer,另一种是ISO文件,前者就是在线安装, 后者算是离线安装。ISO太大了,下它回来不划算。
Windows 10 SDK Installer https://go.microsoft.com/fwlink/p/?linkid=2120843 https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/winsdksetup.exe
winsdksetup.exe就是Installer,很小的下载器。可以直接在线安装,缺省装到:
C:\Program Files (x86)\Windows Kits\10\
还可以选择先下载,以后再安装,缺省下载到:
C:\Users\scz\Downloads\Windows Kits\10\WindowsSDK\
执行winsdksetup.exe,不要安装,选择下载,单选"Debugging Tools for Windows"; 即使这样也下了一堆其他包,我们想要的包括:
<path>\WindowsSDK\Installers\dotNetFx45_Full_x86_x64.exe <path>\WindowsSDK\Installers\X64 Debuggers And Tools-x64_en-us.msi <path>\WindowsSDK\Installers\X86 Debuggers And Tools-x86_en-us.msi
如果网络环境正常,这种办法倒是可行,无非多下些不需要的文件,多不了太多。
如果能直接扒出上述几个文件的下载链接岂不更好,百分之百定向下载。接下来说说 怎么扒,最终你会发现更简单的办法。
用Burp架个HTTP/HTTPS代理,然后设置WinHTTP代理:
netsh.exe winhttp set proxy 192.168.65.1:8888
保险起见,把IE代理也设成"192.168.65.1:8888"。WinINET代理和WinHTTP代理是两 套东西,不要搞混了,不太确认winsdksetup.exe是否这两套东西都用到了,就全设 上。
通过IE导入过Burp的cacert.der,这一步不确认是否绝对有必要,反正我这么干了。
获取cacert.der的两种方式:
在浏览器中设置HTTP/HTTPS代理(192.168.65.1:8888),不要设成SOCKS5代理。然后 在浏览器中访问:
http://burp/ http://burpsuite/cert
点击"CA Certificat"下载cacert.der。
或者在Burp界面中:
Proxy Options Import/export CA certificate Certificate in DER format cacert.der
在此导出Burp Proxy的伪根证书。
IE导入伪根证书:
Tools Internet options Content Certificates Trusted Root Certification Authorities Import cacert.der Place all certificates in the following store Trusted Root Certification Authorities
然后"Trusted Root Certification Authorities"中多出一个"PortSwigger CA"
再说一遍,不确认导入伪根证书是否有必要,懒得做对比测试,就当是个充分非必要 步骤好了。
然后执行winsdksetup.exe,选择下载,单选"Debugging Tools for Windows"。
在Burp中查看HTTP/HTTPS流量:
Proxy HTTP history
会看到很多HTTPS请求,比如:
https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/Installers/SDK%20Debuggers-x86_en-us.msi
然后就不必让winsdksetup.exe继续下载了,Cancel掉。稍微观察一下这堆HTTPS链接 就能得到本文的目标URL:
https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/Installers/dotNetFx45_Full_x86_x64.exe https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/Installers/X64%20Debuggers%20And%20Tools-x64_en-us.msi https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/Installers/X86%20Debuggers%20And%20Tools-x86_en-us.msi
可以在WSL中用如下命令检查URL:
curl --ciphers DEFAULT --compressed -ksL -I <URL>
重点看"Content-Length"字段就知道是不是离线安装包。
到这儿还没完,再看看Installer的下载链接:
https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/winsdksetup.exe
合着前面的路径都是:
https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/
只要在尾部追加不同的文件名即可:
dotNetFx45_Full_x86_x64.exe X86 Debuggers And Tools-x86_en-us.msi X64 Debuggers And Tools-x64_en-us.msi
别的文件名咱不知道,但windbg这两个主文件名万年不变。所以只需要知道这个路径:
https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/
上述路径完全可以从这个URL转向而得:
https://go.microsoft.com/fwlink/p/?linkid=2120843
$ curl --ciphers DEFAULT --compressed -ksL -I https://go.microsoft.com/fwlink/p/?linkid=2120843 | grep Location Location: https://download.microsoft.com/download/1/c/3/1c3d5161-d9e9-4e4b-9b43-b70fe8be268c/windowssdk/winsdksetup.exe
小结一下,访问SDK的官网:
Windows 10 SDK https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
获取Installer的下载URL,用curl获取最终转向后的URL,自己拼接windbg主文件名。
从此不用再等别人发布离线安装包下载链接,从此二人过上了没羞没臊的幸福生活。
2022-07-22 20:02 tk
除了"linkid=2120843",还可以借助"linkid=2120842"
$ curl --ciphers DEFAULT --compressed -ks -I https://go.microsoft.com/fwlink/p/?linkid=2120842 | grep Location Location: https://download.microsoft.com/download/4/d/2/4d2b7011-606a-467e-99b4-99550bf24ffc/windowssdk/
$ curl --ciphers DEFAULT --compressed -ksL -I https://download.microsoft.com/download/4/d/2/4d2b7011-606a-467e-99b4-99550bf24ffc/windowssdk/Installers/X64%20Debuggers%20And%20Tools-x64_en-us.msi | grep Content-Length Content-Length: 32108544
$ curl --ciphers DEFAULT --compressed -ksL -I https://download.microsoft.com/download/4/d/2/4d2b7011-606a-467e-99b4-99550bf24ffc/windowssdk/Installers/X86%20Debuggers%20And%20Tools-x86_en-us.msi | grep Content-Length Content-Length: 28200960
|