64位PE注入

编程入门 行业动态 更新时间:2024-10-23 22:34:16
64位PE注入 - 挂起,注入,恢复(x64相当于更换EAX?)(64 bit PE injection - Suspend, inject, resume (x64 equivalent to changing EAX?))

所有,

我试图通过无休止地调试应用程序来弄清楚这一点,但我似乎无法找到我的答案。

在我的32位PE注入中,我最终用注入PE的新EntryPoint更改了EAX,然后重新开始线程。 我读过内核在最后运行调用EAX以进入入口点(我在调试应用程序时没有看到这一点,所以不知道这是否真的如此)。

但是,我似乎无法找到这是否可能在x64(尝试关于所有寄存器:))。

所有这两个问题:

内核是否真的调用了EAX,因为在调试时我看不到那个调用 是否可以使用相同的方法来更改寄存器以使新入口点在x64中运行,还是需要依赖例如CreateRemoteThread?

PS:我是一名安全研究员:)

All,

I'm trying to figure this out by endlessly debugging applications, but I can't seem to find my answer.

In my 32bit PE injection I eventually change EAX with the new EntryPoint of the injected PE, then resume the thread. I've read that the kernel runs a call EAX at the end to get to the entrypoint(I did not see this when debugging applications, so no idea if that is really the case).

However, I can't seem to find if this is possible in x64 (Tried about all registers :)).

So all in all two questions:

Does the kernel actually call EAX, because I can't see that call when debugging Is the same method usable of changing a register to get the new entrypoint to run in x64 or do I need to rely on e.g. CreateRemoteThread?

P.S.: I'm a security researcher :)

最满意答案

在x64 RCX寄存器中用作应用程序定义的线程入口点。 在x86中 - 使用EAX寄存器。 而不是内核调用这个地址。 但是kernel32.dll

in x64 RCX register used as application defined entry point of thread. in x86 - EAX register used. and not kernel call this address. but kernel32.dll

更多推荐

本文发布于:2023-07-08 19:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1080221.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:PE

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!