ccddos 发表于 2011-3-17 14:54:18

会不会是解密函数? 能改成C++吗,汇编不懂呀

71B11120 >55            push    ebp
71B11121    8BEC            mov   ebp, esp
71B11123    51            push    ecx
71B11124    51            push    ecx
71B11125    8B45 10         mov   eax, dword ptr
71B11128    8945 F8         mov   dword ptr , eax
71B1112B    8B45 0C         mov   eax, dword ptr
71B1112E    8945 FC         mov   dword ptr , eax
71B11131    8B45 14         mov   eax, dword ptr
71B11134    6A 00         push    0
71B11136    6A 00         push    0
71B11138    8945 0C         mov   dword ptr , eax
71B1113B    8D45 0C         lea   eax, dword ptr
71B1113E    50            push    eax
71B1113F    8D45 10         lea   eax, dword ptr
71B11142    50            push    eax
71B11143    6A 01         push    1
71B11145    8D45 F8         lea   eax, dword ptr
71B11148    50            push    eax
71B11149    FF75 08         push    dword ptr
71B1114C    E8 1B000000   call    <jmp.&WS2_32.WSARecv>

仓小姐 发表于 2011-3-17 15:16:14

本帖最后由 仓小姐 于 2011-3-17 15:19 编辑

看最后一句:jmp.&WS2_32.WSARecv

是调用了ws2_32.lib里面的函数WSARecv
7个参数
int WSARecv(
SOCKET s,
LPWSABUF lpBuffers,
DWORD dwBufferCount,
LPDWORD lpNumberOfBytesRecvd,
LPDWORD lpFlags,
LPWSAOVERLAPPED lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);

china0008 发表于 2011-3-17 22:54:08

本帖最后由 china0008 于 2011-3-17 22:55 编辑

  
int WSARecv(   
SOCKET s, // 当然是投递这个操作的套接字   
LPWSABUF lpBuffers, // 接收缓冲区,与Recv函数不同这里需要一个由WSABUF结构构成的数组   
DWORD dwBufferCount, // 数组中WSABUF结构的数量   
LPDWORD lpNumberOfBytesRecvd, // 如果接收操作立即完成,这里会返回函数调用所接收到的字节数   
LPDWORD lpFlags, // 说来话长了,我们这里设置为0 即可   
LPWSAOVERLAPPED lpOverlapped, // “绑定”的重叠结构   
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine // 完成例程中将会用到的参数,我们这里设置为 NULL   );

piao 发表于 2011-3-18 14:57:15

走过围观下
页: [1]
查看完整版本: 会不会是解密函数? 能改成C++吗,汇编不懂呀