Results 1 to 8 of 8
  1. #1
    bowlcut's Avatar
    Join Date
    May 2009
    Gender
    male
    Location
    ثلاثة أقدام إلى
    Posts
    6,348
    Reputation
    1805
    Thanks
    2,201
    My Mood
    Sleepy

    Yolo's Bhop Hack [Source Leaked]

    Unpacked and ripped using Exe2Aut.

    Credit goes to my friend ph0ne.

    Code:
    #region _Memory
    
    Func _memoryopen($iv_pid, $iv_desiredaccess = 2035711, $iv_inherithandle = 1)
    	If NOT ProcessExists($iv_pid)
    		SetError(1)
    		Return 0
    	EndIf
    	Local $ah_handle[2] = [DllOpen("kernel32.dll")]
    	If @error
    		SetError(2)
    		Return 0
    	EndIf
    	Local $av_openprocess = DllCall($ah_handle[0], "int", "OpenProcess", "int", $iv_desiredaccess, "int", $iv_inherithandle, "int", $iv_pid)
    	If @error
    		DllClose($ah_handle[0])
    		SetError(3)
    		Return 0
    	EndIf
    	$ah_handle[1] = $av_openprocess[0]
    	Return $ah_handle
    EndFunc
    
    Func _memoryread($iv_address, $ah_handle, $sv_type = "dword")
    	If NOT IsArray($ah_handle)
    		SetError(1)
    		Return 0
    	EndIf
    	Local $v_buffer = DllStructCreate($sv_type)
    	If @error
    		SetError @error + 1)
    		Return 0
    	EndIf
    	DllCall($ah_handle[0], "int", "ReadProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    	If NOT @error
    		Local $v_value = Int(DllStructGetData($v_buffer, 1))
    		Return $v_value
    	Else
    		SetError(6)
    		Return 0
    	EndIf
    EndFunc
    
    Func _memorywrite($iv_address, $ah_handle, $v_data, $sv_type = "dword")
    	If NOT IsArray($ah_handle)
    		SetError(1)
    		Return 0
    	EndIf
    	Local $v_buffer = DllStructCreate($sv_type)
    	If @error
    		SetError @error + 1)
    		Return 0
    	Else
    		DllStructSetData($v_buffer, 1, $v_data)
    		If @error
    			SetError(6)
    			Return 0
    		EndIf
    	EndIf
    	DllCall($ah_handle[0], "int", "WriteProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    	If NOT @error
    		Return 1
    	Else
    		SetError(7)
    		Return 0
    	EndIf
    EndFunc
    
    Func _memoryclose($ah_handle)
    	If NOT IsArray($ah_handle)
    		SetError(1)
    		Return 0
    	EndIf
    	DllCall($ah_handle[0], "int", "CloseHandle", "int", $ah_handle[1])
    	If NOT @error
    		DllClose($ah_handle[0])
    		Return 1
    	Else
    		DllClose($ah_handle[0])
    		SetError(2)
    		Return 0
    	EndIf
    EndFunc
    
    Func setprivilege($privilege, $benable)
    	Const $token_adjust_privileges = 32
    	Const $token_query = 8
    	Const $se_privilege_enabled = 2
    	Local $htoken, $sp_auxret, $sp_ret, $hcurrprocess, $ntokens, $ntokenindex, $priv
    	$ntokens = 1
    	$luid = DllStructCreate("dword;int")
    	If IsArray($privilege)$ntokens = UBound($privilege)
    	$token_privileges = DllStructCreate("dword;dword[" & (3 * $ntokens) & "]")
    	$newtoken_privileges = DllStructCreate("dword;dword[" & (3 * $ntokens) & "]")
    	$hcurrprocess = DllCall("kernel32.dll", "hwnd", "GetCurrentProcess")
    	$sp_auxret = DllCall("advapi32.dll", "int", "OpenProcessToken", "hwnd", $hcurrprocess[0], "int", BitOR($token_adjust_privileges, $token_query), "int*", 0)
    	If $sp_auxret[0]
    		$htoken = $sp_auxret[3]
    		DllStructSetData($token_privileges, 1, 1)
    		$ntokenindex = 1
    		While $ntokenindex <= $ntokens
    			If IsArray($privilege)
    				$priv = $privilege[$ntokenindex - 1]
    			Else
    				$priv = $privilege
    			EndIf
    			$ret = DllCall("advapi32.dll", "int", "LookupPrivilegeValue", "str", "", "str", $priv, "ptr", DllStructGetPtr($luid))
    			If $ret[0]
    				If $benable
    					DllStructSetData($token_privileges, 2, $se_privilege_enabled, (3 * $ntokenindex))
    				Else
    					DllStructSetData($token_privileges, 2, 0, (3 * $ntokenindex))
    				EndIf
    				DllStructSetData($token_privileges, 2, DllStructGetData($luid, 1), (3 * ($ntokenindex - 1)) + 1)
    				DllStructSetData($token_privileges, 2, DllStructGetData($luid, 2), (3 * ($ntokenindex - 1)) + 2)
    				DllStructSetData($luid, 1, 0)
    				DllStructSetData($luid, 2, 0)
    			EndIf
    			$ntokenindex += 1
    		WEnd
    		$ret = DllCall("advapi32.dll", "int", "AdjustTokenPrivileges", "hwnd", $htoken, "int", 0, "ptr", DllStructGetPtr($token_privileges), "int", DllStructGetSize($newtoken_privileges), "ptr", DllStructGetPtr($newtoken_privileges), "int*", 0)
    		$f = DllCall("kernel32.dll", "int", "GetLastError")
    	EndIf
    	$newtoken_privileges = 0
    	$token_privileges = 0
    	$luid = 0
    	If $sp_auxret[0] = 0Return 0
    	$sp_auxret = DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", $htoken)
    	If NOT $ret[0]NOT $sp_auxret[0]Return 0
    	Return $ret[0]
    EndFunc
    
    Func _memorypointerread($iv_address, $ah_handle, $av_offset, $sv_type = "dword")
    	If IsArray($av_offset)
    		If IsArray($ah_handle)
    			Local $iv_pointercount = UBound($av_offset) - 1
    		Else
    			SetError(2)
    			Return 0
    		EndIf
    	Else
    		SetError(1)
    		Return 0
    	EndIf
    	Local $iv_data[2], $i
    	Local $v_buffer = DllStructCreate("dword")
    	For $i = 0$iv_pointercount
    		If $i = $iv_pointercount
    			$v_buffer = DllStructCreate($sv_type)
    			If @error
    				SetError @error + 2)
    				Return 0
    			EndIf
    			$iv_address = "0x" & Hex($iv_data[1] + $av_offset[$i])
    			DllCall($ah_handle[0], "int", "ReadProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    			If @error
    				SetError(7)
    				Return 0
    			EndIf
    			$iv_data[1] = DllStructGetData($v_buffer, 1)
    		ElseIf $i = 0
    			DllCall($ah_handle[0], "int", "ReadProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    			If @error
    				SetError(7)
    				Return 0
    			EndIf
    			$iv_data[1] = DllStructGetData($v_buffer, 1)
    		Else
    			$iv_address = "0x" & Hex($iv_data[1] + $av_offset[$i])
    			DllCall($ah_handle[0], "int", "ReadProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    			If @error
    				SetError(7)
    				Return 0
    			EndIf
    			$iv_data[1] = DllStructGetData($v_buffer, 1)
    		EndIf
    	Next
    	$iv_data[0] = $iv_address
    	Return $iv_data
    EndFunc
    
    Func _memorypointerwrite($iv_address, $ah_handle, $av_offset, $v_data, $sv_type = "dword")
    	If IsArray($av_offset)
    		If IsArray($ah_handle)
    			Local $iv_pointercount = UBound($av_offset) - 1
    		Else
    			SetError(2)
    			Return 0
    		EndIf
    	Else
    		SetError(1)
    		Return 0
    	EndIf
    	Local $iv_structdata, $i
    	Local $v_buffer = DllStructCreate("dword")
    	For $i = 0$iv_pointercount
    		If $i = $iv_pointercount
    			$v_buffer = DllStructCreate($sv_type)
    			If @error
    				SetError @error + 3)
    				Return 0
    			EndIf
    			DllStructSetData($v_buffer, 1, $v_data)
    			If @error
    				SetError(8)
    				Return 0
    			EndIf
    			$iv_address = "0x" & Hex($iv_structdata + $av_offset[$i])
    			DllCall($ah_handle[0], "int", "WriteProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    			If @error
    				SetError(9)
    				Return 0
    			Else
    				Return $iv_address
    			EndIf
    		ElseIf $i = 0
    			DllCall($ah_handle[0], "int", "ReadProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    			If @error
    				SetError(3)
    				Return 0
    			EndIf
    			$iv_structdata = DllStructGetData($v_buffer, 1)
    		Else
    			$iv_address = "0x" & Hex($iv_structdata + $av_offset[$i])
    			DllCall($ah_handle[0], "int", "ReadProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    			If @error
    				SetError(3)
    				Return 0
    			EndIf
    			$iv_structdata = DllStructGetData($v_buffer, 1)
    		EndIf
    	Next
    EndFunc
    
    Func _memorygetbaseaddress($ah_handle, $ihexdec = 0)
    	Local $iv_address = 1048576
    	Local $v_buffer = DllStructCreate("dword;dword;dword;dword;dword;dword;dword")
    	Local $vdata
    	Local $vtype
    	If NOT IsArray($ah_handle)
    		SetError(1)
    		Return 0
    	EndIf
    	DllCall($ah_handle[0], "int", "VirtualQueryEx", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer))
    	If NOT @error
    		$vdata = Hex(Int(DllStructGetData($v_buffer, 2)))
    		$vtype = Hex(Int(DllStructGetData($v_buffer, 3)))
    		While $vtype <> "00000080"
    			DllCall($ah_handle[0], "int", "VirtualQueryEx", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer))
    			$vdata = Hex(Int(DllStructGetData($v_buffer, 2)))
    			$vtype = Hex(Int(DllStructGetData($v_buffer, 3)))
    			If Hex($iv_address) = "01000000"ExitLoop 
    			$iv_address += 65536
    		WEnd
    		If $vtype = "00000080"
    			SetError(0)
    			If $ihexdec = 1
    				Return Dec($vdata)
    			Else
    				Return $vdata
    			EndIf
    		Else
    			SetError(2)
    			Return 0
    		EndIf
    	Else
    		SetError(3)
    		Return 0
    	EndIf
    EndFunc
    
    Func _memorymodulegetbaseaddress($ipid, $smodule)
    	If NOT ProcessExists($ipid)Return SetError(1, 0, 0)
    	If NOT IsString($smodule)Return SetError(2, 0, 0)
    	Local $psapi = DllOpen("psapi.dll")
    	Local $hprocess
    	Local $permission = BitOR(2, 1024, 8, 16, 32)
    	If $ipid > 0
    		Local $hprocess = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $permission, "int", 0, "dword", $ipid)
    		If $hprocess[0]
    			$hprocess = $hprocess[0]
    		EndIf
    	EndIf
    	Local $modules = DllStructCreate("ptr[1024]")
    	Local $acall = DllCall($psapi, "int", "EnumProcessModules", "ptr", $hprocess, "ptr", DllStructGetPtr($modules), "dword", DllStructGetSize($modules), "dword*", 0)
    	If $acall[4] > 0
    		Local $imodnum = $acall[4] / 4
    		Local $atemp
    		For $i = 1$imodnum
    			$atemp = DllCall($psapi, "dword", "GetModuleBaseNameW", "ptr", $hprocess, "ptr", Ptr(DllStructGetData($modules, 1, $i)), "wstr", "", "dword", 260)
    			If $atemp[3] = $smodule
    				DllClose($psapi)
    				Return Ptr(DllStructGetData($modules, 1, $i))
    			EndIf
    		Next
    	EndIf
    	DllClose($psapi)
    	Return SetError(-1, 0, 0)
    EndFunc
    
    #EndRegion
    
    Func _memreaddll($dll, $offset, $ah_handle, $sv_type = "dword")
    	$staticoffset = Dec($offset)
    	$baseaddr = _memorymodulegetbaseaddress($ah_handle, $dll)
    	$finaladdr = "0x" & Hex($baseaddr + $staticoffset)
    	$memtest = _memoryread($finaladdr, $ah_handle, $sv_type)
    	Return $memtest
    EndFunc
    
    Func _memwritedll($dll, $offset, $value, $ah_handle, $sv_type = "dword")
    	$staticoffset = Dec($offset)
    	$baseaddr = _memorymodulegetbaseaddress($ah_handle, $dll)
    	$finaladdr = "0x" & Hex($baseaddr + $staticoffset)
    	$memtest = _memorywrite($finaladdr, $ah_handle, $value, $sv_type)
    	Return $memtest
    EndFunc
    
    Func _memwritedllbytearray($dll, $offset, $ah_handle, $v_array)
    	Local $staticoffset = Dec($offset)
    	Local $baseaddr = _memorymodulegetbaseaddress($ah_handle, $dll)
    	Local $finaladdr = "0x" & Hex($baseaddr + $staticoffset)
    	Local $memtest = _memorywritebytearray($finaladdr, $ah_handle, $v_array)
    	Return $memtest
    EndFunc
    
    Func _memorywritebytearray($iv_address, $ah_handle, $v_array)
    	If NOT IsArray($ah_handle)
    		SetError(1)
    		Return 0
    	EndIf
    	If NOT IsArray($v_array)
    		Return 0
    	EndIf
    	Local $emax = UBound($v_array)
    	Local $bytestring = ""
    	For $i = 0$emax - 1
    		$bytestring = $bytestring & "byte;"
    	Next
    	Local $v_buffer = DllStructCreate($bytestring)
    	If @error
    		Return 0
    	Else
    		For $i = 1$emax
    			DllStructSetData($v_buffer, $i, $v_array[$i - 1])
    			If @error
    				Return 0
    			EndIf
    		Next
    	EndIf
    	DllCall($ah_handle[0], "int", "WriteProcessMemory", "int", $ah_handle[1], "int", $iv_address, "ptr", DllStructGetPtr($v_buffer), "int", DllStructGetSize($v_buffer), "int", "")
    	If NOT @error
    		Return 1
    	Else
    		SetError(7)
    		Return 0
    	EndIf
    EndFunc
    
    Global Const $fw_dontcare = 0
    Global Const $fw_thin = 100
    Global Const $fw_extralight = 200
    Global Const $fw_ultralight = 200
    Global Const $fw_light = 300
    Global Const $fw_normal = 400
    Global Const $fw_regular = 400
    Global Const $fw_medium = 500
    Global Const $fw_semibold = 600
    Global Const $fw_demibold = 600
    Global Const $fw_bold = 700
    Global Const $fw_extrabold = 800
    Global Const $fw_ultrabold = 800
    Global Const $fw_heavy = 900
    Global Const $fw_black = 900
    Global Const $cf_effects = 256
    Global Const $cf_printerfonts = 2
    Global Const $cf_screenfonts = 1
    Global Const $cf_noscriptsel = 8388608
    Global Const $cf_inittologfontstruct = 64
    Global Const $logpixelsx = 88
    Global Const $logpixelsy = 90
    Global Const $ansi_charset = 0
    Global Const $baltic_charset = 186
    Global Const $chinesebig5_charset = 136
    Global Const $default_charset = 1
    Global Const $easteurope_charset = 238
    Global Const $gb2312_charset = 134
    Global Const $greek_charset = 161
    Global Const $hangeul_charset = 129
    Global Const $mac_charset = 77
    Global Const $oem_charset = 255
    Global Const $russian_charset = 204
    Global Const $shiftjis_charset = 128
    Global Const $symbol_charset = 2
    Global Const $turkish_charset = 162
    Global Const $vietnamese_charset = 163
    Global Const $out_character_precis = 2
    Global Const $out_default_precis = 0
    Global Const $out_device_precis = 5
    Global Const $out_outline_precis = 8
    Global Const $out_ps_only_precis = 10
    Global Const $out_raster_precis = 6
    Global Const $out_string_precis = 1
    Global Const $out_stroke_precis = 3
    Global Const $out_tt_only_precis = 7
    Global Const $out_tt_precis = 4
    Global Const $clip_character_precis = 1
    Global Const $clip_default_precis = 0
    Global Const $clip_embedded = 128
    Global Const $clip_lh_angles = 16
    Global Const $clip_mask = 15
    Global Const $clip_stroke_precis = 2
    Global Const $clip_tt_always = 32
    Global Const $antialiased_quality = 4
    Global Const $default_quality = 0
    Global Const $draft_quality = 1
    Global Const $nonantialiased_quality = 3
    Global Const $proof_quality = 2
    Global Const $default_pitch = 0
    Global Const $fixed_pitch = 1
    Global Const $variable_pitch = 2
    Global Const $ff_decorative = 80
    Global Const $ff_dontcare = 0
    Global Const $ff_modern = 48
    Global Const $ff_roman = 16
    Global Const $ff_script = 64
    Global Const $ff_swiss = 32
    Global Const $tagpoint = "struct;long X;long Y;endstruct"
    Global Const $tagrect = "struct;long Left;long Top;long Right;long Bottom;endstruct"
    Global Const $tagsize = "struct;long X;long Y;endstruct"
    Global Const $tagmargins = "int cxLeftWidth;int cxRightWidth;int cyTopHeight;int cyBottomHeight"
    Global Const $tagfiletime = "struct;dword Lo;dword Hi;endstruct"
    Global Const $ta****temtime = "struct;word Year;word Month;word Dow;word Day;word Hour;word Minute;word Second;word MSeconds;endstruct"
    Global Const $tagtime_zone_information = "struct;long Bias;wchar StdName[32];word StdDate[8];long StdBias;wchar DayName[32];word DayDate[8];long DayBias;endstruct"
    Global Const $tagnmhdr = "struct;hwnd hWndFrom;uint_ptr IDFrom;INT Code;endstruct"
    Global Const $tagcomboboxexitem = "uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;int SelectedImage;int OverlayImage;" & "int Indent;lparam Param"
    Global Const $tagnmcbedragbegin = $tagnmhdr & ";int ItemID;wchar szText[260]"
    Global Const $tagnmcbeendedit = $tagnmhdr & ";bool fChanged;int NewSelection;wchar szText[260];int Why"
    Global Const $tagnmcomboboxex = $tagnmhdr & ";uint Mask;int_ptr Item;ptr Text;int TextMax;int Image;" & "int SelectedImage;int OverlayImage;int Indent;lparam Param"
    Global Const $tagdtprange = "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;" & "word MinSecond;word MinMSecond;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;" & "word MaxMinute;word MaxSecond;word MaxMSecond;bool MinValid;bool MaxValid"
    Global Const $tagnmdatetimechange = $tagnmhdr & ";dword Flag;" & $ta****temtime
    Global Const $tagnmdatetimeformat = $tagnmhdr & ";ptr Format;" & $ta****temtime & ";ptr pDisplay;wchar Display[64]"
    Global Const $tagnmdatetimeformatquery = $tagnmhdr & ";ptr Format;struct;long SizeX;long SizeY;endstruct"
    Global Const $tagnmdatetimekeydown = $tagnmhdr & ";int VirtKey;ptr Format;" & $ta****temtime
    Global Const $tagnmdatetimestring = $tagnmhdr & ";ptr UserString;" & $ta****temtime & ";dword Flags"
    Global Const $tageventlogrecord = "dword Length;dword Reserved;dword RecordNumber;dword TimeGenerated;dword TimeWritten;dword EventID;" & "word EventType;word NumStrings;word EventCategory;word ReservedFlags;dword ClosingRecordNumber;dword StringOffset;" & "dword UserSidLength;dword UserSidOffset;dword DataLength;dword DataOffset"
    Global Const $taggdipbitmapdata = "uint Width;uint Height;int Stride;int Format;ptr Scan0;uint_ptr Reserved"
    Global Const $taggdipencoderparam = "byte GUID[16];ulong Count;ulong Type;ptr Values"
    Global Const $taggdipencoderparams = "uint Count;byte Params[1]"
    Global Const $taggdiprectf = "float X;float Y;float Width;float Height"
    Global Const $taggdipstartupinput = "uint Version;ptr Callback;bool NoThread;bool NoCodecs"
    Global Const $taggdipstartupoutput = "ptr HookProc;ptr UnhookProc"
    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"
    Global Const $taggdippencoderparams = "uint Count;byte Params[1]"
    Global Const $taghditem = "uint Mask;int XY;ptr Text;handle hBMP;int TextMax;int Fmt;lparam Param;int Image;int Order;uint Type;ptr pFilter;uint State"
    Global Const $tagnmhddispinfo = $tagnmhdr & ";int Item;uint Mask;ptr Text;int TextMax;int Image;lparam lParam"
    Global Const $tagnmhdfilterbtnclick = $tagnmhdr & ";int Item;" & $tagrect
    Global Const $tagnmheader = $tagnmhdr & ";int Item;int Button;ptr pItem"
    Global Const $taggetipaddress = "byte Field4;byte Field3;byte Field2;byte Field1"
    Global Const $tagnmipaddress = $tagnmhdr & ";int Field;int Value"
    Global Const $taglvfindinfo = "struct;uint Flags;ptr Text;lparam Param;" & $tagpoint & ";uint Direction;endstruct"
    Global Const $taglvhittestinfo = $tagpoint & ";uint Flags;int Item;int SubItem;int iGroup"
    Global Const $taglvitem = "struct;uint Mask;int Item;int SubItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;lparam Param;" & "int Indent;int GroupID;uint Columns;ptr pColumns;ptr piColFmt;int iGroup;endstruct"
    Global Const $tagnmlistview = $tagnmhdr & ";int Item;int SubItem;uint NewState;uint OldState;uint Changed;" & "struct;long ActionX;long ActionY;endstruct;lparam Param"
    Global Const $tagnmlvcustomdraw = "struct;" & $tagnmhdr & ";dword dwDrawStage;handle hdc;" & $tagrect & ";dword_ptr dwItemSpec;uint uItemState;lparam lItemlParam;endstruct" & ";dword clrText;dword clrTextBk;int iSubItem;dword dwItemType;dword clrFace;int iIconEffect;" & "int iIconPhase;int iPartId;int iStateId;struct;long TextLeft;long TextTop;long TextRight;long TextBottom;endstruct;uint uAlign"
    Global Const $tagnmlvdispinfo = $tagnmhdr & ";" & $taglvitem
    Global Const $tagnmlvfinditem = $tagnmhdr & ";int Start;" & $taglvfindinfo
    Global Const $tagnmlvgetinfotip = $tagnmhdr & ";dword Flags;ptr Text;int TextMax;int Item;int SubItem;lparam lParam"
    Global Const $tagnmitemactivate = $tagnmhdr & ";int Index;int SubItem;uint NewState;uint OldState;uint Changed;" & $tagpoint & ";lparam lParam;uint KeyFlags"
    Global Const $tagnmlvkeydown = "align 1;" & $tagnmhdr & ";word VKey;uint Flags"
    Global Const $tagnmlvscroll = $tagnmhdr & ";int DX;int DY"
    Global Const $tagmchittestinfo = "uint Size;" & $tagpoint & ";uint Hit;" & $ta****temtime & ";" & $tagrect & ";int iOffset;int iRow;int iCol"
    Global Const $tagmcmonthrange = "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" & "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" & "word MaxMSeconds;short Span"
    Global Const $tagmcrange = "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" & "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" & "word MaxMSeconds;short MinSet;short MaxSet"
    Global Const $tagmcselrange = "word MinYear;word MinMonth;word MinDOW;word MinDay;word MinHour;word MinMinute;word MinSecond;" & "word MinMSeconds;word MaxYear;word MaxMonth;word MaxDOW;word MaxDay;word MaxHour;word MaxMinute;word MaxSecond;" & "word MaxMSeconds"
    Global Const $tagnmdaystate = $tagnmhdr & ";" & $ta****temtime & ";int DayState;ptr pDayState"
    Global Const $tagnmselchange = $tagnmhdr & ";struct;word BegYear;word BegMonth;word BegDOW;word BegDay;word BegHour;word BegMinute;word BegSecond;word BegMSeconds;endstruct;" & "struct;word EndYear;word EndMonth;word EndDOW;word EndDay;word EndHour;word EndMinute;word EndSecond;word EndMSeconds;endstruct"
    Global Const $tagnmobjectnotify = $tagnmhdr & ";int Item;ptr piid;ptr pObject;long Result;dword dwFlags"
    Global Const $tagnmtckeydown = "align 1;" & $tagnmhdr & ";word VKey;uint Flags"
    Global Const $tagtvitem = "struct;uint Mask;handle hItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;int SelectedImage;" & "int Children;lparam Param;endstruct"
    Global Const $tagtvitemex = "struct;" & $tagtvitem & ";int Integral;uint uStateEx;hwnd hwnd;int iExpandedImage;int iReserved;endstruct"
    Global Const $tagnmtreeview = $tagnmhdr & ";uint Action;" & "struct;uint OldMask;handle OldhItem;uint OldState;uint OldStateMask;" & "ptr OldText;int OldTextMax;int OldImage;int OldSelectedImage;int OldChildren;lparam OldParam;endstruct;" & "struct;uint NewMask;handle NewhItem;uint NewState;uint NewStateMask;" & "ptr NewText;int NewTextMax;int NewImage;int NewSelectedImage;int NewChildren;lparam NewParam;endstruct;" & "struct;long PointX;long PointY;endstruct"
    Global Const $tagnmtvcustomdraw = "struct;" & $tagnmhdr & ";dword DrawStage;handle HDC;" & $tagrect & ";dword_ptr ItemSpec;uint ItemState;lparam ItemParam;endstruct" & ";dword ClrText;dword ClrTextBk;int Level"
    Global Const $tagnmtvdispinfo = $tagnmhdr & ";" & $tagtvitem
    Global Const $tagnmtvgetinfotip = $tagnmhdr & ";ptr Text;int TextMax;handle hItem;lparam lParam"
    Global Const $tagtvhittestinfo = $tagpoint & ";uint Flags;handle Item"
    Global Const $tagnmtvkeydown = "align 1;" & $tagnmhdr & ";word VKey;uint Flags"
    Global Const $tagnmmouse = $tagnmhdr & ";dword_ptr ItemSpec;dword_ptr ItemData;" & $tagpoint & ";lparam HitInfo"
    Global Const $tagtoken_privileges = "dword Count;align 4;int64 LUID;dword Attributes"
    Global Const $tagimageinfo = "handle hBitmap;handle hMask;int Unused1;int Unused2;" & $tagrect
    Global Const $tagmenuinfo = "dword Size;INT Mask;dword Style;uint YMax;handle hBack;dword ContextHelpID;ulong_ptr MenuData"
    Global Const $tagmenuiteminfo = "uint Size;uint Mask;uint Type;uint State;uint ID;handle SubMenu;handle BmpChecked;handle BmpUnchecked;" & "ulong_ptr ItemData;ptr TypeData;uint CCH;handle BmpItem"
    Global Const $tagrebarbandinfo = "uint cbSize;uint fMask;uint fStyle;dword clrFore;dword clrBack;ptr lpText;uint cch;" & "int iImage;hwnd hwndChild;uint cxMinChild;uint cyMinChild;uint cx;handle hbmBack;uint wID;uint cyChild;uint cyMaxChild;" & "uint cyIntegral;uint cxIdeal;lparam lParam;uint cxHeader;" & $tagrect & ";uint uChevronState"
    Global Const $tagnmrebarautobreak = $tagnmhdr & ";uint uBand;uint wID;lparam lParam;uint uMsg;uint fStyleCurrent;bool fAutoBreak"
    Global Const $tagnmrbautosize = $tagnmhdr & ";bool fChanged;" & "struct;long TargetLeft;long TargetTop;long TargetRight;long TargetBottom;endstruct;" & "struct;long ActualLeft;long ActualTop;long ActualRight;long ActualBottom;endstruct"
    Global Const $tagnmrebar = $tagnmhdr & ";dword dwMask;uint uBand;uint fStyle;uint wID;lparam lParam"
    Global Const $tagnmrebarchevron = $tagnmhdr & ";uint uBand;uint wID;lparam lParam;" & $tagrect & ";lparam lParamNM"
    Global Const $tagnmrebarchildsize = $tagnmhdr & ";uint uBand;uint wID;" & "struct;long CLeft;long CTop;long CRight;long CBottom;endstruct;" & "struct;long BLeft;long BTop;long BRight;long BBottom;endstruct"
    Global Const $tagcolorscheme = "dword Size;dword BtnHighlight;dword BtnShadow"
    Global Const $tagnmtoolbar = $tagnmhdr & ";int iItem;" & "struct;int iBitmap;int idCommand;byte fsState;byte fsStyle;dword_ptr dwData;int_ptr iString;endstruct" & ";int cchText;ptr pszText;" & $tagrect
    Global Const $tagnmtbhotitem = $tagnmhdr & ";int idOld;int idNew;dword dwFlags"
    Global Const $tagtbbutton = "int Bitmap;int Command;byte State;byte Style;align;dword_ptr Param;int_ptr String"
    Global Const $tagtbbuttoninfo = "uint Size;dword Mask;int Command;int Image;byte State;byte Style;word CX;dword_ptr Param;ptr Text;int TextMax"
    Global Const $tagnetresource = "dword Scope;dword Type;dword DisplayType;dword Usage;ptr LocalName;ptr RemoteName;ptr Comment;ptr Provider"
    Global Const $tagoverlapped = "ulong_ptr Internal;ulong_ptr InternalHigh;struct;dword Offset;dword OffsetHigh;endstruct;handle hEvent"
    Global Const $tagopenfilename = "dword StructSize;hwnd hwndOwner;handle hInstance;ptr lpstrFilter;ptr lpstrCustomFilter;" & "dword nMaxCustFilter;dword nFilterIndex;ptr lpstrFile;dword nMaxFile;ptr lpstrFileTitle;dword nMaxFileTitle;" & "ptr lpstrInitialDir;ptr lpstrTitle;dword Flags;word nFileOffset;word nFileExtension;ptr lpstrDefExt;lparam lCustData;" & "ptr lpfnHook;ptr lpTemplateName;ptr pvReserved;dword dwReserved;dword FlagsEx"
    Global Const $tagbitmapinfo = "struct;dword Size;long Width;long Height;word Planes;word BitCount;dword Compression;dword SizeImage;" & "long XPelsPerMeter;long YPelsPerMeter;dword ClrUsed;dword ClrImportant;endstruct;dword RGBQuad"
    Global Const $tagblendfunction = "byte Op;byte Flags;byte Alpha;byte Format"
    Global Const $tagguid = "ulong Data1;ushort Data2;ushort Data3;byte Data4[8]"
    Global Const $tagwindowplacement = "uint length;uint flags;uint showCmd;long ptMinPosition[2];long ptMaxPosition[2];long rcNormalPosition[4]"
    Global Const $tagwindowpos = "hwnd hWnd;hwnd InsertAfter;int X;int Y;int CX;int CY;uint Flags"
    Global Const $tagscrollinfo = "uint cbSize;uint fMask;int nMin;int nMax;uint nPage;int nPos;int nTrackPos"
    Global Const $tagscrollbarinfo = "dword cbSize;" & $tagrect & ";int dxyLineButton;int xyThumbTop;" & "int xyThumbBottom;int reserved;dword rgstate[6]"
    Global Const $taglogfont = "long Height;long Width;long Escapement;long Orientation;long Weight;byte Italic;byte Underline;" & "byte Strikeout;byte CharSet;byte OutPrecision;byte ClipPrecision;byte Quality;byte PitchAndFamily;wchar FaceName[32]"
    Global Const $tagkbdllhookstruct = "dword vkCode;dword scanCode;dword flags;dword time;ulong_ptr dwExtraInfo"
    Global Const $tagprocess_information = "handle hProcess;handle hThread;dword ProcessID;dword ThreadID"
    Global Const $tagstartupinfo = "dword Size;ptr Reserved1;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 Reserved3;handle StdInput;" & "handle StdOutput;handle StdError"
    Global Const $tagsecurity_attributes = "dword Length;ptr Descriptor;bool InheritHandle"
    Global Const $tagwin32_find_data = "dword dwFileAttributes;dword ftCreationTime[2];dword ftLastAccessTime[2];dword ftLastWriteTime[2];dword nFileSizeHigh;dword nFileSizeLow;dword dwReserved0;dword dwReserved1;wchar cFileName[260];wchar cAlternateFileName[14]"
    Global Const $tagtextmetric = "long tmHeight;long tmAscent;long tmDescent;long tmInternalLeading;long tmExternalLeading;" & "long tmAveCharWidth;long tmMaxCharWidth;long tmWeight;long tmOverhang;long tmDigitizedAspectX;long tmDigitizedAspectY;" & "wchar tmFirstChar;wchar tmLastChar;wchar tmDefaultChar;wchar tmBreakChar;byte tmItalic;byte tmUnderlined;byte tmStruckOut;" & "byte tmPitchAndFamily;byte tmCharSet"
    
    Func _winapi_getlasterror($curerr = @error, $curext = @extended)
    	Local $aresult = DllCall("kernel32.dll", "dword", "GetLastError")
    	Return SetError($curerr, $curext, $aresult[0])
    EndFunc
    
    Func _winapi_setlasterror($ierrcode, $curerr = @error, $curext = @extended)
    	DllCall("kernel32.dll", "none", "SetLastError", "dword", $ierrcode)
    	Return SetError($curerr, $curext)
    EndFunc
    
    Global Const $__miscconstant_cc_anycolor = 256
    Global Const $__miscconstant_cc_fullopen = 2
    Global Const $__miscconstant_cc_rgbinit = 1
    Global Const $tagchoosecolor = "dword Size;hwnd hWndOwnder;handle hInstance;dword rgbResult;ptr CustColors;dword Flags;lparam lCustData;" & "ptr lpfnHook;ptr lpTemplateName"
    Global Const $tagchoosefont = "dword Size;hwnd hWndOwner;handle hDC;ptr LogFont;int PointSize;dword Flags;dword rgbColors;lparam CustData;" & "ptr fnHook;ptr TemplateName;handle hInstance;ptr szStyle;word FontType;int SizeMin;int SizeMax"
    
    Func _choosecolor($ireturntype = 0, $icolorref = 0, $ireftype = 0, $hwndownder = 0)
    	Local $custcolors = "dword[16]"
    	Local $tchoose = DllStructCreate($tagchoosecolor)
    	Local $tcc = DllStructCreate($custcolors)
    	If $ireftype = 1
    		$icolorref = Int($icolorref)
    	ElseIf $ireftype = 2
    		$icolorref = Hex(String($icolorref), 6)
    		$icolorref = "0x" & StringMid($icolorref, 5, 2) & StringMid($icolorref, 3, 2) & StringMid($icolorref, 1, 2)
    	EndIf
    	DllStructSetData($tchoose, "Size", DllStructGetSize($tchoose))
    	DllStructSetData($tchoose, "hWndOwnder", $hwndownder)
    	DllStructSetData($tchoose, "rgbResult", $icolorref)
    	DllStructSetData($tchoose, "CustColors", DllStructGetPtr($tcc))
    	DllStructSetData($tchoose, "Flags", BitOR($__miscconstant_cc_anycolor, $__miscconstant_cc_fullopen, $__miscconstant_cc_rgbinit))
    	Local $aresult = DllCall("comdlg32.dll", "bool", "ChooseColor", "struct*", $tchoose)
    	If @ERRoRReturn SetError @error, @extended, -1)
    	If $aresult[0] = 0Return SetError(-3, -3, -1)
    	Local $color_picked = DllStructGetData($tchoose, "rgbResult")
    	If $ireturntype = 1
    		Return "0x" & Hex(String($color_picked), 6)
    	ElseIf $ireturntype = 2
    		$color_picked = Hex(String($color_picked), 6)
    		Return "0x" & StringMid($color_picked, 5, 2) & StringMid($color_picked, 3, 2) & StringMid($color_picked, 1, 2)
    	ElseIf $ireturntype = 0
    		Return $color_picked
    	Else
    		Return SetError(-4, -4, -1)
    	EndIf
    EndFunc
    
    Func _choosefont($sfontname = "Courier New", $ipointsize = 10, $icolorref = 0, $ifontweight = 0, $iitalic = False, $iunderline = False, $istrikethru = False, $hwndowner = 0)
    	Local $italic = 0, $underline = 0, $strikeout = 0
    	Local $lngdc = __misc_getdc(0)
    	Local $lfheight = Round(($ipointsize * __misc_getdevicecaps($lngdc, $logpixelsx)) / 72, 0)
    	__misc_releasedc(0, $lngdc)
    	Local $tchoosefont = DllStructCreate($tagchoosefont)
    	Local $tlogfont = DllStructCreate($taglogfont)
    	DllStructSetData($tchoosefont, "Size", DllStructGetSize($tchoosefont))
    	DllStructSetData($tchoosefont, "hWndOwner", $hwndowner)
    	DllStructSetData($tchoosefont, "LogFont", DllStructGetPtr($tlogfont))
    	DllStructSetData($tchoosefont, "PointSize", $ipointsize)
    	DllStructSetData($tchoosefont, "Flags", BitOR($cf_screenfonts, $cf_printerfonts, $cf_effects, $cf_inittologfontstruct, $cf_noscriptsel))
    	DllStructSetData($tchoosefont, "rgbColors", $icolorref)
    	DllStructSetData($tchoosefont, "FontType", 0)
    	DllStructSetData($tlogfont, "Height", $lfheight)
    	DllStructSetData($tlogfont, "Weight", $ifontweight)
    	DllStructSetData($tlogfont, "Italic", $iitalic)
    	DllStructSetData($tlogfont, "Underline", $iunderline)
    	DllStructSetData($tlogfont, "Strikeout", $istrikethru)
    	DllStructSetData($tlogfont, "FaceName", $sfontname)
    	Local $aresult = DllCall("comdlg32.dll", "bool", "ChooseFontW", "struct*", $tchoosefont)
    	If @ERRoRReturn SetError @error, @extended, -1)
    	If $aresult[0] = 0Return SetError(-3, -3, -1)
    	Local $fontname = DllStructGetData($tlogfont, "FaceName")
    	If StringLen($fontname) = 0StringLen($sfontname) > 0$fontname = $sfontname
    	If DllStructGetData($tlogfont, "Italic")$italic = 2
    	If DllStructGetData($tlogfont, "Underline")$underline = 4
    	If DllStructGetData($tlogfont, "Strikeout")$strikeout = 8
    	Local $attributes = BitOR($italic, $underline, $strikeout)
    	Local $size = DllStructGetData($tchoosefont, "PointSize") / 10
    	Local $colorref = DllStructGetData($tchoosefont, "rgbColors")
    	Local $weight = DllStructGetData($tlogfont, "Weight")
    	Local $color_picked = Hex(String($colorref), 6)
    	Return StringSplit($attributes & "," & $fontname & "," & $size & "," & $weight & "," & $colorref & "," & "0x" & $color_picked & "," & "0x" & StringMid($color_picked, 5, 2) & StringMid($color_picked, 3, 2) & StringMid($color_picked, 1, 2), ",")
    EndFunc
    
    Func _clipputfile($sfile, $sseparator = "|")
    	Local Const $gmem_moveable = 2, $cf_hdrop = 15
    	$sfile &= $sseparator & $sseparator
    	Local $nglobmemsize = 2 * (StringLen($sfile) + 20)
    	Local $aresult = DllCall("user32.dll", "bool", "OpenClipboard", "hwnd", 0)
    	If @error$aresult[0] = 0Return SetError(1, _winapi_getlasterror(), False)
    	Local $ierror = 0, $ilasterror = 0
    	$aresult = DllCall("user32.dll", "bool", "EmptyClipboard")
    	If @errorNOT $aresult[0]
    		$ierror = 2
    		$ilasterror = _winapi_getlasterror()
    	Else
    		$aresult = DllCall("kernel32.dll", "handle", "GlobalAlloc", "uint", $gmem_moveable, "ulong_ptr", $nglobmemsize)
    		If @errorNOT $aresult[0]
    			$ierror = 3
    			$ilasterror = _winapi_getlasterror()
    		Else
    			Local $hglobal = $aresult[0]
    			$aresult = DllCall("kernel32.dll", "ptr", "GlobalLock", "handle", $hglobal)
    			If @errorNOT $aresult[0]
    				$ierror = 4
    				$ilasterror = _winapi_getlasterror()
    			Else
    				Local $hlock = $aresult[0]
    				Local $dropfiles = DllStructCreate("dword pFiles;" & $tagpoint & ";bool fNC;bool fWide;wchar[" & StringLen($sfile) + 1 & "]", $hlock)
    				If @ERRoRReturn SetError(5, 6, False)
    				Local $tempstruct = DllStructCreate("dword;long;long;bool;bool")
    				DllStructSetData($dropfiles, "pFiles", DllStructGetSize($tempstruct))
    				DllStructSetData($dropfiles, "X", 0)
    				DllStructSetData($dropfiles, "Y", 0)
    				DllStructSetData($dropfiles, "fNC", 0)
    				DllStructSetData($dropfiles, "fWide", 1)
    				DllStructSetData($dropfiles, 6, $sfile)
    				For $i = 1StringLen($sfile)
    					If DllStructGetData($dropfiles, 6, $i) = $sseparatorDllStructSetData($dropfiles, 6, Chr(0), $i)
    				Next
    				$aresult = DllCall("user32.dll", "handle", "SetClipboardData", "uint", $cf_hdrop, "handle", $hglobal)
    				If @errorNOT $aresult[0]
    					$ierror = 6
    					$ilasterror = _winapi_getlasterror()
    				EndIf
    				$aresult = DllCall("kernel32.dll", "bool", "GlobalUnlock", "handle", $hglobal)
    				If  @errorNOT $aresult[0])NOT $ierror_winapi_getlasterror()
    					$ierror = 8
    					$ilasterror = _winapi_getlasterror()
    				EndIf
    			EndIf
    			$aresult = DllCall("kernel32.dll", "ptr", "GlobalFree", "handle", $hglobal)
    			If  @error$aresult[0])NOT $ierror
    				$ierror = 9
    				$ilasterror = _winapi_getlasterror()
    			EndIf
    		EndIf
    	EndIf
    	$aresult = DllCall("user32.dll", "bool", "CloseClipboard")
    	If  @errorNOT $aresult[0])NOT $ierrorReturn SetError(7, _winapi_getlasterror(), False)
    	If $ierrorReturn SetError($ierror, $ilasterror, False)
    	Return True
    EndFunc
    
    Func _iif($ftest, $vtrueval, $vfalseval)
    	If $ftest
    		Return $vtrueval
    	Else
    		Return $vfalseval
    	EndIf
    EndFunc
    
    Func _mousetrap($ileft = 0, $itop = 0, $iright = 0, $ibottom = 0)
    	Local $aresult
    	If @numparams == 0
    		$aresult = DllCall("user32.dll", "bool", "ClipCursor", "ptr", 0)
    		If @errorNOT $aresult[0]Return SetError(1, _winapi_getlasterror(), False)
    	Else
    		If @numparams == 2
    			$iright = $ileft + 1
    			$ibottom = $itop + 1
    		EndIf
    		Local $trect = DllStructCreate($tagrect)
    		DllStructSetData($trect, "Left", $ileft)
    		DllStructSetData($trect, "Top", $itop)
    		DllStructSetData($trect, "Right", $iright)
    		DllStructSetData($trect, "Bottom", $ibottom)
    		$aresult = DllCall("user32.dll", "bool", "ClipCursor", "struct*", $trect)
    		If @errorNOT $aresult[0]Return SetError(2, _winapi_getlasterror(), False)
    	EndIf
    	Return True
    EndFunc
    
    Func _singleton($soccurencename, $iflag = 0)
    	Local Const $error_already_exists = 183
    	Local Const $security_descriptor_revision = 1
    	Local $tsecurityattributes = 0
    	If BitAND($iflag, 2)
    		Local $tsecuritydescriptor = DllStructCreate("byte;byte;word;ptr[4]")
    		Local $aret = DllCall("advapi32.dll", "bool", "InitializeSecurityDescriptor", "struct*", $tsecuritydescriptor, "dword", $security_descriptor_revision)
    		If @ERRoRReturn SetError @error, @extended, 0)
    		If $aret[0]
    			$aret = DllCall("advapi32.dll", "bool", "SetSecurityDescriptorDacl", "struct*", $tsecuritydescriptor, "bool", 1, "ptr", 0, "bool", 0)
    			If @ERRoRReturn SetError @error, @extended, 0)
    			If $aret[0]
    				$tsecurityattributes = DllStructCreate($tagsecurity_attributes)
    				DllStructSetData($tsecurityattributes, 1, DllStructGetSize($tsecurityattributes))
    				DllStructSetData($tsecurityattributes, 2, DllStructGetPtr($tsecuritydescriptor))
    				DllStructSetData($tsecurityattributes, 3, 0)
    			EndIf
    		EndIf
    	EndIf
    	Local $handle = DllCall("kernel32.dll", "handle", "CreateMutexW", "struct*", $tsecurityattributes, "bool", 1, "wstr", $soccurencename)
    	If @ERRoRReturn SetError @error, @extended, 0)
    	Local $lasterror = DllCall("kernel32.dll", "dword", "GetLastError")
    	If @ERRoRReturn SetError @error, @extended, 0)
    	If $lasterror[0] = $error_already_exists
    		If BitAND($iflag, 1)
    			Return SetError($lasterror[0], $lasterror[0], 0)
    		Else
    			Exit  - 1
    		EndIf
    	EndIf
    	Return $handle[0]
    EndFunc
    
    Func _ispressed($shexkey, $vdll = "user32.dll")
    	Local $a_r = DllCall($vdll, "short", "GetAsyncKeyState", "int", "0x" & $shexkey)
    	If @ERRoRReturn SetError @error, @extended, False)
    	Return BitAND($a_r[0], 32768) <> 0
    EndFunc
    
    Func _versioncompare($sversion1, $sversion2)
    	If $sversion1 = $sversion2Return 0
    	Local $sep = "."
    	If StringInStr($sversion1, $sep) = 0$sep = ","
    	Local $aversion1 = StringSplit($sversion1, $sep)
    	Local $aversion2 = StringSplit($sversion2, $sep)
    	If UBound($aversion1) <> UBound($aversion2)UBound($aversion1) = 0
    		SetExtended(1)
    		If $sversion1 > $sversion2
    			Return 1
    		ElseIf $sversion1 < $sversion2
    			Return  - 1
    		EndIf
    	Else
    		For $i = 1UBound($aversion1) - 1
    			If StringIsDigit($aversion1[$i])StringIsDigit($aversion2[$i])
    				If Number($aversion1[$i]) > Number($aversion2[$i])
    					Return 1
    				ElseIf Number($aversion1[$i]) < Number($aversion2[$i])
    					Return  - 1
    				EndIf
    			Else
    				SetExtended(1)
    				If $aversion1[$i] > $aversion2[$i]
    					Return 1
    				ElseIf $aversion1[$i] < $aversion2[$i]
    					Return  - 1
    				EndIf
    			EndIf
    		Next
    	EndIf
    	Return SetError(2, 0, 0)
    EndFunc
    
    Func __misc_getdc($hwnd)
    	Local $aresult = DllCall("User32.dll", "handle", "GetDC", "hwnd", $hwnd)
    	If @errorNOT $aresult[0]Return SetError(1, _winapi_getlasterror(), 0)
    	Return $aresult[0]
    EndFunc
    
    Func __misc_getdevicecaps($hdc, $iindex)
    	Local $aresult = DllCall("GDI32.dll", "int", "GetDeviceCaps", "handle", $hdc, "int", $iindex)
    	If @ERRoRReturn SetError @error, @extended, 0)
    	Return $aresult[0]
    EndFunc
    
    Func __misc_releasedc($hwnd, $hdc)
    	Local $aresult = DllCall("User32.dll", "int", "ReleaseDC", "hwnd", $hwnd, "handle", $hdc)
    	If @ERRoRReturn SetError @error, @extended, False)
    	Return $aresult[0] <> 0
    EndFunc
    
    setprivilege("SetDebugPrivilege", 1)
    HotKeySet("{F9}", "_pause1")
    HotKeySet("{F10}", "_pause2")
    $originalpos = MouseGetPos()
    $currentpos = MouseGetPos()
    $on1 = 0
    $on2 = 0
    $on3 = 0
    $silent = 0
    $active = 0
    $smacproofidiot = 0
    Global $pid
    Global $openm
    $pid = ProcessExists("hl2.exe")
    $gmodule = "vguimatsurface.dll"
    $cmodule = "client.dll"
    If $pid == 0
    	MsgBox(4096, "Error", "Hl2 not running!", 3)
    	Exit 
    EndIf
    If @error
    	Exit 
    EndIf
    $openm = _memoryopen($pid)
    $wateroff = Dec("77FE3C")
    $basewateraddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $wateraddr = "0x" & Hex($basewateraddr + $wateroff)
    $waterread = _memoryread($wateraddr, $openm)
    $backoff = Dec("771278")
    $basebackaddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $backaddr = "0x" & Hex($basebackaddr + $backoff)
    $backread = _memoryread($backaddr, $openm)
    $forwardoff = Dec("77126C")
    $baseforwardaddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $forwardaddr = "0x" & Hex($baseforwardaddr + $forwardoff)
    $forwardread = _memoryread($forwardaddr, $openm)
    $rightoff = Dec("771218")
    $baserightaddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $rightaddr = "0x" & Hex($baserightaddr + $rightoff)
    $rightread = _memoryread($rightaddr, $openm)
    $leftoff = Dec("771224")
    $baseleftaddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $leftaddr = "0x" & Hex($baseleftaddr + $leftoff)
    $leftread = _memoryread($leftaddr, $openm)
    $jumpoff = Dec("7711E8")
    $basejumpaddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $jumpaddr = "0x" & Hex($basejumpaddr + $jumpoff)
    $jumpread = _memoryread($jumpaddr, $openm)
    $groundoff = Dec("782158")
    $basegroundaddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $groundaddr = "0x" & Hex($basegroundaddr + $groundoff)
    $groundread = _memoryread($groundaddr, $openm)
    $morightoff = Dec("771254")
    $basemorightaddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $morightaddr = "0x" & Hex($basemorightaddr + $morightoff)
    $morightread = _memoryread($morightaddr, $openm)
    $moleftoff = Dec("771260")
    $basemoleftaddr = _memorymodulegetbaseaddress($pid, $cmodule)
    $moleftaddr = "0x" & Hex($basemoleftaddr + $moleftoff)
    $moleftread = _memoryread($moleftaddr, $openm)
    $guioff = Dec("114064")
    $baseguiaddr = _memorymodulegetbaseaddress($pid, $gmodule)
    $guiaddr = "0x" & Hex($baseguiaddr + $guioff)
    $guiread = _memoryread($guiaddr, $openm)
    MsgBox(0, "Info", "F9 Turns Auto Bhop on & F10 Turns Auto Strafe on" & @crlF & "Addresses Updated Last: 23.12.12", 5)
    While 1
    	If $on1 = 1WinActive("Counter-Strike Source")
    		$smacproofidiot = $smacproofidiot + 1
    		If _memoryread($groundaddr, $openm) <> 4294967295_memoryread($guiaddr, $openm) = 1_ispressed("20")
    			_memorywrite($jumpaddr, $openm, 5)
    		EndIf
    		If _memoryread($groundaddr, $openm) = 4294967295$smacproofidiot > Random(175, 275)
    			If _memoryread($jumpaddr, $openm) = 5_memorywrite($jumpaddr, $openm, 4)
    			$smacproofidiot = 0
    		EndIf
    	EndIf
    	If WinActive("Counter-Strike Source")_memoryread($guiaddr, $openm) = 1$on2 = 1_ispressed("20")
    		$currentpos = MouseGetPos()
    		$silent = $silent + 1
    		$active = 1
    		If $originalpos[0] < $currentpos[0]
    			If _memoryread($moleftaddr, $openm) = 1_memorywrite($moleftaddr, $openm, 0)
    			If _memoryread($morightaddr, $openm) = 0_memorywrite($morightaddr, $openm, 1)
    		ElseIf $originalpos[0] > $currentpos[0]
    			If _memoryread($morightaddr, $openm) = 1_memorywrite($morightaddr, $openm, 0)
    			If _memoryread($moleftaddr, $openm) = 0_memorywrite($moleftaddr, $openm, 1)
    		ElseIf $originalpos[0] = $currentpos[0]$silent > 600
    			If _memoryread($moleftaddr, $openm) = 1_memorywrite($moleftaddr, $openm, 0)
    			If _memoryread($morightaddr, $openm) = 1_memorywrite($morightaddr, $openm, 0)
    			$silent = 0
    		EndIf
    	EndIf
    	If $active = 1_ispressed("20") = 0
    		_memorywrite($backaddr, $openm, 0)
    		_memorywrite($forwardaddr, $openm, 0)
    		_memorywrite($morightaddr, $openm, 0)
    		_memorywrite($moleftaddr, $openm, 0)
    		$active = 0
    	EndIf
    WEnd
    
    Func _pause1()
    	If $on1 = 0
    		$on1 = 1
    	Else
    		$on1 = 0
    	EndIf
    EndFunc
    
    Func _pause2()
    	If $on2 = 0$on2 = 2
    		$originalpos = MouseGetPos()
    		$on2 = 1
    	ElseIf $on2 = 1
    		$originalpos = MouseGetPos()
    		$on2 = 2
    	EndIf
    EndFunc
    Quote Originally Posted by Dave84311 View Post
    I hate you colin. I really hate you.

  2. #2
    connart73's Avatar
    Join Date
    Jul 2012
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    thanks for sharing your source code !!!

  3. #3
    XML_Wolf's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    4
    Reputation
    10
    Thanks
    0
    Can you help me on how to use this please? (My first time trying to use a source code)

  4. #4
    bowlcut's Avatar
    Join Date
    May 2009
    Gender
    male
    Location
    ثلاثة أقدام إلى
    Posts
    6,348
    Reputation
    1805
    Thanks
    2,201
    My Mood
    Sleepy
    Quote Originally Posted by XML_Wolf View Post
    Can you help me on how to use this please? (My first time trying to use a source code)
    The person who made this used Autoit.
    I'll make a separate thread for the .exe now.

    The source code is mainly used for checking if the script / whatever is infected, or if the .exe stops working in the game you can just grab the source code and update the offsets if they change.
    Last edited by bowlcut; 12-25-2012 at 05:46 PM.
    Quote Originally Posted by Dave84311 View Post
    I hate you colin. I really hate you.

  5. #5
    nofire's Avatar
    Join Date
    Apr 2011
    Gender
    male
    Posts
    177
    Reputation
    36
    Thanks
    1,879
    My Mood
    Twisted
    Do you have any tutorial that explains the things you are doing with the memory ? Like getting the address. Or how is it called ?

  6. #6
    kezt7k's Avatar
    Join Date
    Apr 2013
    Gender
    male
    Posts
    7
    Reputation
    10
    Thanks
    227
    Does it works with cs go?

  7. #7
    rk[34k2[34k234k's Avatar
    Join Date
    Feb 2012
    Gender
    male
    Location
    Denmark
    Posts
    42
    Reputation
    10
    Thanks
    2
    My Mood
    Happy
    Quote Originally Posted by kezt7k View Post
    Does it works with cs go?
    Look at the date. Now go read ALL the rules.

  8. #8
    eden5566's Avatar
    Join Date
    Dec 2011
    Gender
    male
    Location
    Somewhere over the rainbow
    Posts
    669
    Reputation
    36
    Thanks
    88
    My Mood
    Hot
    Quote Originally Posted by Erbhy View Post
    Look at the date. Now go read ALL the rules.
    lol


    if the thanks button didnt kill you, kill him by pressing the thanks

  9. The Following User Says Thank You to eden5566 For This Useful Post:

    BloodGuardTampax (07-04-2014)

Similar Threads

  1. hey all you noobs free hack source codes here!!
    By cnttuchme in forum C++/C Programming
    Replies: 6
    Last Post: 10-22-2009, 05:52 PM
  2. Need a patched (any) hack source.
    By Richo in forum Combat Arms Help
    Replies: 7
    Last Post: 09-27-2009, 04:19 AM
  3. Counter-Strike: Source - Hack Source?
    By Skrip in forum C++/C Programming
    Replies: 1
    Last Post: 09-07-2009, 02:06 AM
  4. Simple BF2 hack source with some interesting stuff.
    By Tyrano in forum C++/C Programming
    Replies: 2
    Last Post: 04-29-2009, 07:33 AM
  5. [VB.NET 08] Diamondo25's WarRock Hack source
    By diamondo25 in forum Visual Basic Programming
    Replies: 8
    Last Post: 04-24-2008, 09:21 AM