强行修复 Win32 Disk Imager 在有内存盘的情况下报错

这个问题在 2017 年的时候就有人报告了:win32diskimager/tickets/47

004066CC | C1EB 02     | shr ebx,2                  |
004066CF | 85DB        | test ebx,ebx               |
004066D1 | 74 27       | je win32diskimager.4066FA  |
004066D3 | 90          | nop                        |
004066D4 | BE 43000000 | mov esi,43                 | 43:'C'

内存盘放到 A/B 盘,然后打上这个补丁就能跳过 A/B 盘的检测,绕过这个问题。

或者,如果要屏蔽掉其它已知的几个会有问题的盘符,可以用这个小工具进行补丁:


又看了一遍原来的报告信息,说是 “无法读取时会弹窗,但是弹窗因为找不到父窗口导致出错”。

在 x32dbg 里面跟了一遍,把跳过弹出窗口的部分找到了。

照着这样改就行,完美运行,不需要手动指定出问题的盘符。

004047FD | 74 B9       | je  win32diskimager.4047B8 |
         v             v                            v
004047FD | EB B9       | jmp win32diskimager.4047B8 |
Jixun的头像

Jixun