EAX 是 102 = x86 程序集中的套接字调用。
这是我的问题。堆栈如何处理此代码:
xor ebx, ebx
mov al, 102d
push ebx
mov bl, 1d
push ebx
push BYTE 2d ;right here specifically
mov ecx, esp
int 80h
mov edi eax
像这样:
+-~-~-~+ <--- ESP (Pointer - points to Arg Array)
| 0000 | === Protocol: TCP
+-~-~-~+
| 0001 | === Type: SOCKET
+-~-~-~+
| 0002 | === Connection: AF_INET
+-~-~-~+
或者像这样:
+-~-~-~+ <--- ESP (Pointer - points to Arg Array)
| 0000 | === Protocol: TCP
+-~-~-~+
| 0001 | === Type: SOCKET
+-~-~-~+
| 2 | === Connection: AF_INET
+-~-~-~+
基本上,它是假设 4 个字节还是只推送一个字节?另外,如果我要推送另一个单个字节,它会被推送到一个新的“盒子”还是同一个“盒子”?