Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- param([int]$espkey, [int]$esp, [int]$bhopkey, [int]$triggerkey, [int]$trdelay, [int]$afterburst, [int]$aimkey, [float]$aimspeed, [int]$aimfov, [int]$aimbone, [float]$rcs, [int]$slowaimkey, [float]$slowaim, [int]$sleep, [int]$proc, [int]$client, [int]$bones, [int]$local, [int]$glowbase, [int]$attack, [int]$jump, [int]$sensitivity, [int]$incross, [int]$punch, [int]$angles)
- Add-Type @'
- /*_*/
- /***/using System;/**/
- /***/using System.Runtime.InteropServices;/**/
- /**/
- public struct Win32
- {
- /*_*/
- /***/[DllImport("kernel32.dll")]
- public static extern IntPtr OpenProcess(int access, bool inheritHandler, uint processId);/**/
- /***/[DllImport("kernel32.dll")]
- public static extern bool WriteProcessMemory(IntPtr process, IntPtr address, byte[] buffer, uint size, out uint written);/**/
- /***/[DllImport("Kernel32.dll")]
- public static extern bool ReadProcessMemory(IntPtr process, IntPtr address, [In, Out] byte[] buffer, uint size, out uint read);/**/
- /***/[DllImport("user32.dll")]
- public static extern int GetKeyState(int KeyStates);/**/
- /**/
- }
- '@
- <#_#>
- Get-Process -Id $proc
- $handle = [Win32]::OpenProcess(0x438, $True, $proc)
- $size = New-Object UInt32
- <#*#>Function IsKeyDown($key)
- {
- return [Convert]::ToBoolean([Win32]::GetKeyState($key) -band 0x8000)
- }<##>
- <#*#>Function GetColor([float]$r, [float]$g, [float]$b, [float]$a)
- {
- $color = New-Object byte[] 16
- <#_#>
- [Array]::Copy([BitConverter]::GetBytes($r), 0, $color, 0, 4)
- [Array]::Copy([BitConverter]::GetBytes($g), 0, $color, 0x4, 4)
- [Array]::Copy([BitConverter]::GetBytes($b), 0, $color, 0x8, 4)
- [Array]::Copy([BitConverter]::GetBytes($a), 0, $color, 0xC, 4)
- <##>
- return $color
- }<##>
- <#*#>Function ClampAngles([ref] [float]$pitch, [ref] [float]$yaw)
- {
- <#_#>
- <#*#>if($pitch.Value -gt 89) { $pitch.Value = 89 }
- elseif($pitch.Value -lt -89) { $pitch.Value = -89 }<##>
- <#*#>if($yaw.Value -gt 180) { do { $yaw.Value -= 360 } while($yaw.Value -gt 180) }
- elseif($yaw.Value -lt -180) { do { $yaw.Value += 360 } while($yaw.Value -lt -180) }<##>
- <##>
- }<##>
- <##>
- <#_#>
- <#*0#>$sens = New-Object byte[] 4 <##>
- <#*1#>[void][Win32]::ReadProcessMemory($handle, $sensitivity, $sens, 4, [ref] $size)<##>
- <#*2#>$ssens = [BitConverter]::GetBytes([float]([BitConverter]::ToSingle($sens, 0) * $slowaim))<##>
- <#*0-2#>$trdelay *= 10000<##>
- <#*0-2#>$afterburst *= 10000<##>
- <#*0-2#>$rcs *= 2<##>
- <#*0-2#>$glowon = 0x01, 0x00<##>
- <#*0-2#>$color = New-Object byte[] 16 <##>
- <#*0-2#>$teamc = GetColor 0 1 0 0.7 <##>
- <#*0-2#>$dormantc = GetColor 0.2 0.2 0.2 0.9 <##>
- <#*0-2#>$enemylowc = GetColor 1 0.2 0.2 1 <##>
- <#*0-2#>$enemyc = GetColor 1 0.4 0 1 <##>
- <#*0-2#>$buffer = New-Object byte[] 0x25 <##>
- <#*0-2#>$buf = New-Object byte[] 8 <##>
- <#*0-2#>$localplayer = New-Object byte[] 0xDD <##>
- <#*0-2#>$player = New-Object byte[] 0x99 <##>
- <#*0-2#>$plocal = New-Object byte[] 4 <##>
- <#*0-2#>$targetb = New-Object byte[] 4 <##>
- <#*0-2#>$cam = New-Object float[] 3 <##>
- <#*0-2#>$angle = New-Object float[] 2 <##>
- <#*0-2#>$newang = New-Object float[] 2 <##>
- <#*0-2#>$recoil = New-Object float[] 2 <##>
- <##>
- while($True)
- {
- [void][Win32]::ReadProcessMemory($handle, $local, $plocal, 4, [ref] $size)
- $localptr = [BitConverter]::ToInt32($plocal, 0)
- if($localptr -ne 0)
- {
- <#_#>
- $notrigger = $noslow = $True
- [void][Win32]::ReadProcessMemory($handle, $localptr + 0x64, $localplayer, 0xDD, [ref] $size)
- <##>
- <#_#>
- <#*0-4#>if(IsKeyDown $aimkey)
- {
- <#_#>
- <#*0#>$cam[0] = [BitConverter]::ToSingle($localplayer, 0xD0) + [BitConverter]::ToSingle($localplayer, 0xA0)<##>
- <#*0#>$cam[1] = [BitConverter]::ToSingle($localplayer, 0xD4) + [BitConverter]::ToSingle($localplayer, 0xA4)<##>
- <#*0#>$cam[2] = [BitConverter]::ToSingle($localplayer, 0xD8) + [BitConverter]::ToSingle($localplayer, 0xA8)<##>
- <#*0#>[void][Win32]::ReadProcessMemory($handle, $angles, $buf, 8, [ref] $size)<##>
- <#*1#>$angle[0] = [BitConverter]::ToSingle($buf, 0)<##>
- <#*1#>$angle[1] = [BitConverter]::ToSingle($buf, 4)<##>
- <#*2#>[void][Win32]::ReadProcessMemory($handle, $localptr + $punch, $buf, 8, [ref] $size)<##>
- <#*3#>$recoil[0] = [BitConverter]::ToSingle($buf, 0) * $rcs<##>
- <#*3#>$recoil[1] = [BitConverter]::ToSingle($buf, 4) * $rcs<##>
- <#*0-3#>$aimon = $True<##>
- <#*0-3#>$aiming = $False<##>
- <#*0-3#>$mindiff = $aimfov<##>
- <##>
- }
- else { $aimon = $False }<##>
- <#*0-4#>if(IsKeyDown $espkey)
- {
- if($espkon)
- {
- <#_#>
- if($esp -eq 2) { $esp = 0 } else { $esp++ }
- $espkon = $False
- <##>
- }
- }
- else { $espkon = $True }<##>
- <#*0-4#>if(IsKeyDown $bhopkey)
- {
- $state = $localplayer[0x9C]
- if($state -ne 1 -and $state -ne 3 -and $state -ne 5 -and $state -ne 7)
- {
- <#_#>
- [void][Win32]::WriteProcessMemory($handle, $jump, 0, 1, [ref] $size)
- $jumpoff = $True
- <##>
- }
- elseif($jumpoff)
- {
- <#_#>
- [void][Win32]::WriteProcessMemory($handle, $jump, 1, 1, [ref] $size)
- $jumpoff = $False
- <##>
- }
- }<##>
- <#*0#>[void][Win32]::ReadProcessMemory($handle, $localptr + $incross, $targetb, 4, [ref] $size)<##>
- <#*1-4#>$target = [BitConverter]::ToInt32($targetb, 0)<##>
- <#*0-1#>[void][Win32]::ReadProcessMemory($handle, $glowbase, $buffer, 8, [ref] $size)<##>
- <#*2#>$glow = [BitConverter]::ToInt32($buffer, 0)<##>
- <#*2#>$glowslength = [BitConverter]::ToInt32($buffer, 4) * 0x38<##>
- <#*3#>$glows = New-Object byte[] $glowslength <##>
- <#*4#>[void][Win32]::ReadProcessMemory($handle, $glow, $glows, $glowslength, [ref] $size)<##>
- <##>
- for($i = 0; $i -lt $glowslength; $i+=0x38)
- {
- $ent = [BitConverter]::ToInt32($glows, $i)
- if($ent -eq 0 -or $ent -eq $localptr) { continue }
- [void][Win32]::ReadProcessMemory($handle, $ent + 0x64, $player, 0x99, [ref] $size)
- $id = [BitConverter]::ToInt32($player, 0)
- if($id -lt 1 -or $player[0x8C] -eq 0) { continue }
- elseif($player[0x8C] -eq $localplayer[0x8C])
- {
- <#_#>
- if($id -lt 64 -and $esp -lt 2) { continue }
- $color = $teamc
- <##>
- }
- else
- {
- if($player[0x98] -ne 0)
- {
- if($player[0x85] -eq 1)
- {
- $color = $dormantc
- }
- else
- {
- <#_#>
- <#*#>[void][Win32]::WriteProcessMemory($handle, $ent + 0x935, 1, 1, [ref] $size)<##>
- <#*#>if($id -eq $target)
- {
- <#_#>
- if(IsKeyDown $triggerkey) { $notrigger = $False }
- if(IsKeyDown $slowaimkey) { $noslow = $False }
- <##>
- }<##>
- <#*#>if($aimon -and $player[0x98] -ne 0)
- {
- [void][Win32]::ReadProcessMemory($handle, $ent + $bones, $buffer, 4, [ref] $size)
- [void][Win32]::ReadProcessMemory($handle, [BitConverter]::ToInt32($buffer, 0) + 0x30 * $aimbone + 0xC, $buffer, 0x25, [ref] $size)
- $delta = ($cam[0]-[BitConverter]::ToSingle($buffer, 0)), ($cam[1]-[BitConverter]::ToSingle($buffer, 0x10)), ($cam[2]-[BitConverter]::ToSingle($buffer, 0x20))
- <#_#>
- <#*0-4#>$dist = [Math]::Sqrt($delta[0]*$delta[0] + $delta[1]*$delta[1] + $delta[2]*$delta[2])<##>
- <#*0#>$hyp = [Math]::Sqrt($delta[0]*$delta[0] + $delta[1]*$delta[1])<##>
- <#*1#>$pitch = [Math]::Atan($delta[2]/$hyp) * 57.2957795130823<##>
- <#*0#>$yaw = [Math]::Atan($delta[1]/$delta[0]) * 57.2957795130823<##>
- <#*1#>if($delta[0] -ge 0) { $yaw += 180 }<##>
- <#*2#>$pitch -= $recoil[0]<##>
- <#*2#>$yaw -= $recoil[1]<##>
- <#*3#>$pdiff = $angle[0] - $pitch<##>
- <#*3#>$ydiff = $angle[1] - $yaw<##>
- <#*4#>ClampAngles ([ref] $pdiff) ([ref] $ydiff)<##>
- <#*5#>$pdiffr = [Math]::Sin($pdiff * 0.0174532925199433) * $dist<##>
- <#*5#>$ydiffr = [Math]::Sin($ydiff * 0.0174532925199433) * $dist<##>
- <#*6#>$angdiffr = [Math]::Sqrt($pdiffr*$pdiffr + $ydiffr*$ydiffr)<##>
- <##>
- if($angdiffr -lt $mindiff -and [Math]::Abs($ydiff) -lt 90 -or ($dist*2 - $angdiffr) -lt $mindiff)
- {
- <#_#>
- $mindiff = $angdiffr
- $aiming = $True
- $pd = $pdiff
- $yd = $ydiff
- <##>
- }
- }<##>
- <#*#>if($player[0x98] -lt 25)
- {
- $color = $enemylowc
- }
- else
- {
- $color = $enemyc
- }<##>
- <##>
- }
- }
- elseif($id -gt 63)
- {
- $color = $enemylowc
- }
- else { continue }
- }
- if($esp -ne 0)
- {
- $diff = $False
- for($j = 0; $j -lt 16; $j++)
- {
- if($color[$j] -ne $glows[$i + $j])
- {
- $diff = $True
- break
- }
- }
- if($diff)
- {
- <#_#>
- [void][Win32]::WriteProcessMemory($handle, $glow + $i + 0x4, $color, 16, [ref] $size)
- [void][Win32]::WriteProcessMemory($handle, $glow + $i + 0x24, $glowon, 2, [ref] $size)
- <##>
- }
- }
- }
- <#_#>
- <#*#>if($notrigger)
- {
- <#_#>
- <#*0#>if($attackon -and -not $afterb)
- {
- <#_#>
- $trend = [DateTime]::Now.Ticks + $afterburst
- $afterb = $True
- <##>
- }<##>
- <#*1#>if($afterb -and $trend -le [DateTime]::Now.Ticks)
- {
- <#_#>
- [void][Win32]::WriteProcessMemory($handle, $attack, 0, 1, [ref] $size)
- $attackon = $afterb = $False
- <##>
- }<##>
- <#*0-1#>$delayb = $True<##>
- <##>
- }
- else
- {
- <#_#>
- <#*0#>if($delayb)
- {
- <#_#>
- $trstart = [DateTime]::Now.Ticks + $trdelay
- $delayb = $False
- <##>
- }<##>
- <#*1#>if(-not $attackon -and $trstart -lt [DateTime]::Now.Ticks)
- {
- <#_#>
- [void][Win32]::WriteProcessMemory($handle, $attack, 1, 1, [ref] $size)
- $attackon = $True
- <##>
- }<##>
- <#*0-1#>$afterb = $False<##>
- <##>
- }<##>
- <#*#>if($noslow -and $slowon)
- {
- <#_#>
- [void][Win32]::WriteProcessMemory($handle, $sensitivity, $sens, 4, [ref] $size)
- $slowon = $False
- <##>
- }
- elseif(-not ($noslow -or $slowon))
- {
- <#_#>
- [void][Win32]::WriteProcessMemory($handle, $sensitivity, $ssens, 4, [ref] $size)
- $slowon = $True
- <##>
- }<##>
- <#*#>if($aimon -and $aiming)
- {
- <#_#>
- $pabs = [Math]::Abs($pd)
- $yabs = [Math]::Abs($yd)
- <##>
- $angdiff = $pabs + $yabs
- <#_#>
- $pspeed = $pabs / $angdiff * $aimspeed
- $yspeed = $yabs / $angdiff * $aimspeed
- <##>
- <#_#>
- <#*#>if($pd -gt $pspeed) { $newang[0] = $angle[0] - $pspeed }
- elseif($pd -lt -$pspeed) { $newang[0] = $angle[0] + $pspeed }
- else { $newang[0] = $angle[0] - $pd }<##>
- <#*#>if($yd -gt $yspeed) { $newang[1] = $angle[1] - $yspeed }
- elseif($yd -lt -$yspeed) { $newang[1] = $angle[1] + $yspeed }
- else { $newang[1] = $angle[1] - $yd }<##>
- <##>
- ClampAngles ([ref] $newang[0]) ([ref] $newang[1])
- [Buffer]::BlockCopy($newang, 0, $buffer, 0, 8)
- [void][Win32]::WriteProcessMemory($handle, $angles, $buffer, 8, [ref] $size)
- }<##>
- <##>
- }
- Start-Sleep -m $sleep
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement