问题描述
我如何将 movq
SSE2 指令转换为一个简单的代码片段,然后我可以将其修补到包含的原始 EXE 中?如果您能提供示例直接说明以用作替代“模板”,那就更好了!
我最感兴趣的是主要使用 C 将这种基于模板的替换写入我的 CodeBlocks 项目,所以我更喜欢它是内联 ASM 形式。这样我就可以以编程方式将 subst 修补到 5 字节长的原始指令中,并在我用来修补 EXE 的同一个 C 中调用内联代码段(其余代码已经编写)。>
我知道这个问题听起来比您想要的更笼统,但我们将不胜感激。提前致谢!
解决方法
只有 MMX/SSE,选项有限。
内存中的 movq
例如 movq xmm4,[edx]
可以模拟为:
xorps xmm4,xmm4
movlps xmm4,[edi]
一个 movq
到内存,例如 movq [edx],xmm5
可以模拟:
movlps [edx],xmm5