Add files via upload

This commit is contained in:
ALittlePatate
2021-02-24 12:54:38 +01:00
committed by GitHub
parent df32dae200
commit 5ed12e4c21
25 changed files with 1864 additions and 0 deletions

207
utils/silent.py Normal file
View File

@@ -0,0 +1,207 @@
import pymem
import pymem.process
import time
import ctypes, sys
from Offsets import *
sys.path.insert(1, "classes/")
from features_reads import read
from math import *
import features_check
import keyboard
import win32api
class silent() :
def __init__(self):
try :
self.pm = pymem.Pymem("csgo.exe")
except :
MessageBox = ctypes.windll.user32.MessageBoxW
MessageBox(None, 'Could not find the csgo.exe process !', 'Error', 16)
return
self.client = pymem.process.module_from_name(self.pm.process_handle, "client.dll").lpBaseOfDll
self.engine = pymem.process.module_from_name(self.pm.process_handle, "engine.dll").lpBaseOfDll
self.engine_pointer = self.pm.read_int(self.engine + dwClientState)
read("aim")
while features_check.check.silent_aim :
read("aim")
key = self.get_key()
while key :
try :
key = self.get_key()
target = None
olddistx = 111111111111
olddisty = 111111111111
if self.client and self.engine and self.pm:
try:
player = self.pm.read_int(self.client + dwLocalPlayer)
localTeam = self.pm.read_int(player + m_iTeamNum)
except :
continue
for i in range(1,32):
key = self.get_key()
entity = self.pm.read_int(self.client + dwEntityList + i * 0x10)
if entity:
try:
entity_team_id = self.pm.read_int(entity + m_iTeamNum)
entity_hp = self.pm.read_int(entity + m_iHealth)
entity_dormant = self.pm.read_int(entity + m_bDormant)
except :
continue
if localTeam != entity_team_id and entity_hp > 0:
entity_bones = self.pm.read_int(entity + m_dwBoneMatrix)
localpos_x_angles = self.pm.read_float(self.engine_pointer + dwClientState_ViewAngles)
localpos_y_angles = self.pm.read_float(self.engine_pointer + dwClientState_ViewAngles + 0x4)
localpos1 = self.pm.read_float(player + m_vecOrigin)
localpos2 = self.pm.read_float(player + m_vecOrigin + 4)
localpos_z_angles = self.pm.read_float(player + m_vecViewOffset + 0x8)
localpos3 = self.pm.read_float(player + m_vecOrigin + 8) + localpos_z_angles
try:
entitypos_x = self.pm.read_float(entity_bones + 0x30 * 8 + 0xC)
entitypos_y = self.pm.read_float(entity_bones + 0x30 * 8 + 0x1C)
entitypos_z = self.pm.read_float(entity_bones + 0x30 * 8 + 0x2C)
except:
continue
try :
X, Y = self.calcangle(localpos1, localpos2, localpos3, entitypos_x, entitypos_y, entitypos_z)
except :
pass
newdist_x, newdist_y = self.calc_distance(localpos_x_angles, localpos_y_angles, X, Y)
if newdist_x < olddistx and newdist_y < olddisty and newdist_x <= 90 and newdist_y <= 90:
olddistx, olddisty = newdist_x, newdist_y
target, target_hp, target_dormant = entity, entity_hp, entity_dormant
target_x, target_y, target_z = entitypos_x, entitypos_y, entitypos_z
if key and player:
if target and target_hp > 0 and not target_dormant:
x, y = self.calcangle(localpos1, localpos2, localpos3, target_x, target_y, target_z)
normalize_x, normalize_y = self.normalizeAngles(x, y)
if key :
#print(dwbSendPackets) #1993604684 #880218
self.pm.write_uchar(self.engine + dwbSendPackets, 0)
Commands = self.pm.read_int(self.client + dwInput + 0xF4)
VerifedCommands = self.pm.read_int(self.client + dwInput + 0xF8)
Desired = self.pm.read_int(self.engine_pointer + clientstate_last_outgoing_command) + 2
OldUser = Commands + ((Desired - 1) % 150) * 100
VerifedOldUser = VerifedCommands + ((Desired - 1) % 150) * 0x68
m_buttons = self.pm.read_int(OldUser + 0x30)
Net_Channel = self.pm.read_uint(self.engine_pointer + clientstate_net_channel)
if self.pm.read_int(Net_Channel + 0x18) >= Desired:
self.pm.write_float(OldUser + 0x0C, normalize_x)
self.pm.write_float(OldUser + 0x10, normalize_y)
self.pm.write_int(OldUser + 0x30, m_buttons | (1 << 0))
self.pm.write_float(VerifedOldUser + 0x0C, normalize_x)
self.pm.write_float(VerifedOldUser + 0x10, normalize_y)
self.pm.write_int(VerifedOldUser + 0x30, m_buttons | (1 << 0))
self.pm.write_uchar(self.engine + dwbSendPackets, 1)
else :
self.pm.write_uchar(self.engine + dwbSendPackets, 1)
else:
self.pm.write_float(self.engine_pointer + dwClientState_ViewAngles, normalize_x)
self.pm.write_float(self.engine_pointer + dwClientState_ViewAngles + 0x4, normalize_y)
time.sleep(0.2)
except :
pass
self.pm.close_process()
def get_key(self) :
if "Button.right" in features_check.check.silent_aim_key :
key = win32api.GetKeyState(0x02)
if key == -127 or key == -128 :
key = True
else :
key = False
elif "Button.left" in features_check.check.silent_aim_key :
key = win32api.GetKeyState(0x01)
if key == -127 or key == -128 :
key = True
else :
key = False
elif "Button.middle" in features_check.check.silent_aim_key :
key = win32api.GetKeyState(0x04)
if key == -127 or key == -128 :
key = True
else :
key = False
else :
excpected_key = features_check.check.silent_aim_key
excpected_key = excpected_key.replace("Key.", "")
key = keyboard.is_pressed(excpected_key)
return key
def normalizeAngles(self, viewAngleX, viewAngleY):
if viewAngleX > 89:
viewAngleX -= 360
if viewAngleX < -89:
viewAngleX += 360
if viewAngleY > 180:
viewAngleY -= 360
if viewAngleY < -180:
viewAngleY += 360
return viewAngleX, viewAngleY
def checkangles(self, x, y):
if x > 89:
return False
elif x < -89:
return False
elif y > 360:
return False
elif y < -360:
return False
else:
return True
def nanchecker(self, first, second):
if math.isnan(first) or math.isnan(second):
return False
else:
return True
def calc_distance(self, current_x, current_y, new_x, new_y):
distancex = new_x - current_x
if distancex < -89:
distancex += 360
elif distancex > 89:
distancex -= 360
if distancex < 0.0:
distancex = -distancex
distancey = new_y - current_y
if distancey < -180:
distancey += 360
elif distancey > 180:
distancey -= 360
if distancey < 0.0:
distancey = -distancey
return distancex, distancey
def calcangle(self, localpos1, localpos2, localpos3, enemypos1, enemypos2, enemypos3):
try:
delta_x = localpos1 - enemypos1
delta_y = localpos2 - enemypos2
delta_z = localpos3 - enemypos3
hyp = sqrt(delta_x * delta_x + delta_y * delta_y + delta_z * delta_z)
x = atan(delta_z / hyp) * 180 / pi
y = atan(delta_y / delta_x) * 180 / pi
if delta_x >= 0.0:
y += 180.0
return x, y
except Exception as e:
print(e)
pass