IL浅析(一)
代码:
//System.Net.IPEndPoint ep = new System.Net.IPEndPoint(System.Net.IPAddress.Parse("127.0.0.1"), 80);
System.Net.Sockets.Socket sock = null;
sock.Connect(ep);
反IL:
IL_0011: stloc.0
IL_0012: ldnull
IL_0013: stloc.1
IL_0014: ldloc.1
IL_0015: ldloc.0
IL_0016: callvirt instance void [System]System.Net.Sockets.Socket::Connect(class [System]System.Net.EndPoint)
反汇编:
System.Net.Sockets.Socket sock = null;
00000070 mov dword ptr [ebp-20h],0
sock.Connect(ep);
00000077 mov edx,dword ptr [ebp-1Ch]
0000007a mov ecx,dword ptr [ebp-20h]
0000007d cmp dword ptr [ecx],ecx
0000007f call dword ptr ds:[09487F24h]