[原创]Windows 下的逆向分析-实战1
发表于:
2022-10-20 17:35
10846
系统信息:Windows 10 、Thankpad T430I
涉及工具:x64dbg
测试程序:g1uj49us.exe(Thankpad T430I Bios update)
安装后释放的文件,默认安装驱动的程序是WINUPTP.exe
最近入手了一款Thankpad T430I 笔记本,想升级到最新的Bios(2019)但因电池原因(显示255%,软件获取不到电池信息),官方的升级程序检测不到电池导致无法升级。
网上搜索文章有说运行的时候加入 -sp参数可跳过电池检测,但测试发现此方法不适合g1uj49us,还有说通过winflash64 BIOS文件直接升级,开始的文章未涉及BIOS文件格式,理解错误导致测试失败
我执行了如下命令:
很显然运行失败了。
继续搜索相关文章,在这篇文章下得到了思路:
https://superuser.com/questions/1569417/how-to-update-lenovo-bios-on-a-t460-without-battery
On Lenovo ThinkPad X230i was enough to copy BIOS (*.FL1) and ECP (*.FL2) files to parent folder, where WinFlash64.exe is located then run cmd.exe as administrator and enter command:
> cd <path/to/WinFlash64.exe>
> WinFlash64.exe /file $01D3000.FL1
注意到,当执行WINUPTP.exe 选择Update ThinkPad BIOS
点击Next后会在当前目录释放些文件
看到了升级需要的文件
升级成功后的截图
测试结果说明,无电池也可升级成功(也没有BIOS电池),故想运行升级程序绕过这个检测
关键信息:
程序会将检测结果以弹窗的形式返回
弹窗后点击暂停
在栈找关键信息,鼠标滚轮下滑
// call调用函数的时候会将地址压入栈中,接着跳转到相关的地址,故可根据栈地址找相关的函数调用
看到了一些显示,继续寻找这个弹窗来自那里
双击进入
上方call下断点
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课