AMD芯片组驱动解包

AMD芯片组驱动解包
狂犬主子上一篇教程已经介绍了 Intel 的芯片组驱动解包方法,这篇将介绍一下 AMD 的。AMD 的相对与 Intel 可能要更复杂。

真正的驱动文件
可以看到,使用 7-Zip 直接打开驱动 exe 安装文件,能出现清晰的文件夹结构,里面有很多文件,那到底哪个才包含驱动呢?
AMD 这个驱动安装程序很炫,塞了一大堆动画,是用QT弄的,然后又依赖 MSVC,所以还加了一堆 VC 运行库安装程序。实际上,驱动根本不在那几个目录里面,AMD_Chipset_Drivers.exe 才是我们的下一个目标。
但这个文件也出现了 7-Zip 无法正确读取识别的问题,显示的是文件的PE结构。

并且按照上一篇文章的方法,使用 7-Zip 右键菜单,更换打开方式,直接无法打开。

DIE识别文件
又回到DIE,上一篇文章DIE并没有帮上忙,这里给 AMD_Chipset_Drivers.exe 拖进去看看。

发现这个驱动是使用 InstallShield 打包的。
ISx解包
那就好办了,这里根据经验,InstallShield 可以使用 ISx 解开。
这里我直接使用 Scoop 安装:
1 | scoop install isx |
然后执行命令提取:
1 | * > isx .\AMD_Chipset_Drivers.exe .\AMD_Chipset_Drivers.exe 0x0010EC00 Dir: ".\AMD_Chipset_Drivers_u\" 0x00000000 1108992 "AMD_Chipset_Drivers_sfx.exe" ... Y Files total: 3 Extracting: 0x0010EC72 4690 "0x0409.ini" [b] * Y => [inflate] Y 0x0010FF22 21063831 "AMD_Chipset_Drivers.msi" [b] * Y => [inflate] Y 0x015267FB 1517 "Setup.ini" [b] * Y => [inflate] Y Extra data: 0x01526DE8 11528 "AMD_Chipset_Drivers_ext.bin" ... Y |
得到以下结构:

lessmsi解包
这里我们靠猜都可以猜到,驱动肯定在哪个最大的msi里面。根据经验,msi可以使用 lessmsi 解开。
当然,如果不信邪,用 7-Zip 打开那个 msi,可以看到一个 Data1.cab 的资源。

然后你双击打开那个cab,发现缺失文件结构。400多个文件裸奔在你眼前。

术业有专攻。所以还得是用专业的工具。
lessmsi也是通过Scoop安装:
1 | scoop install lessmsi |
这个Less MSIérables带图形界面,如果用不来命令行可以用GUI。

这里我们还是使用命令行:
1 | lessmsi.exe x AMD_Chipset_Drivers.msi |
解压完成后,我们就可以看到驱动文件了。

里面有一堆msi,可以删除。

样本
直接去AMD官网下载即可。
https://www.amd.com/zh-cn/support/downloads/drivers.html/chipsets/am5/b650.html



