我做了自己的Socket类,能够发送和接收HTTP请求.但我还是遇到了一些问题.以下代码(我的接收函数)仍然有问题,有时会崩溃.我试过调试它,但它必须在指针算术/内存管理中的某个地方.
int Socket::Recv(char *&vpszRecvd)
{
//vpszRecvd = NULL;
int recvsize = 0;
char TempBuf[1024];
int Result = 0;
char* temp;
do
{
memset(TempBuf, 0, sizeof(TempBuf));
Result = recv( this->sSocket, TempBuf, sizeof(TempBuf) -1, 0 );
if (recvsize == 0)
recvsize = Result;
if ( Result > 0 )
{
if ( vpszRecvd != NULL )
{
if (temp == NULL)
{
temp = (char*)calloc(recvsize + 1, sizeof(char));
}
else
{
realloc(temp, recvsize + 1);
}
if (temp == NULL)
return 0; …Run Code Online (Sandbox Code Playgroud) 我想在Perl中使用PE文件并且没有找到模块,所以我想我会编写自己的(已经在delphi中做过一次).
我只有一个问题,当将可执行文件映射到缓冲区时,如何搜索像0x00004550(IMAGE_NT_SIGNATURE)这样的八进制,将它们转换回可写字符串等?