gpt4 book ai didi

c++ - 我的汇编函数推送数据两次

转载 作者:行者123 更新时间:2023-11-28 00:05:23 25 4
gpt4 key购买 nike

所以我一直在调试它并实现了一个向服务器发送数据包的功能

这是函数

Naked void CB::Send_To_Server(CHARARRAY Buffer, int Length)
{
__asm
{
PUSH ESI
LEA EAX, Length
MOVZX ECX, DWORD PTR DS : [Buffer]
PUSH ECX
PUSH EAX
MOV ECX, NetworkClass
CALL Send_Packet_Original_Address
POP ESI
RET

}
}

这里的问题首先是当我调试我的应用程序时它显示该函数有 3 个参数而不是 2 个(缓冲区、长度、长度)和当我使用它时,它实际上第一次将长度推了两倍是第二次正确的长度是一些奇怪的负长数,比如-29470056 <---- 不是一个仅向我展示的示例的值

所以你可能会看到我对 c++ 和 asm 都不太满意所以如果有人有关于如何解决这个问题的想法或者这可能是正常的我非常感谢你的帮助:)

最佳答案

为了通过名称引用参数,EBP 必须在函数入口处设置为 ESP 的值,如果函数未声明为 naked,则这是自动完成。

关于c++ - 我的汇编函数推送数据两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35972353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com