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