感觉一个函数的参数不太对,这是什么原因呢
比如说这个send函数,它的函数签名是这样:int __stdcall send(SOCKET s, const char *buf, int len, int flags),有四个参数,其中第二个参数是一个指针,然后这是在x64dbg里面的:
rcx是第一个参数,rdx是第二个参数,这样没错吧?
但是这个rdx中的值怎么也不像一个指针,所以我不太明白了。。。 rdx 保存的值是指针,即 0x2481EEAB0B0 是指针,指针指向的地址不就是 buf 的数据吗
如果参数是 const char buf,0x2481EEAB0B0 就是数据
参数是 const char *buf,0x2481EEAB0B0 就是指针,指针指向的地址就是数据
const char **buf 才是指向指针的指针,这时 0x2481EEAB0B0 指向的地址就是指针,二级指针指向的地址才是数据 指针不就是一个内存地址吗,那有什么像不像,你可能只是感觉这个地址不太正常,但是你的其他寄存器也有指向24开头这个地址区域的 0x1F长度二进制数据
页:
[1]