将一个函数调用更改为另一个

时间:2019-01-27 13:10:18

标签: debugging winapi disassembly

我有一个封闭的win32可执行文件,可以播放声音。声音是硬编码的,我想做的就是让它播放不同声音。

我正在使用x32dbg,我可以找到我想更改的函数调用-好像是在使用OpenAL播放声音,如果我找到alSourcePlay并只是返回而不是调用它,则没有声音,因为我期待。

我的计划是将其交换为对PlaySoundW的调用,因为该程序已经包含对该库的引用,并且我可以让它在同一目录中播放wave文件。我已经检查了调用PlaySoundW调用的方式的反汇编,并且尝试修改了将其复制到其中的调用点,但是由于要输入的指令多于当前的指令,因此当您将恢复运行。

我发现了很多有关此过程开始的文章(主要是破解一些文章,例如在exe中查找函数调用并跳过它),但没有一篇涵盖我的工作。

我想做的是可能的吗?有更好的方法或不同的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在寻找的可能。如果遵循该函数的参数,则可以找到声音的二进制文件并将该数据更改为新的声音。您将需要查找函数参数。我将反转文件,找到函数的偏移量,然后对其进行修改。