以编程方式调用外部程序存储器函数

问题描述

我正在反转这个 x64 程序,我正在尝试通过调试器调用这个目标程序的函数。每次我点击“打我”时,都会减去一个数值。

Target program

我找到了那个函数的调用者(我在它上面添加了一个断点,当我点击“Hit me”按钮时它会中断)。这是相关的代码:

enter image description here

我知道 x64 调用约定是通过 RCX、RDX、R8 和 R9 传递参数。我想以编程方式调用这个函数,我计划通过为程序分配内存(通过调试器函数)并注入“hit me”调用相关代码来实现。在我在分配内存的正确地址上创建线程之后(这将以编程方式调用“hit me”函数)。

这是我写的代码:

enter image description here

但是在那之后(在0x014D0000上创建一个线程),程序崩溃了。为什么?我错过了什么吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...