首先,我用录屏大师自制了一个视频,给视频加上密码。任意输入,看到报错信息“密码不对,请重新输入”

JMP文件 PYTHON jmp文件打不开_反汇编

第一步 反汇编窗口右键点击“中文搜索引擎”---“智能搜索”,搜索引擎界面再次搜索“不对”,结果如下:

JMP文件 PYTHON jmp文件打不开_代码段_02

双击“密码不对”,返回到反汇编窗口,F9运行一下程序,弹出输入密码窗口,任意输入,然后观察跳转情况。

JMP文件 PYTHON jmp文件打不开_代码段_03

可以看到:“密码不对”字符上面几行,有一个JE的跳转没有成功。再往下观察,发现该跳转的结束点,越过了“密码不对”和“密码不对,请重新输入”两个报错点。(代码较长不方便截图)

所以这个JE跳转很有可能就是跳转至密码输入正确后的代码段。

 

第二步 验证一下判断是否正确.

只要手动令0040D7CB 这行的JE实现跳转,并在跳转后的代码段F9运行程序,如果视频直接可以播放,说明上面判断正确。

要令JE实现跳转需要修改Z的标志位到1(不能跳转默认为0)

那么,先给JE所在行双击下断点,然后F9运行程序,任意输入密码点确定,程序将暂停在设置的断点处。

再将Z标志位改为1,这时候发现,JE的实现了跳转(线变红了)

JMP文件 PYTHON jmp文件打不开_代码段_04

由于跳转已经实现,按F8下一步。发现顺利跳转至结尾处。再次F9运行程序,发现视频可以正常播放了。

这就说明这个跳转确实如之前猜测的:是跳转至密码输入正确后的代码段。

 

第三步 修改代码

由于标志位的修改是无法保存的,所以还是要通过修改反汇编窗口的代码去保存破解后的文件。

这里采用的方法是利用JMP(无条件跳转)代替JE(有条件跳转)的方式。

在0040D7CB那一行,按下空格键,在弹出的对话框中将je改成jmp。

最后,进行保存步骤即可。

JMP文件 PYTHON jmp文件打不开_反汇编_05

 

可以打开保存好的视频,依然会要求输入密码 直接按确定就可以正常播放了。