velocity tag, clantag, chatbreaker fix
master
sagirilover 5 years ago
parent 347621b858
commit 248f8d68ca
  1. 30
      .gitignore
  2. 1336
      AnimeSoftware/AnimeForm.Designer.cs
  3. 1221
      AnimeSoftware/AnimeForm.cs
  4. 280
      AnimeSoftware/AnimeForm.resx
  5. 250
      AnimeSoftware/AnimeSoftware.csproj
  6. 175
      AnimeSoftware/App.config
  7. 119
      AnimeSoftware/Checks.cs
  8. 264
      AnimeSoftware/Hacks/Aimbot.cs
  9. 140
      AnimeSoftware/Hacks/BHop.cs
  10. 234
      AnimeSoftware/Hacks/BlockBot.cs
  11. 59
      AnimeSoftware/Hacks/ChatSpammer.cs
  12. 138
      AnimeSoftware/Hacks/ClanTag.cs
  13. 82
      AnimeSoftware/Hacks/ConVarManager.cs
  14. 74
      AnimeSoftware/Hacks/DoorSpam.cs
  15. 185
      AnimeSoftware/Hacks/NameStealer.cs
  16. 92
      AnimeSoftware/Hacks/PerfectNade.cs
  17. 142
      AnimeSoftware/Hacks/RunboostBot.cs
  18. 105
      AnimeSoftware/Hacks/Visuals.cs
  19. 94
      AnimeSoftware/Hacks/WeaponSpammer.cs
  20. 134
      AnimeSoftware/Injections/ConVar.cs
  21. 26
      AnimeSoftware/Injections/CreateThread.cs
  22. 158
      AnimeSoftware/Injections/DllImport.cs
  23. 522
      AnimeSoftware/Memory.cs
  24. 70
      AnimeSoftware/Objects/ClientCMD.cs
  25. 390
      AnimeSoftware/Objects/Entity.cs
  26. 495
      AnimeSoftware/Objects/LocalPlayer.cs
  27. 86
      AnimeSoftware/Offsets/Offsets.cs
  28. 53
      AnimeSoftware/Offsets/ScannedOffsets.cs
  29. 544
      AnimeSoftware/Properties/Settings.Designer.cs
  30. 133
      AnimeSoftware/Properties/Settings.settings
  31. 577
      AnimeSoftware/Structs.cs
  32. 0
      AnimeSoftware/obj/Debug/AnimeSoftware.csproj.CopyComplete
  33. 0
      AnimeSoftware/obj/Release/AnimeSoftware.csproj.CopyComplete
  34. 0
      AnimeSoftware/obj/Release/build.force

30
.gitignore vendored

@ -1,14 +1,16 @@
.vs/AnimeSoftware/v16/ .vs/AnimeSoftware/v16/
AnimeSoftware/bin/Debug/ AnimeSoftware/bin/Debug/
*.resources *.resources
*.txt *.txt
*.cache *.cache
*.exe *.exe
*.pdb *.pdb
AnimeSoftware/bin/Release/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,147 +1,135 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="idColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="idColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="nameColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="nameColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="aliveColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="aliveColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="glowColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="glowColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="idColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="nickBoxContextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>True</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="nameColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="aliveColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="glowColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="nickBoxContextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root> </root>

@ -1,125 +1,127 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{617F8F5F-8917-4843-AAB3-66DA09EB7DB7}</ProjectGuid> <ProjectGuid>{617F8F5F-8917-4843-AAB3-66DA09EB7DB7}</ProjectGuid>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<RootNamespace>AnimeSoftware</RootNamespace> <RootNamespace>AnimeSoftware</RootNamespace>
<AssemblyName>AnimeSoftware</AssemblyName> <AssemblyName>AnimeSoftware</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath> <OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath> <OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<StartupObject /> <StartupObject />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Deployment" /> <Reference Include="System.Deployment" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="AlphaColorDialog.cs"> <Compile Include="AlphaColorDialog.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="AlphaColorPanel.cs"> <Compile Include="AlphaColorPanel.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Checks.cs" /> <Compile Include="Checks.cs" />
<Compile Include="Hacks\ChatSpammer.cs" /> <Compile Include="Hacks\ChatSpammer.cs" />
<Compile Include="Hacks\ConVarManager.cs" /> <Compile Include="Hacks\ClanTag.cs" />
<Compile Include="Hacks\PerfectNade.cs" /> <Compile Include="Hacks\ConVarManager.cs" />
<Compile Include="Hacks\Visuals.cs" /> <Compile Include="Hacks\PerfectNade.cs" />
<Compile Include="Hacks\NameStealer.cs" /> <Compile Include="Hacks\Visuals.cs" />
<Compile Include="Hacks\RunboostBot.cs" /> <Compile Include="Hacks\NameStealer.cs" />
<Compile Include="Hacks\WeaponSpammer.cs" /> <Compile Include="Hacks\RunboostBot.cs" />
<Compile Include="Hotkey.cs" /> <Compile Include="Hacks\WeaponSpammer.cs" />
<Compile Include="Objects\ConVar.cs" /> <Compile Include="Hotkey.cs" />
<Compile Include="Hacks\Aimbot.cs" /> <Compile Include="Injections\CreateThread.cs" />
<Compile Include="Hacks\BHop.cs" /> <Compile Include="Injections\ConVar.cs" />
<Compile Include="Hacks\BlockBot.cs" /> <Compile Include="Hacks\Aimbot.cs" />
<Compile Include="Injections\ClientCMD.cs" /> <Compile Include="Hacks\BHop.cs" />
<Compile Include="Injections\DllImport.cs" /> <Compile Include="Hacks\BlockBot.cs" />
<Compile Include="Hacks\DoorSpam.cs" /> <Compile Include="Objects\ClientCMD.cs" />
<Compile Include="Objects\Entity.cs" /> <Compile Include="Injections\DllImport.cs" />
<Compile Include="AnimeForm.cs"> <Compile Include="Hacks\DoorSpam.cs" />
<SubType>Form</SubType> <Compile Include="Objects\Entity.cs" />
</Compile> <Compile Include="AnimeForm.cs">
<Compile Include="AnimeForm.Designer.cs"> <SubType>Form</SubType>
<DependentUpon>AnimeForm.cs</DependentUpon> </Compile>
</Compile> <Compile Include="AnimeForm.Designer.cs">
<Compile Include="Objects\LocalPlayer.cs" /> <DependentUpon>AnimeForm.cs</DependentUpon>
<Compile Include="Math.cs" /> </Compile>
<Compile Include="Memory.cs" /> <Compile Include="Objects\LocalPlayer.cs" />
<Compile Include="Offsets\Offsets.cs" /> <Compile Include="Math.cs" />
<Compile Include="Program.cs" /> <Compile Include="Memory.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Offsets\Offsets.cs" />
<Compile Include="Properties\Hotkey.Designer.cs"> <Compile Include="Program.cs" />
<AutoGen>True</AutoGen> <Compile Include="Properties\AssemblyInfo.cs" />
<DesignTimeSharedInput>True</DesignTimeSharedInput> <Compile Include="Properties\Hotkey.Designer.cs">
<DependentUpon>Hotkey.settings</DependentUpon> <AutoGen>True</AutoGen>
</Compile> <DesignTimeSharedInput>True</DesignTimeSharedInput>
<Compile Include="Offsets\ScannedOffsets.cs" /> <DependentUpon>Hotkey.settings</DependentUpon>
<Compile Include="Structs.cs" /> </Compile>
<EmbeddedResource Include="AnimeForm.resx"> <Compile Include="Offsets\ScannedOffsets.cs" />
<DependentUpon>AnimeForm.cs</DependentUpon> <Compile Include="Structs.cs" />
</EmbeddedResource> <EmbeddedResource Include="AnimeForm.resx">
<EmbeddedResource Include="Properties\Resources.resx"> <DependentUpon>AnimeForm.cs</DependentUpon>
<Generator>ResXFileCodeGenerator</Generator> </EmbeddedResource>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <EmbeddedResource Include="Properties\Resources.resx">
<SubType>Designer</SubType> <Generator>ResXFileCodeGenerator</Generator>
</EmbeddedResource> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
<Compile Include="Properties\Resources.Designer.cs"> <SubType>Designer</SubType>
<AutoGen>True</AutoGen> </EmbeddedResource>
<DependentUpon>Resources.resx</DependentUpon> <Compile Include="Properties\Resources.Designer.cs">
</Compile> <AutoGen>True</AutoGen>
<None Include="Properties\Hotkey.settings"> <DependentUpon>Resources.resx</DependentUpon>
<Generator>SettingsSingleFileGenerator</Generator> </Compile>
<LastGenOutput>Hotkey.Designer.cs</LastGenOutput> <None Include="Properties\Hotkey.settings">
</None> <Generator>SettingsSingleFileGenerator</Generator>
<None Include="Properties\Settings.settings"> <LastGenOutput>Hotkey.Designer.cs</LastGenOutput>
<Generator>SettingsSingleFileGenerator</Generator> </None>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <None Include="Properties\Settings.settings">
</None> <Generator>SettingsSingleFileGenerator</Generator>
<Compile Include="Properties\Settings.Designer.cs"> <LastGenOutput>Settings.Designer.cs</LastGenOutput>
<AutoGen>True</AutoGen> </None>
<DependentUpon>Settings.settings</DependentUpon> <Compile Include="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput> <AutoGen>True</AutoGen>
</Compile> <DependentUpon>Settings.settings</DependentUpon>
</ItemGroup> <DesignTimeSharedInput>True</DesignTimeSharedInput>
<ItemGroup> </Compile>
<None Include="App.config" /> </ItemGroup>
</ItemGroup> <ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

@ -1,84 +1,93 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<configuration> <configuration>
<configSections> <configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="AnimeSoftware.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> <section name="AnimeSoftware.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<section name="AnimeSoftware.Properties.Hotkey" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> <section name="AnimeSoftware.Properties.Hotkey" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup> </sectionGroup>
</configSections> </configSections>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup> </startup>
<userSettings> <userSettings>
<AnimeSoftware.Properties.Settings> <AnimeSoftware.Properties.Settings>
<setting name="bhop" serializeAs="String"> <setting name="bhop" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="doorspammer" serializeAs="String"> <setting name="doorspammer" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="blockbot" serializeAs="String"> <setting name="blockbot" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="namestealer" serializeAs="String"> <setting name="namestealer" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="runboostbot" serializeAs="String"> <setting name="runboostbot" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="autostrafe" serializeAs="String"> <setting name="autostrafe" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="weaponspammer" serializeAs="String"> <setting name="weaponspammer" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="friendlyfire" serializeAs="String"> <setting name="friendlyfire" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="aimbot" serializeAs="String"> <setting name="aimbot" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="fov" serializeAs="String"> <setting name="fov" serializeAs="String">
<value>1</value> <value>1</value>
</setting> </setting>
<setting name="boneid" serializeAs="String"> <setting name="boneid" serializeAs="String">
<value>0</value> <value>0</value>
</setting> </setting>
<setting name="smooth" serializeAs="String"> <setting name="smooth" serializeAs="String">
<value>1</value> <value>1</value>
</setting> </setting>
<setting name="rsc" serializeAs="String"> <setting name="rsc" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="unlock" serializeAs="String"> <setting name="unlock" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="fakefriendlyfire" serializeAs="String"> <setting name="fakefriendlyfire" serializeAs="String">
<value>True</value> <value>True</value>
</setting> </setting>
<setting name="debug" serializeAs="String"> <setting name="debug" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="perfectnade" serializeAs="String"> <setting name="perfectnade" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="chatcleaner" serializeAs="String"> <setting name="chatcleaner" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
<setting name="bhopChoke" serializeAs="String"> <setting name="bhopChoke" serializeAs="String">
<value>0</value> <value>0</value>
</setting> </setting>
</AnimeSoftware.Properties.Settings> <setting name="clanTag" serializeAs="String">
<AnimeSoftware.Properties.Hotkey> <value>False</value>
<setting name="blockbotKey" serializeAs="String"> </setting>
<value>18</value> <setting name="velTag" serializeAs="String">
</setting> <value>False</value>
<setting name="doorspammerKey" serializeAs="String"> </setting>
<value>20</value> <setting name="velName" serializeAs="String">
</setting> <value>False</value>
<setting name="runboostbotKey" serializeAs="String"> </setting>
<value>90</value> </AnimeSoftware.Properties.Settings>
</setting> <AnimeSoftware.Properties.Hotkey>
</AnimeSoftware.Properties.Hotkey> <setting name="blockbotKey" serializeAs="String">
</userSettings> <value>18</value>
</setting>
<setting name="doorspammerKey" serializeAs="String">
<value>20</value>
</setting>
<setting name="runboostbotKey" serializeAs="String">
<value>90</value>
</setting>
</AnimeSoftware.Properties.Hotkey>
</userSettings>
</configuration> </configuration>

@ -1,59 +1,60 @@
using System; using AnimeSoftware.Objects;
using System.Collections.Generic; using System;
using System.Linq; using System.Collections.Generic;
using System.Net; using System.Linq;
using System.Text; using System.Net;
using System.Threading; using System.Text;
using System.Threading.Tasks; using System.Threading;
using System.Windows.Forms; using System.Threading.Tasks;
using System.Windows.Forms;
namespace AnimeSoftware
{ namespace AnimeSoftware
class Checks {
{ class Checks
public static bool Update = false; {
public static void Start() public static bool Update = false;
{ public static void Start()
while (true) {
{ while (true)
if (!LocalPlayer.InGame) {
Update = false; if (!LocalPlayer.InGame)
Update = false;
if (LocalPlayer.InGame && !Update)
{ if (LocalPlayer.InGame && !Update)
PreLoad(); {
} PreLoad();
Thread.Sleep(1000); }
} Thread.Sleep(1000);
} }
}
public static void PreLoad()
{ public static void PreLoad()
if (!LocalPlayer.InGame) {
return; if (!LocalPlayer.InGame)
return;
Update = true;
LocalPlayer.GetIndex(); Update = true;
LocalPlayer.Name = LocalPlayer.GetName2; LocalPlayer.GetIndex();
} LocalPlayer.Name = LocalPlayer.GetName2;
}
public static void CheckVersion()
{ public static void CheckVersion()
string url = "https://raw.githubusercontent.com/sagirilover/AnimeSoftware/master/version"; // only for fix critical bugs {
using (WebClient client = new WebClient()) string url = "https://raw.githubusercontent.com/sagirilover/AnimeSoftware/master/version"; // only for fix critical bugs
{ using (WebClient client = new WebClient())
string s = client.DownloadString(url); {
if (version != s.Substring(0, 5)) string s = client.DownloadString(url);
{ if (version != s.Substring(0, 5))
DialogResult result = MessageBox.Show("New update: " + s + "\nRedirect to github?", "New version.", MessageBoxButtons.YesNo); {
if(result==DialogResult.Yes) DialogResult result = MessageBox.Show("New update: " + s + "\nRedirect to github?", "New version.", MessageBoxButtons.YesNo);
System.Diagnostics.Process.Start("https://github.com/sagirilover/AnimeSoftware"); if(result==DialogResult.Yes)
} System.Diagnostics.Process.Start("https://github.com/sagirilover/AnimeSoftware");
}
}
} }
}
public static string version = "v2.40";
public static string version = "v2.60";
}
} }
}

@ -1,131 +1,133 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Drawing; using System.Drawing;
using System.Threading; using System.Threading;
using AnimeSoftware.Injections;
namespace AnimeSoftware using AnimeSoftware.Objects;
{
class Aimbot namespace AnimeSoftware.Hacks
{ {
public static Vector3 oldPunchAngle = new Vector3(); class Aimbot
public static void Start() {
{ public static Vector3 oldPunchAngle = new Vector3();
while (Properties.Settings.Default.aimbot) public static void Start()
{ {
Thread.Sleep(1); while (Properties.Settings.Default.aimbot)
{
if (!LocalPlayer.InGame) Thread.Sleep(1);
continue;
if (LocalPlayer.Health <= 0) if (!LocalPlayer.InGame)
continue; continue;
if (LocalPlayer.Dormant) if (LocalPlayer.Health <= 0)
continue; continue;
if (!((DllImport.GetAsyncKeyState(0x01) & 0x8000) != 0)) if (LocalPlayer.Dormant)
continue; continue;
if (!((DllImport.GetAsyncKeyState(0x01) & 0x8000) != 0))
Entity target = BestFOV(Properties.Settings.Default.fov, Properties.Settings.Default.boneid); continue;
if (target.Index == -1) Entity target = BestFOV(Properties.Settings.Default.fov, Properties.Settings.Default.boneid);
continue;
if (target.Index == -1)
LocalPlayer.ViewAngle = NormalizedAngle(Smooth(LocalPlayer.ViewAngle,RSC(CalcAngle(LocalPlayer.ViewPosition, target.BonePosition(Properties.Settings.Default.boneid))))); continue;
LocalPlayer.ViewAngle = NormalizedAngle(Smooth(LocalPlayer.ViewAngle,RSC(CalcAngle(LocalPlayer.ViewPosition, target.BonePosition(Properties.Settings.Default.boneid)))));
}
}
public static Vector3 CalcAngle(Vector3 src, Vector3 dst) }
{ }
Vector3 angles = new Vector3 { x = 0, y = 0, z = 0 }; public static Vector3 CalcAngle(Vector3 src, Vector3 dst)
double[] delta = { (src.x - dst.x), (src.y - dst.y), (src.z - dst.z) }; {
float hyp = (float)Math.Sqrt(delta[0] * delta[0] + delta[1] * delta[1] + delta[2] * delta[2]); Vector3 angles = new Vector3 { x = 0, y = 0, z = 0 };
angles.x = (float)(Math.Atan(delta[2] / hyp) * 180.0f / Math.PI); double[] delta = { (src.x - dst.x), (src.y - dst.y), (src.z - dst.z) };
angles.y = (float)(Math.Atan(delta[1] / delta[0]) * 180.0f / Math.PI); float hyp = (float)Math.Sqrt(delta[0] * delta[0] + delta[1] * delta[1] + delta[2] * delta[2]);
if (delta[0] >= 0.0f) angles.x = (float)(Math.Atan(delta[2] / hyp) * 180.0f / Math.PI);
{ angles.y = (float)(Math.Atan(delta[1] / delta[0]) * 180.0f / Math.PI);
angles.y += 180.0f; if (delta[0] >= 0.0f)
} {
return angles; angles.y += 180.0f;
} }
public static Vector3 Smooth(Vector3 src, Vector3 dst) return angles;
{ }
Vector3 smoothed = dst - src; public static Vector3 Smooth(Vector3 src, Vector3 dst)
{
smoothed = src + smoothed/100*Properties.Settings.Default.smooth; Vector3 smoothed = dst - src;
return smoothed; smoothed = src + smoothed/100*Properties.Settings.Default.smooth;
}
public static Vector3 RSC(Vector3 src) return smoothed;
{ }
src -= LocalPlayer.PunchAngle * 2.0f; public static Vector3 RSC(Vector3 src)
oldPunchAngle = LocalPlayer.PunchAngle * 2.0f; {
return NormalizedAngle(src); src -= LocalPlayer.PunchAngle * 2.0f;
} oldPunchAngle = LocalPlayer.PunchAngle * 2.0f;
public static Entity BestDistance() return NormalizedAngle(src);
{ }
int Index=-1; public static Entity BestDistance()
float bestDistance = 999999f, tmpDistance; {
foreach(Entity x in Entity.List()) int Index=-1;
{ float bestDistance = 999999f, tmpDistance;
if (x.Health <= 0) foreach(Entity x in Entity.List())
continue; {
if ((tmpDistance = x.DistanceToPlayer) < bestDistance) if (x.Health <= 0)
{ continue;
bestDistance = tmpDistance; if ((tmpDistance = x.DistanceToPlayer) < bestDistance)
Index = x.Index; {
} bestDistance = tmpDistance;
} Index = x.Index;
return new Entity(Index); }
} }
return new Entity(Index);
public static Entity BestFOV(float FOV, int boneID = 6) }
{
int Index = -1; public static Entity BestFOV(float FOV, int boneID = 6)
float bestFOV = 180f, tmpFOV; {
foreach(Entity x in Entity.List()) int Index = -1;
{ float bestFOV = 180f, tmpFOV;
if (x.Health <= 0) foreach(Entity x in Entity.List())
continue; {
if (x.Dormant) if (x.Health <= 0)
continue; continue;
if (!Properties.Settings.Default.friendlyfire && x.isTeam) if (x.Dormant)
continue; continue;
if (!Properties.Settings.Default.friendlyfire && x.isTeam)
if ((tmpFOV = NormalizedAngle(LocalPlayer.ViewAngle - CalcAngle(LocalPlayer.ViewPosition, x.BonePosition(boneID))).Length) < FOV) continue;
{
if (tmpFOV < bestFOV) if ((tmpFOV = NormalizedAngle(LocalPlayer.ViewAngle - CalcAngle(LocalPlayer.ViewPosition, x.BonePosition(boneID))).Length) < FOV)
{ {
Index = x.Index; if (tmpFOV < bestFOV)
bestFOV = tmpFOV; {
} Index = x.Index;
} bestFOV = tmpFOV;
} }
return new Entity(Index); }
} }
return new Entity(Index);
public static Vector3 NormalizedAngle(Vector3 src) }
{
while (src.x > 89.0f) public static Vector3 NormalizedAngle(Vector3 src)
src.x -= 180.0f; {
while (src.x > 89.0f)
while (src.x < -89.0f) src.x -= 180.0f;
src.x += 180.0f;
while (src.x < -89.0f)
while (src.y > 180.0f) src.x += 180.0f;
src.y -= 360.0f;
while (src.y > 180.0f)
while (src.y < -180.0f) src.y -= 360.0f;
src.y += 360.0f;
while (src.y < -180.0f)
if (src.y < -180.0f || src.y > 180.0f) src.y += 360.0f;
src.y = 0.0f;
if (src.y < -180.0f || src.y > 180.0f)
if (src.x < -89.0f || src.x > 89.0f) src.y = 0.0f;
src.x = 0.0f;
if (src.x < -89.0f || src.x > 89.0f)
return src; src.x = 0.0f;
}
} return src;
} }
}
}

@ -1,69 +1,71 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper; using AnimeSoftware.Injections;
using AnimeSoftware.Objects;
namespace AnimeSoftware using hazedumper;
{
class BHop namespace AnimeSoftware.Hacks
{ {
public static bool strafe = false; class BHop
private static Random rnd = new Random(); {
public static void Start() public static bool strafe = false;
{ private static Random rnd = new Random();
while (true) public static void Start()
{ {
Thread.Sleep(1); while (true)
{
if (!Properties.Settings.Default.bhop) Thread.Sleep(1);
continue;
if (!LocalPlayer.InGame) if (!Properties.Settings.Default.bhop)
continue; continue;
if (LocalPlayer.Health <= 0) if (!LocalPlayer.InGame)
continue; continue;
if (LocalPlayer.Speed <= 0) if (LocalPlayer.Health <= 0)
continue; continue;
if (LocalPlayer.Speed <= 0)
Vector3 oldAngle = LocalPlayer.ViewAngle; continue;
while ((DllImport.GetAsyncKeyState(0x20) & 0x8000) != 0) Vector3 oldAngle = LocalPlayer.ViewAngle;
{
Thread.Sleep(1); while ((DllImport.GetAsyncKeyState(0x20) & 0x8000) != 0)
{
if (Properties.Settings.Default.autostrafe) Thread.Sleep(1);
{
strafe = true; if (Properties.Settings.Default.autostrafe)
Vector3 cuurentAngle = LocalPlayer.ViewAngle; {
if (cuurentAngle.y > oldAngle.y) strafe = true;
{ Vector3 cuurentAngle = LocalPlayer.ViewAngle;
LocalPlayer.MoveLeft(); if (cuurentAngle.y > oldAngle.y)
} {
else if (cuurentAngle.y < oldAngle.y) LocalPlayer.MoveLeft();
{ }
LocalPlayer.MoveRight(); else if (cuurentAngle.y < oldAngle.y)
} {
} LocalPlayer.MoveRight();
}
if (LocalPlayer.Flags == 257 || LocalPlayer.Flags == 263) }
{
if (rnd.Next(100) < Properties.Settings.Default.bhopChoke) if (LocalPlayer.Flags == 257 || LocalPlayer.Flags == 263)
Thread.Sleep(20); {
LocalPlayer.Jump(); if (rnd.Next(100) < Properties.Settings.Default.bhopChoke)
Thread.Sleep(20);
} LocalPlayer.Jump();
oldAngle = LocalPlayer.ViewAngle;
} }
if (strafe) oldAngle = LocalPlayer.ViewAngle;
{ }
LocalPlayer.MoveClearY(); if (strafe)
strafe = false; {
} LocalPlayer.MoveClearY();
strafe = false;
}
}
}
} }
} }
}
}

@ -1,116 +1,118 @@
using System; using System;
using hazedumper; using hazedumper;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Threading; using System.Threading;
using AnimeSoftware.Objects;
namespace AnimeSoftware using AnimeSoftware.Injections;
{
class BlockBot namespace AnimeSoftware.Hacks
{ {
public static bool blocking = false; class BlockBot
public static bool bb = false; {
public static bool hb = false; public static bool blocking = false;
public static void Start() public static bool bb = false;
{ public static bool hb = false;
while (true) public static void Start()
{ {
Thread.Sleep(1); while (true)
{
if (!Properties.Settings.Default.blockbot) Thread.Sleep(1);
continue;
if (!Properties.Settings.Default.blockbot)
if (!LocalPlayer.InGame) continue;
continue;
if (!LocalPlayer.InGame)
if (LocalPlayer.Health <= 0) continue;
continue;
if (LocalPlayer.Health <= 0)
Entity target = null; continue;
while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.blockbotKey) & 0x8000) != 0) Entity target = null;
{
Thread.Sleep(1); while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.blockbotKey) & 0x8000) != 0)
if (target == null) {
{ Thread.Sleep(1);
target = Aimbot.BestDistance(); if (target == null)
} {
target = Aimbot.BestDistance();
blocking = true; }
float speed = target.Speed;
if ((LocalPlayer.Position - target.BonePosition(8)).Length < 30) blocking = true;
{ float speed = target.Speed;
if (LocalPlayer.Flags == 256) if ((LocalPlayer.Position - target.BonePosition(8)).Length < 30)
continue; {
if (LocalPlayer.Flags == 256)
if (bb) continue;
{
LocalPlayer.MoveClearY(); if (bb)
bb = false; {
} LocalPlayer.MoveClearY();
bb = false;
hb = true; }
if (target.Speed == 0 && (LocalPlayer.Position - target.ViewPosition).Length < 10) hb = true;
{
LocalPlayer.MoveClearX(); if (target.Speed == 0 && (LocalPlayer.Position - target.ViewPosition).Length < 10)
continue; {
} LocalPlayer.MoveClearX();
continue;
LocalPlayer.ViewAngleY = Aimbot.NormalizedAngle(Aimbot.CalcAngle(LocalPlayer.ViewPosition, target.Position)).y; }
LocalPlayer.MoveForward(); LocalPlayer.ViewAngleY = Aimbot.NormalizedAngle(Aimbot.CalcAngle(LocalPlayer.ViewPosition, target.Position)).y;
} LocalPlayer.MoveForward();
else
{ }
bb = true; else
Vector3 angle = Aimbot.CalcAngle(LocalPlayer.ViewPosition, target.Position); {
angle.y -= LocalPlayer.ViewAngle.y; bb = true;
angle = Aimbot.NormalizedAngle(angle); Vector3 angle = Aimbot.CalcAngle(LocalPlayer.ViewPosition, target.Position);
angle.y -= LocalPlayer.ViewAngle.y;
angle = Aimbot.NormalizedAngle(angle);
if (speed > 1 || Math.Abs(angle.y) > 1)
{
if (angle.y < 0.0f) if (speed > 1 || Math.Abs(angle.y) > 1)
{ {
LocalPlayer.MoveRight(); if (angle.y < 0.0f)
{
} LocalPlayer.MoveRight();
else if (angle.y > 0.0f) }
{
LocalPlayer.MoveLeft(); else if (angle.y > 0.0f)
} {
} LocalPlayer.MoveLeft();
else }
{ }
LocalPlayer.MoveClearY(); else
} {
} LocalPlayer.MoveClearY();
}
}
}
if (blocking || hb || bb)
{ }
if (hb) if (blocking || hb || bb)
{ {
LocalPlayer.MoveClearX(); if (hb)
hb = false; {
} LocalPlayer.MoveClearX();
Thread.Sleep(1); hb = false;
if (bb) }
{ Thread.Sleep(1);
LocalPlayer.MoveClearY(); if (bb)
bb = false; {
} LocalPlayer.MoveClearY();
blocking = false; bb = false;
} }
blocking = false;
}
}
}
} }
} }
}
}

@ -1,35 +1,24 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using AnimeSoftware.Injections;
namespace AnimeSoftware using AnimeSoftware.Objects;
{
class ChatSpammer namespace AnimeSoftware.Hacks
{ {
public static void ChatCleaner() class ChatSpammer
{ {
while (Properties.Settings.Default.chatcleaner) public static void ChatCleaner()
{ {
Thread.Sleep(100); while (Properties.Settings.Default.chatcleaner)
{
//sagirilover.ml - best minecraft hvh hacks Thread.Sleep(100);
ClientCMD.Exec("say \"﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽\"");
Thread.Sleep(100); ClientCMD.Exec("say \"﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽\"");
ClientCMD.Exec("say \"https://discord.gg/y7BysE\""); }
Thread.Sleep(100); }
ClientCMD.Exec("say \"sagirilover.ml - best minecraft hvh hacks\""); }
Thread.Sleep(100); }
ClientCMD.Exec("say \"https://vk.com/14bratik88 - best loli btw\"");
Thread.Sleep(100);
ClientCMD.Exec("say \"https://vk.com/minecrafthvh - best minecraft hvh hacks\"");
Thread.Sleep(100);
ClientCMD.Exec("say \"14sagirilover88#6557 - best loli btw\"");
}
}
}
}

@ -0,0 +1,138 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using AnimeSoftware.Injections;
using AnimeSoftware.Objects;
using hazedumper;
namespace AnimeSoftware.Hacks
{
public static class ClanTag
{
public static byte[] Shellcode = {
0xB9,0x00,0x00,0x00,0x00,
0xBA,0x00,0x00,0x00,0x00,
0xB8,0x00,0x00,0x00,0x00,
0xFF,0xD0,
0xC3,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
public static int Size = Shellcode.Length;
public static IntPtr Address;
private static Random rnd = new Random();
private static string RandomGlitch(int length)
{
string source = "#$!@%?^&*8649/\\";
string result = "";
Random rnd = new Random();
for (int i = 0; i < length; i++)
{
result += source[rnd.Next(0, source.Length)];
}
return result;
}
public static void Default()
{
while (Properties.Settings.Default.clanTag)
{
string clear = new string(' ', 15);
string clantag = "animesoftware ";
string safetag = clear;
int delay = 250;
for (int i = 0; i <= clantag.Length; i++)
{
safetag = clear.Remove(0, i).Insert(0, clantag.Substring(0, i));
ClanTag.Set(safetag);
Thread.Sleep(delay);
}
Thread.Sleep(delay*2);
safetag = RandomGlitch(13);
ClanTag.Set(safetag);
Thread.Sleep(delay);
safetag = RandomGlitch(12);
ClanTag.Set(safetag);
Thread.Sleep(delay);
safetag = RandomGlitch(11);
ClanTag.Set(safetag);
Thread.Sleep(delay);
safetag = RandomGlitch(10);
ClanTag.Set(safetag);
Thread.Sleep(delay);
safetag = "sagirihook ";
ClanTag.Set(safetag);
Thread.Sleep(delay*2);
for (int i = 0; i <= clantag.Length; i++)
{
safetag = safetag.Remove(safetag.Length - 1, 1).Insert(0, clear.Substring(0, 1));
ClanTag.Set(safetag);
Thread.Sleep(delay);
}
}
ClanTag.Set(" ");
}
public static void VelTag()
{
int old = 0;
bool changed = false;
while (Properties.Settings.Default.velTag)
{
Thread.Sleep(50);
if (LocalPlayer.IsDead)
{
Set("velocity " + 0);
continue;
}
int vel = (int)Math.Floor(LocalPlayer.Speed);
Set("velocity " + vel.ToString());
if (vel > old)
{
old = vel;
changed = true;
}
if (vel == 0 && changed && Properties.Settings.Default.velName)
{
ConVarManager.ChangeName("max " + old.ToString());
changed = false;
old = 0;
}
}
ClanTag.Set(" ");
}
public static void Set(string tag)
{
if (Address == IntPtr.Zero)
{
Allocator alloc = new Allocator();
Address = alloc.Alloc(Size);
alloc.Free();
if (Address == IntPtr.Zero)
return;
Buffer.BlockCopy(BitConverter.GetBytes((int)(Address + 18)), 0, Shellcode, 1, 4);
Buffer.BlockCopy(BitConverter.GetBytes((int)(Address + 18)), 0, Shellcode, 6, 4);
Buffer.BlockCopy(BitConverter.GetBytes(Memory.Engine + signatures.dwSetClanTag), 0, Shellcode, 11, 4);
}
if (!LocalPlayer.InGame) return;
byte[] tag_bytes = Encoding.UTF8.GetBytes(tag + "\0");
byte[] reset = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
Buffer.BlockCopy(reset, 0, Shellcode, 18, reset.Length);
Buffer.BlockCopy(tag_bytes, 0, Shellcode, 18, tag.Length > 15 ? 15 : tag.Length);
CreateThread.Create(Address, Shellcode);
}
}
}

@ -1,40 +1,42 @@
using System; using AnimeSoftware.Injections;
using System.Collections.Generic; using AnimeSoftware.Objects;
using System.Linq; using System;
using System.Text; using System.Collections.Generic;
using System.Threading.Tasks; using System.Linq;
using System.Text;
namespace AnimeSoftware using System.Threading.Tasks;
{
class ConVarManager namespace AnimeSoftware.Hacks
{ {
public static void ChangeName(string name) class ConVarManager
{ {
ConVar nick = new ConVar("name"); public static void ChangeName(string name)
nick.ClearCallbacks(); {
ClientCMD.Exec("name \"" + name + "\""); ConVar nick = new ConVar("name");
nick.ClearCallbacks();
} ClientCMD.Exec("name \"" + name + "\"");
public static void StealName(int id)
{ }
ConVar nick = new ConVar("name"); public static void StealName(int id)
nick.ClearCallbacks(); {
ClientCMD.Exec("name \" " + new Entity(id).Name2 + " \""); ConVar nick = new ConVar("name");
nick.ClearCallbacks();
} ClientCMD.Exec("name \" " + new Entity(id).Name2 + " \"");
public static void VoteKick(int id) }
{
//ConVar vote = new ConVar("vote"); public static void VoteKick(int id)
//vote.ClearCallbacks(); {
ClientCMD.Exec("callvote kick " + id); //ConVar vote = new ConVar("vote");
//vote.ClearCallbacks();
} ClientCMD.Exec("callvote kick " + id);
public static void InstantChange()
{ }
ConVar nick = new ConVar("name"); public static void InstantChange()
nick.ClearCallbacks(); {
ClientCMD.Exec("name \"\n\xAD\xAD\xAD\""); ConVar nick = new ConVar("name");
} nick.ClearCallbacks();
} ClientCMD.Exec("name \"\n\xAD\xAD\xAD\"");
} }
}
}

@ -1,36 +1,38 @@
using System; using AnimeSoftware.Injections;
using System.Collections.Generic; using AnimeSoftware.Objects;
using System.Linq; using System;
using System.Text; using System.Collections.Generic;
using System.Threading; using System.Linq;
using System.Threading.Tasks; using System.Text;
using System.Threading;
namespace AnimeSoftware using System.Threading.Tasks;
{
class DoorSpam namespace AnimeSoftware.Hacks
{ {
public static void Start() class DoorSpam
{ {
while (true) public static void Start()
{ {
Thread.Sleep(50); while (true)
{
if (!Properties.Settings.Default.doorspammer) Thread.Sleep(50);
continue;
if (!LocalPlayer.InGame) if (!Properties.Settings.Default.doorspammer)
continue; continue;
if (LocalPlayer.Health <= 0) if (!LocalPlayer.InGame)
continue; continue;
if (LocalPlayer.Health <= 0)
while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.doorspammerKey) & 0x8000) != 0) continue;
{
ClientCMD.Exec("+use"); // I did not add this to LocalPlayer to avoid delay. But i dont try, maybe this will not happen lol while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.doorspammerKey) & 0x8000) != 0)
Thread.Sleep(15); {
ClientCMD.Exec("-use"); ClientCMD.Exec("+use"); // I did not add this to LocalPlayer to avoid delay. But i dont try, maybe this will not happen lol
Thread.Sleep(15); Thread.Sleep(15);
} ClientCMD.Exec("-use");
Thread.Sleep(15);
} }
}
} }
} }
}
}

@ -1,92 +1,93 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper; using AnimeSoftware.Objects;
using hazedumper;
namespace AnimeSoftware
{ namespace AnimeSoftware.Hacks
class NameStealer {
{ class NameStealer
public static int fakenametargetid = -1; {
public static bool faked = false; public static int fakenametargetid = -1;
public static void Start() public static bool faked = false;
{ public static void Start()
while (true) {
{ while (true)
Thread.Sleep(1); {
Thread.Sleep(1);
if (!LocalPlayer.InGame)
return; if (!LocalPlayer.InGame)
return;
if (Properties.Settings.Default.fakefriendlyfire && fakenametargetid != -1)
{ if (Properties.Settings.Default.fakefriendlyfire && fakenametargetid != -1)
{
if (LocalPlayer.CrossHair < 64 && LocalPlayer.CrossHair > 0)
{ if (LocalPlayer.CrossHair < 64 && LocalPlayer.CrossHair > 0)
if (new Entity(LocalPlayer.CrossHair).isTeam) {
{ if (new Entity(LocalPlayer.CrossHair).isTeam)
if (LocalPlayer.Name != " " + new Entity(fakenametargetid).Name2 + " " && LocalPlayer.Name != new Entity(fakenametargetid).Name2 && !faked) {
{ if (LocalPlayer.Name != " " + new Entity(fakenametargetid).Name2 + " " && LocalPlayer.Name != new Entity(fakenametargetid).Name2 && !faked)
ConVarManager.StealName(fakenametargetid); {
faked = true; ConVarManager.StealName(fakenametargetid);
} faked = true;
}
}
}
}
else }
{ else
if (faked) {
{ if (faked)
ConVarManager.ChangeName(LocalPlayer.Name); {
faked = false; ConVarManager.ChangeName(LocalPlayer.Name);
} faked = false;
}
}
} }
}
if (Properties.Settings.Default.namestealer)
{ if (Properties.Settings.Default.namestealer)
foreach (Entity x in Entity.List()) {
{ foreach (Entity x in Entity.List())
if (!Properties.Settings.Default.namestealer) {
break; if (!Properties.Settings.Default.namestealer)
ConVarManager.StealName(x.Index); break;
Thread.Sleep(250); ConVarManager.StealName(x.Index);
} Thread.Sleep(250);
} }
}
}
} }
}
public static void ChangeName() // pasted from real gamer. another method to change
{ public static void ChangeName() // pasted from real gamer. another method to change
string name = "\n\xAD\xAD\xAD"; {
byte len = (byte)name.Length; string name = "\n\xAD\xAD\xAD";
byte[] a = { 0x6, (byte)(0x8 + len), 0xA, (byte)(0x6 + len), 0xA, (byte)(0x4 + len), 0x12, len }; // prepend needed bytes byte len = (byte)name.Length;
byte[] b = Encoding.ASCII.GetBytes(name); byte[] a = { 0x6, (byte)(0x8 + len), 0xA, (byte)(0x6 + len), 0xA, (byte)(0x4 + len), 0x12, len }; // prepend needed bytes
byte[] c = { 0x18, 0x6 }; // add suffix byte[] b = Encoding.ASCII.GetBytes(name);
var final = new byte[a.Length + b.Length + c.Length]; // combine that shit boyo byte[] c = { 0x18, 0x6 }; // add suffix
var final = new byte[a.Length + b.Length + c.Length]; // combine that shit boyo
// combine em like a real gamer
a.CopyTo(final, 0); // combine em like a real gamer
b.CopyTo(final, a.Length); a.CopyTo(final, 0);
c.CopyTo(final, a.Length + b.Length); b.CopyTo(final, a.Length);
c.CopyTo(final, a.Length + b.Length);
int clientState = Memory.Read<int>(Memory.Engine + signatures.dwClientState);
int netChan = Memory.Read<int>(clientState + 0x9C); int clientState = Memory.Read<int>(Memory.Engine + signatures.dwClientState);
int voiceStream = Memory.Read<int>(netChan + 0x78); // voicestream is the biggest nigga stream int netChan = Memory.Read<int>(clientState + 0x9C);
int voiceStream = Memory.Read<int>(netChan + 0x78); // voicestream is the biggest nigga stream
uint tmp = 0;
int curbit = final.Length * 8; uint tmp = 0;
Memory.WriteProcessMemory(Memory.pHandle, (IntPtr)voiceStream, final, (IntPtr)final.Length, ref tmp); // write bytes to voicestream data int curbit = final.Length * 8;
Memory.WriteProcessMemory(Memory.pHandle, (IntPtr)netChan + 0x84, BitConverter.GetBytes(curbit), (IntPtr)4, ref tmp); // write curbit for voicestream Memory.WriteProcessMemory(Memory.pHandle, (IntPtr)voiceStream, final, (IntPtr)final.Length, ref tmp); // write bytes to voicestream data
} Memory.WriteProcessMemory(Memory.pHandle, (IntPtr)netChan + 0x84, BitConverter.GetBytes(curbit), (IntPtr)4, ref tmp); // write curbit for voicestream
}
}
}
}
}

@ -1,45 +1,47 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper; using AnimeSoftware.Injections;
using AnimeSoftware.Objects;
namespace AnimeSoftware using hazedumper;
{
class PerfectNade namespace AnimeSoftware.Hacks
{ {
public static void Start() class PerfectNade
{ {
while (true) public static void Start()
{ {
Thread.Sleep(10); while (true)
{
if (!Properties.Settings.Default.perfectnade) Thread.Sleep(10);
continue;
if (!LocalPlayer.InGame) if (!Properties.Settings.Default.perfectnade)
continue; continue;
if (LocalPlayer.Health <= 0) if (!LocalPlayer.InGame)
continue; continue;
if (LocalPlayer.ViewAngle.x != -89) if (LocalPlayer.Health <= 0)
continue; continue;
if (LocalPlayer.ActiveWeapon != 44) if (LocalPlayer.ViewAngle.x != -89)
continue; continue;
if (LocalPlayer.Speed != 0) if (LocalPlayer.ActiveWeapon != 44)
continue; continue;
if ((DllImport.GetAsyncKeyState(0x02) & 0x8000) != 0) if (LocalPlayer.Speed != 0)
{ continue;
Thread.Sleep(800); if ((DllImport.GetAsyncKeyState(0x02) & 0x8000) != 0)
if (!((DllImport.GetAsyncKeyState(0x02) & 0x8000) != 0)) {
continue; Thread.Sleep(800);
ClientCMD.Exec("+attack"); if (!((DllImport.GetAsyncKeyState(0x02) & 0x8000) != 0))
Thread.Sleep(80); continue;
ClientCMD.Exec("-attack2"); ClientCMD.Exec("+attack");
Thread.Sleep(1); Thread.Sleep(80);
ClientCMD.Exec("-attack"); ClientCMD.Exec("-attack2");
} Thread.Sleep(1);
} ClientCMD.Exec("-attack");
} }
} }
} }
}
}

@ -1,70 +1,72 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper; using AnimeSoftware.Injections;
using AnimeSoftware.Objects;
namespace AnimeSoftware using hazedumper;
{
class RunboostBot namespace AnimeSoftware.Hacks
{ {
public static bool boosting = false; class RunboostBot
public static void Start() //disabled {
{ public static bool boosting = false;
while (true) public static void Start() //disabled
{ {
Thread.Sleep(1); while (true)
{
if (!Properties.Settings.Default.runboostbot) Thread.Sleep(1);
continue;
if (!Properties.Settings.Default.runboostbot)
if (!LocalPlayer.InGame) continue;
continue;
if (!LocalPlayer.InGame)
if (LocalPlayer.Health <= 0) continue;
continue;
if (LocalPlayer.Health <= 0)
if (LocalPlayer.Dormant) continue;
continue;
if (LocalPlayer.Dormant)
Entity target = null; continue;
while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.runboostbotKey) & 0x8000) != 0) Entity target = null;
{
Thread.Sleep(1); while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.runboostbotKey) & 0x8000) != 0)
{
if (target == null) Thread.Sleep(1);
{
target = Aimbot.BestDistance(); if (target == null)
} {
target = Aimbot.BestDistance();
boosting = true; }
Vector3 position = target.Position; boosting = true;
if (target.Speed <= 0) Vector3 position = target.Position;
{
LocalPlayer.MoveClearX(); if (target.Speed <= 0)
} {
else LocalPlayer.MoveClearX();
{ }
LocalPlayer.ViewAngleY = Aimbot.NormalizedAngle(Aimbot.CalcAngle(LocalPlayer.ViewPosition, position)).y; else
{
LocalPlayer.MoveForward(); LocalPlayer.ViewAngleY = Aimbot.NormalizedAngle(Aimbot.CalcAngle(LocalPlayer.ViewPosition, position)).y;
}
LocalPlayer.MoveForward();
} }
if (boosting) }
{
LocalPlayer.MoveClearX(); if (boosting)
boosting = false; {
} LocalPlayer.MoveClearX();
boosting = false;
}
}
}
} }
} }
}
}

@ -1,52 +1,53 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper; using hazedumper;
using System.Drawing; using System.Drawing;
using System.Threading; using AnimeSoftware.Objects;
using System.Threading;
namespace AnimeSoftware
{ namespace AnimeSoftware.Hacks
class Visuals {
{ class Visuals
public static List<Entity> ToGlow = new List<Entity>(); {
public static void Start() public static List<Entity> ToGlow = new List<Entity>();
{ public static void Start()
try {
{ try
while (true) {
{ while (true)
SetGlow(); {
Thread.Sleep(1); SetGlow();
} Thread.Sleep(1);
} }
catch }
{ catch
Start(); {
} Start();
} }
}
public static void SetGlow()
{ public static void SetGlow()
try {
{ try
if (ToGlow.Count <= 0) {
return; if (ToGlow.Count <= 0)
} return;
catch (NullReferenceException) }
{ catch (NullReferenceException)
return; {
} return;
int GlowPtr = Memory.Read<int>(Memory.Client + signatures.dwGlowObjectManager); }
int GlowPtr = Memory.Read<int>(Memory.Client + signatures.dwGlowObjectManager);
foreach(Entity x in ToGlow)
{ foreach(Entity x in ToGlow)
Memory.Write<GlowColor>(GlowPtr + (x.GlowIndex * 0x38 + 0x4), x.glowColor); {
Memory.Write<GlowSettings>(GlowPtr + (x.GlowIndex * 0x38 + 0x24), x.glowSettings); Memory.Write<GlowColor>(GlowPtr + (x.GlowIndex * 0x38 + 0x4), x.glowColor);
} Memory.Write<GlowSettings>(GlowPtr + (x.GlowIndex * 0x38 + 0x24), x.glowSettings);
} }
} }
} }
}

@ -1,46 +1,48 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper; using AnimeSoftware.Injections;
using AnimeSoftware.Objects;
namespace AnimeSoftware using hazedumper;
{
class WeaponSpammer namespace AnimeSoftware.Hacks
{ {
public static void Start() class WeaponSpammer
{ {
while (Properties.Settings.Default.weaponspammer) public static void Start()
{ {
Thread.Sleep(10); while (Properties.Settings.Default.weaponspammer)
{
if (!LocalPlayer.InGame) Thread.Sleep(10);
continue;
if (!LocalPlayer.InGame)
if (LocalPlayer.Health <= 0) continue;
continue;
if (LocalPlayer.Health <= 0)
if (Structs.SpamWeaponList.Contains(LocalPlayer.ActiveWeapon)) continue;
{
if (LocalPlayer.ActiveWeapon == 64 || LocalPlayer.ActiveWeapon == 262208) if (Structs.SpamWeaponList.Contains(LocalPlayer.ActiveWeapon))
{ {
Memory.Write<int>(Memory.Client + signatures.dwForceAttack, 5); if (LocalPlayer.ActiveWeapon == 64 || LocalPlayer.ActiveWeapon == 262208)
Thread.Sleep(100); {
Memory.Write<int>(Memory.Client + signatures.dwForceAttack, 4); Memory.Write<int>(Memory.Client + signatures.dwForceAttack, 5);
Thread.Sleep(100); Thread.Sleep(100);
} Memory.Write<int>(Memory.Client + signatures.dwForceAttack, 4);
else Thread.Sleep(100);
{ }
ClientCMD.Exec("+attack2"); else
Thread.Sleep(10); {
ClientCMD.Exec("-attack2"); ClientCMD.Exec("+attack2");
} Thread.Sleep(10);
} ClientCMD.Exec("-attack2");
}
} }
ClientCMD.Exec("-attack2");
} }
} ClientCMD.Exec("-attack2");
} }
}
}

@ -1,67 +1,67 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper; using hazedumper;
namespace AnimeSoftware namespace AnimeSoftware.Injections
{ {
public class ConVar public class ConVar
{ {
public int pThis; public int pThis;
public ConVar(int Pointer) public ConVar(int Pointer)
{ {
pThis = Pointer; pThis = Pointer;
} }
public ConVar(string name) public ConVar(string name)
{ {
pThis = GetConVarAddress(name); pThis = GetConVarAddress(name);
} }
public int GetStringHash(string name) public int GetStringHash(string name)
{ {
CharCodes codes = Memory.Read<CharCodes>(Memory.vstdlib + signatures.convar_name_hash_table); CharCodes codes = Memory.Read<CharCodes>(Memory.vstdlib + signatures.convar_name_hash_table);
int v2 = 0; int v2 = 0;
int v3 = 0; int v3 = 0;
for (int i = 0; i < name.Length; i += 2) for (int i = 0; i < name.Length; i += 2)
{ {
v3 = codes.tab[v2 ^ char.ToUpper(name[i])]; v3 = codes.tab[v2 ^ char.ToUpper(name[i])];
if (i + 1 == name.Length) if (i + 1 == name.Length)
break; break;
v2 = codes.tab[v3 ^ char.ToUpper(name[i + 1])]; v2 = codes.tab[v3 ^ char.ToUpper(name[i + 1])];
} }
return v2 | (v3 << 8); return v2 | (v3 << 8);
} }
public void ClearCallbacks() public void ClearCallbacks()
{ {
Memory.Write<int>(pThis + 0x44 + 0xC, 0); Memory.Write<int>(pThis + 0x44 + 0xC, 0);
} }
public int GetConVarAddress(string name) public int GetConVarAddress(string name)
{ {
var hash = GetStringHash(name); var hash = GetStringHash(name);
int CvarEngine = Memory.Read<int>(Memory.vstdlib + signatures.interface_engine_cvar); int CvarEngine = Memory.Read<int>(Memory.vstdlib + signatures.interface_engine_cvar);
int Pointer = Memory.Read<int>(Memory.Read<int>(CvarEngine + 0x34) + ((byte)hash * 4)); int Pointer = Memory.Read<int>(Memory.Read<int>(CvarEngine + 0x34) + ((byte)hash * 4));
Encoding enc = Encoding.UTF8; Encoding enc = Encoding.UTF8;
while ((IntPtr)Pointer != IntPtr.Zero) while ((IntPtr)Pointer != IntPtr.Zero)
{ {
if (Memory.Read<int>(Pointer) == hash) if (Memory.Read<int>(Pointer) == hash)
{ {
int ConVarPointer = Memory.Read<int>(Pointer + 0x4); int ConVarPointer = Memory.Read<int>(Pointer + 0x4);
if (Memory.ReadText(Memory.pHandle, (IntPtr)Memory.Read<int>(ConVarPointer + 0xC)) == name) if (Memory.ReadText(Memory.pHandle, (IntPtr)Memory.Read<int>(ConVarPointer + 0xC)) == name)
{ {
return ConVarPointer; return ConVarPointer;
} }
} }
Pointer = Memory.Read<int>(Pointer + 0xC); Pointer = Memory.Read<int>(Pointer + 0xC);
} }
return (int)IntPtr.Zero; return (int)IntPtr.Zero;
} }
} }
} }

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AnimeSoftware.Injections
{
public static class CreateThread
{
public static void Create(IntPtr address, byte[] shellcode)
{
DllImport.WriteProcessMemory(Memory.pHandle, address, shellcode, shellcode.Length, 0);
IntPtr _Thread = DllImport.CreateRemoteThread(Memory.pHandle, (IntPtr)null, IntPtr.Zero, address, (IntPtr)null, 0, (IntPtr)null);
DllImport.WaitForSingleObject(_Thread, 0xFFFFFFFF);
DllImport.CloseHandle(_Thread);
}
public static void Execute(IntPtr address)
{
IntPtr _Thread = DllImport.CreateRemoteThread(Memory.pHandle, (IntPtr)null, IntPtr.Zero, address, (IntPtr)null, 0, (IntPtr)null);
DllImport.WaitForSingleObject(_Thread, 0xFFFFFFFF);
DllImport.CloseHandle(_Thread);
}
}
}

@ -1,76 +1,82 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace AnimeSoftware namespace AnimeSoftware.Injections
{ {
class DllImport class DllImport
{ {
[DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true)] [DllImport("kernel32.dll")]
public static extern int GetAsyncKeyState(int vKey); internal static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, IntPtr nSize, ref UInt32 lpNumberOfBytesWritten);
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)] [DllImport("kernel32.dll")]
internal static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, int dwFreeType); public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, int size, int lpNumberOfBytesWritten);
[DllImport("kernel32.dll")] [DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true)]
internal static extern UInt32 WaitForSingleObject(IntPtr hProcess, uint dwMilliseconds); public static extern int GetAsyncKeyState(int vKey);
[DllImport("kernel32.dll", SetLastError = true)] [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
internal static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, IntPtr dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId); internal static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, int dwFreeType);
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)] [DllImport("kernel32.dll")]
internal static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, UInt32 flAllocationType, UInt32 flProtect); internal static extern UInt32 WaitForSingleObject(IntPtr hProcess, uint dwMilliseconds);
[DllImport("kernel32.dll")] [DllImport("kernel32.dll", SetLastError = true)]
internal static extern bool CloseHandle(IntPtr hProcess); internal static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, IntPtr dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)] [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
public static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, int dwSize, uint dwFreeType); internal static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, UInt32 flAllocationType, UInt32 flProtect);
[DllImport("user32.dll")] [DllImport("kernel32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); internal static extern bool CloseHandle(IntPtr hProcess);
[DllImport("user32.dll")]
public static extern bool ReleaseCapture(); [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
} public static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, int dwSize, uint dwFreeType);
public class Allocator [DllImport("user32.dll")]
{ public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public Dictionary<IntPtr, IntPtr> AllocatedSize = new Dictionary<IntPtr, IntPtr>(); [DllImport("user32.dll")]
public static extern bool ReleaseCapture();
public IntPtr AlloacNewPage(IntPtr size) }
{
var Address = DllImport.VirtualAllocEx(Memory.pHandle, IntPtr.Zero, (IntPtr)4096, (int)0x1000 | (int)0x2000, 0x40); public class Allocator
{
AllocatedSize.Add(Address, size); public Dictionary<IntPtr, IntPtr> AllocatedSize = new Dictionary<IntPtr, IntPtr>();
return Address; public IntPtr AlloacNewPage(IntPtr size)
} {
var Address = DllImport.VirtualAllocEx(Memory.pHandle, IntPtr.Zero, (IntPtr)4096, (int)0x1000 | (int)0x2000, 0x40);
public void Free()
{ AllocatedSize.Add(Address, size);
foreach (var key in AllocatedSize)
DllImport.VirtualFreeEx(Memory.pHandle, key.Key, 4096, (int)0x1000 | (int)0x2000); return Address;
} }
public IntPtr Alloc(int size) public void Free()
{ {
for (int i = 0; i < AllocatedSize.Count; ++i) foreach (var key in AllocatedSize)
{ DllImport.VirtualFreeEx(Memory.pHandle, key.Key, 4096, (int)0x1000 | (int)0x2000);
var key = AllocatedSize.ElementAt(i).Key; }
int value = (int)AllocatedSize[key] + size;
if (value < 4096) public IntPtr Alloc(int size)
{ {
IntPtr CurrentAddres = IntPtr.Add(key, (int)AllocatedSize[key]); for (int i = 0; i < AllocatedSize.Count; ++i)
AllocatedSize[key] = new IntPtr(value); {
return CurrentAddres; var key = AllocatedSize.ElementAt(i).Key;
} int value = (int)AllocatedSize[key] + size;
} if (value < 4096)
{
return AlloacNewPage(new IntPtr(size)); IntPtr CurrentAddres = IntPtr.Add(key, (int)AllocatedSize[key]);
} AllocatedSize[key] = new IntPtr(value);
return CurrentAddres;
} }
} }
return AlloacNewPage(new IntPtr(size));
}
}
}

@ -1,218 +1,304 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Diagnostics; using System.Diagnostics;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Threading; using System.Threading;
using System.IO; using System.IO;
namespace AnimeSoftware namespace AnimeSoftware
{ {
class Memory class Memory
{ {
[DllImport("kernel32.dll")] [DllImport("kernel32.dll")]
private static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId); private static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
[DllImport("Kernel32.dll")] [DllImport("Kernel32.dll")]
internal static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, UInt32 nSize, ref UInt32 lpNumberOfBytesRead); internal static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, UInt32 nSize, ref UInt32 lpNumberOfBytesRead);
[DllImport("kernel32.dll", SetLastError = true)] [DllImport("kernel32.dll", SetLastError = true)]
public static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead); public static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead);
[DllImport("kernel32.dll")] [DllImport("kernel32.dll")]
internal static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, IntPtr nSize, ref UInt32 lpNumberOfBytesWritten); internal static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, IntPtr nSize, ref UInt32 lpNumberOfBytesWritten);
[DllImport("kernel32.dll")] [DllImport("kernel32.dll")]
public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, int size, int lpNumberOfBytesWritten); public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, int size, int lpNumberOfBytesWritten);
const int PROCESS_VM_OPERATION = 0x0008; const int PROCESS_VM_OPERATION = 0x0008;
const int PROCESS_VM_READ = 0x0010; const int PROCESS_VM_READ = 0x0010;
const int PROCESS_VM_WRITE = 0x0020; const int PROCESS_VM_WRITE = 0x0020;
public static Process process; public static Process process;
public static IntPtr pHandle; public static IntPtr pHandle;
public static Int32 Client; public static Int32 Client;
public static Int32 ClientSize; public static Int32 ClientSize;
public static Int32 Engine; public static Int32 Engine;
public static Int32 EngineSize; public static Int32 EngineSize;
public static Int32 vstdlib; public static Int32 vstdlib;
public static Int32 vstdlibSize; public static Int32 vstdlibSize;
public static bool OpenProcess(string name) public static bool OpenProcess(string name)
{ {
try try
{ {
process = Process.GetProcessesByName(name)[0]; process = Process.GetProcessesByName(name)[0];
return true; return true;
} }
catch catch
{ {
if (Properties.Settings.Default.debug) if (Properties.Settings.Default.debug)
Console.WriteLine("Can't open process."); Console.WriteLine("Can't open process.");
return false; return false;
} }
} }
public static bool ProcessHandle() public static bool ProcessHandle()
{ {
try try
{ {
pHandle = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE, false, process.Id); pHandle = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE, false, process.Id);
return true; return true;
} }
catch catch
{ {
if (Properties.Settings.Default.debug) if (Properties.Settings.Default.debug)
Console.WriteLine("Can't get handle."); Console.WriteLine("Can't get handle.");
return false; return false;
} }
} }
public static bool GetModules() public static bool GetModules()
{ {
try try
{ {
foreach (ProcessModule module in process.Modules) foreach (ProcessModule module in process.Modules)
{ {
if (module.ModuleName == "client_panorama.dll") if (module.ModuleName == "client_panorama.dll")
{ {
Client = (Int32)module.BaseAddress; Client = (Int32)module.BaseAddress;
ClientSize = (Int32)module.ModuleMemorySize; ClientSize = (Int32)module.ModuleMemorySize;
} }
else if (module.ModuleName == "engine.dll") else if (module.ModuleName == "engine.dll")
{ {
Engine = (Int32)module.BaseAddress; Engine = (Int32)module.BaseAddress;
EngineSize = (Int32)module.ModuleMemorySize; EngineSize = (Int32)module.ModuleMemorySize;
} }
else if (module.ModuleName == "vstdlib.dll") else if (module.ModuleName == "vstdlib.dll")
{ {
vstdlib = (Int32)module.BaseAddress; vstdlib = (Int32)module.BaseAddress;
vstdlibSize = (Int32)module.ModuleMemorySize; vstdlibSize = (Int32)module.ModuleMemorySize;
} }
} }
if ((IntPtr)Client == IntPtr.Zero || (IntPtr)Engine == IntPtr.Zero || (IntPtr)vstdlib == IntPtr.Zero) if ((IntPtr)Client == IntPtr.Zero || (IntPtr)Engine == IntPtr.Zero || (IntPtr)vstdlib == IntPtr.Zero)
{ {
if (Properties.Settings.Default.debug) if (Properties.Settings.Default.debug)
{ {
Console.WriteLine(String.Format("Client: {0}\nEngine: {1}\nvstdlib: {2}\n", Client, Engine, vstdlib)); Console.WriteLine(String.Format("Client: {0}\nEngine: {1}\nvstdlib: {2}\n", Client, Engine, vstdlib));
Console.WriteLine("Module error"); Console.WriteLine("Module error");
} }
return false; return false;
} }
return true; return true;
} }
catch catch
{ {
if (Properties.Settings.Default.debug) if (Properties.Settings.Default.debug)
Console.WriteLine("Module get error"); Console.WriteLine("Module get error");
return false; return false;
} }
} }
public static T Read<T>(Int32 address) public static byte[] ReadBytes(Int32 address, int length)
{ {
int length = Marshal.SizeOf(typeof(T)); byte[] buffer = new byte[length];
UInt32 nBytesRead = UInt32.MinValue;
if (typeof(T) == typeof(bool)) bool success = ReadProcessMemory(pHandle, (IntPtr)address, buffer, (UInt32)length, ref nBytesRead);
length = 1; return buffer;
}
byte[] buffer = new byte[length];
UInt32 nBytesRead = UInt32.MinValue; public static T Read<T>(Int32 address)
ReadProcessMemory(pHandle, (IntPtr)address, buffer, (UInt32)length, ref nBytesRead); {
return GetStructure<T>(buffer); int length = Marshal.SizeOf(typeof(T));
}
if (typeof(T) == typeof(bool))
public static void Write<T>(Int32 address, T value) length = 1;
{
int length = Marshal.SizeOf(typeof(T)); byte[] buffer = new byte[length];
byte[] buffer = new byte[length]; UInt32 nBytesRead = UInt32.MinValue;
ReadProcessMemory(pHandle, (IntPtr)address, buffer, (UInt32)length, ref nBytesRead);
IntPtr ptr = Marshal.AllocHGlobal(length); return GetStructure<T>(buffer);
Marshal.StructureToPtr(value, ptr, true); }
Marshal.Copy(ptr, buffer, 0, length);
Marshal.FreeHGlobal(ptr); public static void Write<T>(Int32 address, T value)
{
UInt32 nBytesRead = UInt32.MinValue; int length = Marshal.SizeOf(typeof(T));
WriteProcessMemory(pHandle, (IntPtr)address, buffer, (IntPtr)length, ref nBytesRead); byte[] buffer = new byte[length];
}
IntPtr ptr = Marshal.AllocHGlobal(length);
public static T GetStructure<T>(byte[] bytes) Marshal.StructureToPtr(value, ptr, true);
{ Marshal.Copy(ptr, buffer, 0, length);
var handle = GCHandle.Alloc(bytes, GCHandleType.Pinned); Marshal.FreeHGlobal(ptr);
var structure = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T));
handle.Free(); UInt32 nBytesRead = UInt32.MinValue;
return structure; WriteProcessMemory(pHandle, (IntPtr)address, buffer, (IntPtr)length, ref nBytesRead);
} }
public static T GetStructure<T>(byte[] bytes)
public static string ReadString(Int32 address, int bufferSize, Encoding enc) {
{ var handle = GCHandle.Alloc(bytes, GCHandleType.Pinned);
byte[] buffer = new byte[bufferSize]; var structure = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T));
UInt32 nBytesRead = 0; handle.Free();
bool success = ReadProcessMemory(pHandle, (IntPtr)address, buffer, (UInt32)bufferSize, ref nBytesRead); return structure;
string text = enc.GetString(buffer); }
if (text.Contains('\0'))
text = text.Substring(0, text.IndexOf('\0'));
return text; public static string ReadString(Int32 address, int bufferSize, Encoding enc)
} {
byte[] buffer = new byte[bufferSize];
public static string ReadText(IntPtr hProcess, IntPtr address) UInt32 nBytesRead = 0;
{ bool success = ReadProcessMemory(pHandle, (IntPtr)address, buffer, (UInt32)bufferSize, ref nBytesRead);
using (MemoryStream ms = new MemoryStream()) string text = enc.GetString(buffer);
{ if (text.Contains('\0'))
int offset = 0; text = text.Substring(0, text.IndexOf('\0'));
byte read; return text;
while ((read = ReadMemory(hProcess, address + offset, 1)[0]) != 0) }
{
ms.WriteByte(read); public static string ReadText(IntPtr hProcess, IntPtr address)
offset++; {
} using (MemoryStream ms = new MemoryStream())
var data = ms.ToArray(); {
return Encoding.UTF8.GetString(data, 0, data.Length); int offset = 0;
} byte read;
} while ((read = ReadMemory(hProcess, address + offset, 1)[0]) != 0)
{
public static byte[] ReadMemory(IntPtr hProcess, IntPtr address, int length) ms.WriteByte(read);
{ offset++;
byte[] data = new byte[length]; }
if (!ReadProcessMemory(hProcess, address, data, data.Length, out IntPtr unused)) var data = ms.ToArray();
{ return Encoding.UTF8.GetString(data, 0, data.Length);
return null; }
} }
return data;
} public static byte[] ReadMemory(IntPtr hProcess, IntPtr address, int length)
{
public static int FindPattern(byte[] pattern, string mask, int moduleBase, int moduleSize) byte[] data = new byte[length];
{ if (!ReadProcessMemory(hProcess, address, data, data.Length, out IntPtr unused))
byte[] moduleBytes = new byte[moduleSize]; {
uint numBytes = 0; return null;
}
if (ReadProcessMemory(Memory.pHandle, (IntPtr)moduleBase, moduleBytes, (uint)moduleSize, ref numBytes)) return data;
{ }
for (int i = 0; i < moduleSize; i++)
{ public static int FindPattern(byte[] pattern, string mask, int moduleBase, int moduleSize)
bool found = true; {
byte[] moduleBytes = new byte[moduleSize];
for (int l = 0; l < mask.Length; l++) uint numBytes = 0;
{
found = mask[l] == '?' || moduleBytes[l + i] == pattern[l]; if (ReadProcessMemory(Memory.pHandle, (IntPtr)moduleBase, moduleBytes, (uint)moduleSize, ref numBytes))
{
if (!found) for (int i = 0; i < moduleSize; i++)
break; {
} bool found = true;
if (found) for (int l = 0; l < mask.Length; l++)
return i; {
} found = mask[l] == '?' || moduleBytes[l + i] == pattern[l];
}
if (!found)
return 0; break;
} }
}
} if (found)
return i;
}
}
return 0;
}
internal static class Sig
{
private static byte[] _dump;
private static void Dump(IntPtr module, Int32 moduleSize)
{
_dump = Memory.ReadBytes((Int32)module, moduleSize);
}
private static bool CheckSig(int index, Signature signature)
{
for (int i = 0; i < signature.ByteArray.Length; i++)
{
if (signature.Mask[i] == '?')
continue;
if (signature.ByteArray[i] != _dump[index + i])
return false;
}
return true;
}
public static Int32 COffset(string sig, int offset = 0, int extra = 0)
{
return GetOffset(sig, offset, extra, (IntPtr)Memory.Client, Memory.ClientSize);
}
public static Int32 EOffset(string sig, int offset = 0, int extra = 0)
{
return GetOffset(sig, offset, extra, (IntPtr)Memory.Engine, Memory.EngineSize);
}
public static Int32 GetOffset(string sig, int offset, int extra, IntPtr module, Int32 moduleSize)
{
Dump(module, moduleSize);
Signature signature = new Signature(sig, offset);
for (int i = 0; i < moduleSize; i++)
{
if (signature.Address == IntPtr.Zero && CheckSig(i, signature))
{
var _offset = signature.Offset;
signature = new Signature(module + i + _offset);
if (signature.Address != IntPtr.Zero)
return BitConverter.ToInt32(Memory.ReadBytes((Int32)signature.Address, 4), 0) + extra - module.ToInt32();
}
}
Console.WriteLine(String.Format("The Signature {0}\nCouldn't Be Found.", sig));
return Int32.MinValue;
}
public static Signature GetSignature(Signature sig, IntPtr module, Int32 moduleSize)
{
byte[] dumped = Memory.ReadBytes((Int32)module, moduleSize);
for (int i = 0; i < moduleSize; i++)
{
if (sig.Address == IntPtr.Zero && CheckSig(i, sig))
{
var offset = sig.Offset;
sig = new Signature(module + i + offset);
if (sig.Address != IntPtr.Zero)
{
return sig;
}
}
}
return sig;
}
}
}
}

@ -1,34 +1,36 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using AnimeSoftware.Injections;
namespace AnimeSoftware
{ namespace AnimeSoftware.Objects
class ClientCMD {
{ class ClientCMD
public static int Size = 256; {
public static IntPtr Address; static int Size = 256;
static IntPtr Address;
public static void Exec(string szCmd)
{ public static void Exec(string szCmd, bool highPriority = false)
if (Address == IntPtr.Zero) {
{
Allocator Alloc = new Allocator(); if (Address == IntPtr.Zero)
Address = Alloc.Alloc(Size); {
if (Address == IntPtr.Zero) Allocator Alloc = new Allocator();
return; Address = Alloc.Alloc(Size);
} if (Address == IntPtr.Zero)
//if (szCmd.Length > 255) return;
// szCmd = szCmd.Substring(0, 255); }
if (szCmd.Length > 255)
var szCmd_bytes = Encoding.UTF8.GetBytes(szCmd + "\0"); szCmd = szCmd.Substring(0, 255);
Memory.WriteProcessMemory(Memory.pHandle, Address, szCmd_bytes, szCmd_bytes.Length, 0); var szCmd_bytes = Encoding.UTF8.GetBytes(szCmd + "\0");
IntPtr Thread = DllImport.CreateRemoteThread(Memory.pHandle, (IntPtr)null, IntPtr.Zero, new IntPtr(Memory.Engine + ScannedOffsets.ClientCMD), Address, 0, (IntPtr)null);
DllImport.CloseHandle(Thread); Memory.WriteProcessMemory(Memory.pHandle, Address, szCmd_bytes, szCmd_bytes.Length, 0);
DllImport.WaitForSingleObject(Thread, 0xFFFFFFFF); IntPtr Thread = DllImport.CreateRemoteThread(Memory.pHandle, (IntPtr)null, IntPtr.Zero, new IntPtr(Memory.Engine + ScannedOffsets.ClientCMD), Address, 0, (IntPtr)null);
} DllImport.CloseHandle(Thread);
} DllImport.WaitForSingleObject(Thread, 0xFFFFFFFF);
} }
}
}

@ -1,195 +1,195 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Drawing; using System.Drawing;
using hazedumper; using hazedumper;
namespace AnimeSoftware namespace AnimeSoftware.Objects
{ {
class Entity : IDisposable class Entity : IDisposable
{ {
public void Dispose() public void Dispose()
{ {
} }
public int Index; public int Index;
public int Ptr public int Ptr
{ {
get get
{ {
return Memory.Read<int>(Memory.Client + signatures.dwEntityList + (Index - 1) * 0x10); return Memory.Read<int>(Memory.Client + signatures.dwEntityList + (Index - 1) * 0x10);
} }
} }
public string Name public string Name
{ {
get get
{ {
int radarBasePtr = 0x78;// : 0x54; int radarBasePtr = 0x78;// : 0x54;
int radarStructSize = 0x174;// : 0x1E0; int radarStructSize = 0x174;// : 0x1E0;
int radarStructPos = 0x18;// : 0x24; int radarStructPos = 0x18;// : 0x24;
Encoding enc = Encoding.UTF8;// : Encoding.Unicode; Encoding enc = Encoding.UTF8;// : Encoding.Unicode;
int radarBase = Memory.Read<int>(Memory.Client + signatures.dwRadarBase); int radarBase = Memory.Read<int>(Memory.Client + signatures.dwRadarBase);
int radarPtr = Memory.Read<int>(radarBase + radarBasePtr); int radarPtr = Memory.Read<int>(radarBase + radarBasePtr);
int ind = Index + 1; int ind = Index + 1;
var nameAddr = radarPtr + ind * radarStructSize + radarStructPos; var nameAddr = radarPtr + ind * radarStructSize + radarStructPos;
return Memory.ReadString(nameAddr, 64, enc); return Memory.ReadString(nameAddr, 64, enc);
} }
} }
public string Name2 public string Name2
{ {
get get
{ {
return Encoding.UTF8.GetString(pInfo.m_szPlayerName); return Encoding.UTF8.GetString(pInfo.m_szPlayerName);
} }
} }
public GlowColor glowColor { get; set; } public GlowColor glowColor { get; set; }
public GlowSettings glowSettings { get; set; } public GlowSettings glowSettings { get; set; }
public bool Glowing { get; set; } public bool Glowing { get; set; }
public int GlowIndex public int GlowIndex
{ {
get get
{ {
return Memory.Read<int>(Ptr + netvars.m_iGlowIndex); return Memory.Read<int>(Ptr + netvars.m_iGlowIndex);
} }
} }
public float DistanceToPlayer public float DistanceToPlayer
{ {
get get
{ {
return VectorMath.Distance(Position, LocalPlayer.Position); return VectorMath.Distance(Position, LocalPlayer.Position);
} }
} }
public Vector3 Velocity public Vector3 Velocity
{ {
get get
{ {
Vector3 velocity = Memory.Read<Vector3>(Ptr + netvars.m_vecVelocity); Vector3 velocity = Memory.Read<Vector3>(Ptr + netvars.m_vecVelocity);
return velocity; return velocity;
} }
} }
public player_info_s pInfo public player_info_s pInfo
{ {
get get
{ {
int ClientState = Memory.Read<int>(Memory.Engine + signatures.dwClientState); int ClientState = Memory.Read<int>(Memory.Engine + signatures.dwClientState);
int pInfo = Memory.Read<int>(ClientState + signatures.dwClientState_PlayerInfo); int pInfo = Memory.Read<int>(ClientState + signatures.dwClientState_PlayerInfo);
pInfo = Memory.Read<int>(pInfo + 0x40); pInfo = Memory.Read<int>(pInfo + 0x40);
pInfo = Memory.Read<int>(pInfo + 0xC); pInfo = Memory.Read<int>(pInfo + 0xC);
pInfo = Memory.Read<int>(pInfo + 0x28 + (Index - 1) * 0x34); pInfo = Memory.Read<int>(pInfo + 0x28 + (Index - 1) * 0x34);
player_info_s info = Memory.Read<player_info_s>(pInfo); player_info_s info = Memory.Read<player_info_s>(pInfo);
return info; return info;
} }
} }
public bool IsDead public bool IsDead
{ {
get get
{ {
return Health <= 0; return Health <= 0;
} }
} }
public float Speed public float Speed
{ {
get get
{ {
Vector3 velocity = Velocity; Vector3 velocity = Velocity;
float result = (float)Math.Sqrt(velocity.x * velocity.x + velocity.y * velocity.y + velocity.z * velocity.z); float result = (float)Math.Sqrt(velocity.x * velocity.x + velocity.y * velocity.y + velocity.z * velocity.z);
return result; return result;
} }
} }
public Vector3 Position public Vector3 Position
{ {
get get
{ {
Vector3 position = Memory.Read<Vector3>(Ptr + netvars.m_vecOrigin); Vector3 position = Memory.Read<Vector3>(Ptr + netvars.m_vecOrigin);
return position; return position;
} }
} }
public Vector3 ViewPosition public Vector3 ViewPosition
{ {
get get
{ {
Vector3 position = Position; Vector3 position = Position;
position.z += Memory.Read<float>(Ptr + netvars.m_vecViewOffset + 0x8); position.z += Memory.Read<float>(Ptr + netvars.m_vecViewOffset + 0x8);
return position; return position;
} }
} }
public int Health public int Health
{ {
get get
{ {
return Memory.Read<int>(Ptr + netvars.m_iHealth); return Memory.Read<int>(Ptr + netvars.m_iHealth);
} }
} }
public bool Dormant public bool Dormant
{ {
get get
{ {
return Memory.Read<bool>(Ptr + signatures.m_bDormant); return Memory.Read<bool>(Ptr + signatures.m_bDormant);
} }
} }
public bool isTeam public bool isTeam
{ {
get get
{ {
return Memory.Read<int>(Ptr + netvars.m_iTeamNum) == Memory.Read<int>(LocalPlayer.Ptr+netvars.m_iTeamNum); return Memory.Read<int>(Ptr + netvars.m_iTeamNum) == Memory.Read<int>(LocalPlayer.Ptr+netvars.m_iTeamNum);
} }
} }
public static Entity[] List() public static Entity[] List()
{ {
List<Entity> entityList = new List<Entity>(); List<Entity> entityList = new List<Entity>();
for (int i = 1; i < 64; i++) for (int i = 1; i < 64; i++)
{ {
Entity entity = new Entity(i); Entity entity = new Entity(i);
if (entity.Ptr == 0) if (entity.Ptr == 0)
continue; continue;
if (entity.Ptr == LocalPlayer.Ptr) if (entity.Ptr == LocalPlayer.Ptr)
{ {
LocalPlayer.Index = i; LocalPlayer.Index = i;
continue; continue;
} }
entityList.Add(entity); entityList.Add(entity);
} }
return entityList.ToArray(); return entityList.ToArray();
} }
public Vector3 BonePosition(int BoneID) public Vector3 BonePosition(int BoneID)
{ {
int BoneMatrix = Memory.Read<Int32>(Ptr + netvars.m_dwBoneMatrix); int BoneMatrix = Memory.Read<Int32>(Ptr + netvars.m_dwBoneMatrix);
Vector3 position = new Vector3 Vector3 position = new Vector3
{ {
x = Memory.Read<float>(BoneMatrix + 0x30 * BoneID + 0x0C), x = Memory.Read<float>(BoneMatrix + 0x30 * BoneID + 0x0C),
y = Memory.Read<float>(BoneMatrix + 0x30 * BoneID + 0x1C), y = Memory.Read<float>(BoneMatrix + 0x30 * BoneID + 0x1C),
z = Memory.Read<float>(BoneMatrix + 0x30 * BoneID + 0x2C) z = Memory.Read<float>(BoneMatrix + 0x30 * BoneID + 0x2C)
}; };
return position; return position;
} }
public Entity(int index) public Entity(int index)
{ {
Index = index; Index = index;
} }
} }
} }

@ -1,243 +1,252 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper; using AnimeSoftware.Injections;
using hazedumper;
namespace AnimeSoftware
{ namespace AnimeSoftware.Objects
class LocalPlayer : IDisposable {
{ class LocalPlayer : IDisposable
public void Dispose() {
{ public void Dispose()
{
}
public static int Ptr }
{ public static int Ptr
get {
{ get
return Memory.Read<int>(Memory.Client + signatures.dwLocalPlayer); {
} return Memory.Read<int>(Memory.Client + signatures.dwLocalPlayer);
} }
}
public static void GetName()
{ public static void GetName()
int radarBasePtr = 0x78; {
int radarStructSize = 0x174; int radarBasePtr = 0x78;
int radarStructPos = 0x18; int radarStructSize = 0x174;
int radarStructPos = 0x18;
Encoding enc = Encoding.UTF8;
Encoding enc = Encoding.UTF8;
int radarBase = Memory.Read<int>(Memory.Client + signatures.dwRadarBase);
int radarBase = Memory.Read<int>(Memory.Client + signatures.dwRadarBase);
int radarPtr = Memory.Read<int>(radarBase + radarBasePtr);
int radarPtr = Memory.Read<int>(radarBase + radarBasePtr);
int ind = Index + 1;
int ind = Index + 1;
var nameAddr = radarPtr + ind * radarStructSize + radarStructPos;
Name = Memory.ReadString(nameAddr, 64, enc); var nameAddr = radarPtr + ind * radarStructSize + radarStructPos;
} Name = Memory.ReadString(nameAddr, 64, enc);
public static string GetName2 }
{ public static string GetName2
get {
{ get
return Encoding.UTF8.GetString(pInfo.m_szPlayerName); {
} return Encoding.UTF8.GetString(pInfo.m_szPlayerName);
} }
}
public static string Name { get; set; }
public static string Name { get; set; }
public static void GetIndex()
{ public static void GetIndex()
Index = -1; {
while (Index == -1) Index = -1;
foreach (Entity x in Entity.List()) while (Index == -1)
{ foreach (Entity x in Entity.List())
if (x.Health <= 0) {
continue; if (x.Health <= 0)
if (x.Ptr == Ptr) continue;
{ if (x.Ptr == Ptr)
Index = x.Index; {
break; Index = x.Index;
} break;
} }
} }
public static int Index { get; set; } }
public static int Index { get; set; }
public static int ShotsFired
{ public static int ShotsFired
get {
{ get
return Memory.Read<Int32>(Ptr + netvars.m_iShotsFired); {
} return Memory.Read<Int32>(Ptr + netvars.m_iShotsFired);
} }
public static Vector3 Position }
{ public static Vector3 Position
get {
{ get
Vector3 position = Memory.Read<Vector3>(Ptr + netvars.m_vecOrigin); {
return position; Vector3 position = Memory.Read<Vector3>(Ptr + netvars.m_vecOrigin);
} return position;
} }
public static Vector3 Velocity }
{ public static Vector3 Velocity
get {
{ get
Vector3 velocity = Memory.Read<Vector3>(Ptr + netvars.m_vecVelocity); {
return velocity; Vector3 velocity = Memory.Read<Vector3>(Ptr + netvars.m_vecVelocity);
} return velocity;
} }
public static void MoveRight() }
{ public static void MoveRight()
ClientCMD.Exec("-moveleft"); {
Thread.Sleep(1); ClientCMD.Exec("-moveleft");
ClientCMD.Exec("+moveright"); Thread.Sleep(1);
} ClientCMD.Exec("+moveright");
public static void MoveLeft() }
{ public static void MoveLeft()
ClientCMD.Exec("-moveright"); {
Thread.Sleep(1); ClientCMD.Exec("-moveright");
ClientCMD.Exec("+moveleft"); Thread.Sleep(1);
} ClientCMD.Exec("+moveleft");
public static void MoveClearY() }
{ public static void MoveClearY()
ClientCMD.Exec("-moveright"); {
Thread.Sleep(1); ClientCMD.Exec("-moveright");
ClientCMD.Exec("-moveleft"); Thread.Sleep(1);
} ClientCMD.Exec("-moveleft");
public static void MoveForward() }
{ public static void MoveForward()
ClientCMD.Exec("+forward"); {
} ClientCMD.Exec("+forward");
public static void MoveClearX() }
{ public static void MoveClearX()
ClientCMD.Exec("-forward"); {
} ClientCMD.Exec("-forward");
}
public static void Jump()
{ public static void Jump()
Memory.Write<int>(Memory.Client + signatures.dwForceJump, 5); {
Thread.Sleep(20); Memory.Write<int>(Memory.Client + signatures.dwForceJump, 5);
Memory.Write<int>(Memory.Client + signatures.dwForceJump, 4); Thread.Sleep(15);
} Memory.Write<int>(Memory.Client + signatures.dwForceJump, 4);
public static int Flags }
{ public static int Flags
get {
{ get
return Memory.Read<int>(Ptr + netvars.m_fFlags); {
} return Memory.Read<int>(Ptr + netvars.m_fFlags);
} }
public static float Speed }
{
get public static bool IsDead
{ {
Vector3 velocity = Velocity; get
float result = (float)Math.Sqrt(velocity.x * velocity.x + velocity.y * velocity.y + velocity.z * velocity.z); {
return result; return Health <= 0;
} }
} }
public static player_info_s pInfo public static float Speed
{ {
get get
{ {
int ClientState = Memory.Read<int>(Memory.Engine + signatures.dwClientState); Vector3 velocity = Velocity;
int pInfo = Memory.Read<int>(ClientState + signatures.dwClientState_PlayerInfo); float result = (float)Math.Sqrt(velocity.x * velocity.x + velocity.y * velocity.y);
pInfo = Memory.Read<int>(pInfo + 0x40); return result;
pInfo = Memory.Read<int>(pInfo + 0xC); }
pInfo = Memory.Read<int>(pInfo + 0x28 + (Index - 1) * 0x34); }
player_info_s info = Memory.Read<player_info_s>(pInfo); public static player_info_s pInfo
return info; {
} get
} {
public static bool InGame int ClientState = Memory.Read<int>(Memory.Engine + signatures.dwClientState);
{ int pInfo = Memory.Read<int>(ClientState + signatures.dwClientState_PlayerInfo);
get pInfo = Memory.Read<int>(pInfo + 0x40);
{ pInfo = Memory.Read<int>(pInfo + 0xC);
int ClientState = Memory.Read<int>(Memory.Engine + signatures.dwClientState); pInfo = Memory.Read<int>(pInfo + 0x28 + (Index - 1) * 0x34);
return Memory.Read<int>(ClientState + signatures.dwClientState_State) == 6; player_info_s info = Memory.Read<player_info_s>(pInfo);
} return info;
} }
}
public static int CrossHair public static bool InGame
{ {
get get
{ {
return Memory.Read<int>(Ptr + netvars.m_iCrosshairId); int ClientState = Memory.Read<int>(Memory.Engine + signatures.dwClientState);
} return Memory.Read<int>(ClientState + signatures.dwClientState_State) == 6;
} }
public static bool Dormant }
{
get public static int CrossHair
{ {
return Memory.Read<bool>(Ptr + signatures.m_bDormant); get
} {
} return Memory.Read<int>(Ptr + netvars.m_iCrosshairId);
public static int Health }
{ }
get public static bool Dormant
{ {
return Memory.Read<int>(Ptr + netvars.m_iHealth); get
} {
} return Memory.Read<bool>(Ptr + signatures.m_bDormant);
public static int ActiveWeapon }
{ }
get public static int Health
{ {
int weaponHandle = Memory.Read<int>(Ptr + netvars.m_hActiveWeapon) & 0xFFF; get
return Memory.Read<int>(Memory.Read<int>(Memory.Client + signatures.dwEntityList + (weaponHandle - 1) * 0x10) + netvars.m_iItemDefinitionIndex); {
} return Memory.Read<int>(Ptr + netvars.m_iHealth);
} }
public static Vector3 ViewPosition }
{ public static int ActiveWeapon
get {
{ get
Vector3 position = Position; {
position.z += Memory.Read<float>(Ptr + netvars.m_vecViewOffset + 0x8); int weaponHandle = Memory.Read<int>(Ptr + netvars.m_hActiveWeapon) & 0xFFF;
return position; return Memory.Read<int>(Memory.Read<int>(Memory.Client + signatures.dwEntityList + (weaponHandle - 1) * 0x10) + netvars.m_iItemDefinitionIndex);
} }
} }
public static Vector3 ViewPosition
public static Vector3 ViewAngle {
{ get
get {
{ Vector3 position = Position;
int ClientState = Memory.Read<Int32>(Memory.Engine + signatures.dwClientState); position.z += Memory.Read<float>(Ptr + netvars.m_vecViewOffset + 0x8);
return position;
Vector3 viewAngles = Memory.Read<Vector3>(ClientState + signatures.dwClientState_ViewAngles); }
return viewAngles; }
}
set public static Vector3 ViewAngle
{ {
int ClientState = Memory.Read<Int32>(Memory.Engine + signatures.dwClientState); get
{
Memory.Write<Vector3>(ClientState + signatures.dwClientState_ViewAngles, value); int ClientState = Memory.Read<Int32>(Memory.Engine + signatures.dwClientState);
}
} Vector3 viewAngles = Memory.Read<Vector3>(ClientState + signatures.dwClientState_ViewAngles);
public static Vector3 PunchAngle return viewAngles;
{ }
get set
{ {
return Memory.Read<Vector3>(Ptr + netvars.m_aimPunchAngle); int ClientState = Memory.Read<Int32>(Memory.Engine + signatures.dwClientState);
}
} Memory.Write<Vector3>(ClientState + signatures.dwClientState_ViewAngles, value);
public static Vector3 LocalViewAngle }
{ }
set public static Vector3 PunchAngle
{ {
Memory.Write<Vector3>(Ptr + netvars.m_viewPunchAngle, value); get
} {
} return Memory.Read<Vector3>(Ptr + netvars.m_aimPunchAngle);
public static float ViewAngleY }
{ }
set public static Vector3 LocalViewAngle
{ {
int ClientState = Memory.Read<Int32>(Memory.Engine + signatures.dwClientState); set
{
Memory.Write<float>(ClientState + signatures.dwClientState_ViewAngles + 0x4, value); Memory.Write<Vector3>(Ptr + netvars.m_viewPunchAngle, value);
} }
} }
} public static float ViewAngleY
} {
set
{
int ClientState = Memory.Read<Int32>(Memory.Engine + signatures.dwClientState);
Memory.Write<float>(ClientState + signatures.dwClientState_ViewAngles + 0x4, value);
}
}
}
}

@ -1,6 +1,6 @@
using System; using System;
// 2020-02-12 12:19:20.845999100 UTC // 2020-04-07 13:13:28.164068900 UTC
namespace hazedumper namespace hazedumper
{ {
@ -57,7 +57,7 @@ namespace hazedumper
public const Int32 m_flTimerLength = 0x2994; public const Int32 m_flTimerLength = 0x2994;
public const Int32 m_hActiveWeapon = 0x2EF8; public const Int32 m_hActiveWeapon = 0x2EF8;
public const Int32 m_hMyWeapons = 0x2DF8; public const Int32 m_hMyWeapons = 0x2DF8;
public const Int32 m_hObserverTarget = 0x3388; public const Int32 m_hObserverTarget = 0x338C;
public const Int32 m_hOwner = 0x29CC; public const Int32 m_hOwner = 0x29CC;
public const Int32 m_hOwnerEntity = 0x14C; public const Int32 m_hOwnerEntity = 0x14C;
public const Int32 m_iAccountID = 0x2FC8; public const Int32 m_iAccountID = 0x2FC8;
@ -73,7 +73,7 @@ namespace hazedumper
public const Int32 m_iItemDefinitionIndex = 0x2FAA; public const Int32 m_iItemDefinitionIndex = 0x2FAA;
public const Int32 m_iItemIDHigh = 0x2FC0; public const Int32 m_iItemIDHigh = 0x2FC0;
public const Int32 m_iMostRecentModelBoneCounter = 0x2690; public const Int32 m_iMostRecentModelBoneCounter = 0x2690;
public const Int32 m_iObserverMode = 0x3374; public const Int32 m_iObserverMode = 0x3378;
public const Int32 m_iShotsFired = 0xA380; public const Int32 m_iShotsFired = 0xA380;
public const Int32 m_iState = 0x3248; public const Int32 m_iState = 0x3248;
public const Int32 m_iTeamNum = 0xF4; public const Int32 m_iTeamNum = 0xF4;
@ -82,10 +82,10 @@ namespace hazedumper
public const Int32 m_nFallbackSeed = 0x31BC; public const Int32 m_nFallbackSeed = 0x31BC;
public const Int32 m_nFallbackStatTrak = 0x31C4; public const Int32 m_nFallbackStatTrak = 0x31C4;
public const Int32 m_nForceBone = 0x268C; public const Int32 m_nForceBone = 0x268C;
public const Int32 m_nTickBase = 0x342C; public const Int32 m_nTickBase = 0x3430;
public const Int32 m_rgflCoordinateFrame = 0x444; public const Int32 m_rgflCoordinateFrame = 0x444;
public const Int32 m_szCustomName = 0x303C; public const Int32 m_szCustomName = 0x303C;
public const Int32 m_szLastPlaceName = 0x35B0; public const Int32 m_szLastPlaceName = 0x35B4;
public const Int32 m_thirdPersonViewAngles = 0x31D8; public const Int32 m_thirdPersonViewAngles = 0x31D8;
public const Int32 m_vecOrigin = 0x138; public const Int32 m_vecOrigin = 0x138;
public const Int32 m_vecVelocity = 0x114; public const Int32 m_vecVelocity = 0x114;
@ -100,7 +100,7 @@ namespace hazedumper
public const Int32 clientstate_last_outgoing_command = 0x4D24; public const Int32 clientstate_last_outgoing_command = 0x4D24;
public const Int32 clientstate_net_channel = 0x9C; public const Int32 clientstate_net_channel = 0x9C;
public const Int32 convar_name_hash_table = 0x2F0F8; public const Int32 convar_name_hash_table = 0x2F0F8;
public const Int32 dwClientState = 0x588D9C; public const Int32 dwClientState = 0x589DCC;
public const Int32 dwClientState_GetLocalPlayer = 0x180; public const Int32 dwClientState_GetLocalPlayer = 0x180;
public const Int32 dwClientState_IsHLTV = 0x4D40; public const Int32 dwClientState_IsHLTV = 0x4D40;
public const Int32 dwClientState_Map = 0x28C; public const Int32 dwClientState_Map = 0x28C;
@ -109,47 +109,47 @@ namespace hazedumper
public const Int32 dwClientState_PlayerInfo = 0x52B8; public const Int32 dwClientState_PlayerInfo = 0x52B8;
public const Int32 dwClientState_State = 0x108; public const Int32 dwClientState_State = 0x108;
public const Int32 dwClientState_ViewAngles = 0x4D88; public const Int32 dwClientState_ViewAngles = 0x4D88;
public const Int32 dwEntityList = 0x4D3C7BC; public const Int32 dwEntityList = 0x4D419F4;
public const Int32 dwForceAttack = 0x316DD80; public const Int32 dwForceAttack = 0x3172FBC;
public const Int32 dwForceAttack2 = 0x316DD8C; public const Int32 dwForceAttack2 = 0x3172FC8;
public const Int32 dwForceBackward = 0x316DDD4; public const Int32 dwForceBackward = 0x3173010;
public const Int32 dwForceForward = 0x316DDB0; public const Int32 dwForceForward = 0x317301C;
public const Int32 dwForceJump = 0x51E0004; public const Int32 dwForceJump = 0x51EB650;
public const Int32 dwForceLeft = 0x316DDC8; public const Int32 dwForceLeft = 0x3172F98;
public const Int32 dwForceRight = 0x316DDEC; public const Int32 dwForceRight = 0x3172F8C;
public const Int32 dwGameDir = 0x6274F8; public const Int32 dwGameDir = 0x6285F8;
public const Int32 dwGameRulesProxy = 0x52532EC; public const Int32 dwGameRulesProxy = 0x525E92C;
public const Int32 dwGetAllClasses = 0xD4ED9C; public const Int32 dwGetAllClasses = 0xD53E6C;
public const Int32 dwGlobalVars = 0x588AA0; public const Int32 dwGlobalVars = 0x589AD0;
public const Int32 dwGlowObjectManager = 0x527DFA0; public const Int32 dwGlowObjectManager = 0x52898B8;
public const Int32 dwInput = 0x5187980; public const Int32 dwInput = 0x5192F80;
public const Int32 dwInterfaceLinkList = 0x8F4084; public const Int32 dwInterfaceLinkList = 0x8F83F4;
public const Int32 dwLocalPlayer = 0xD28B74; public const Int32 dwLocalPlayer = 0xD2DB84;
public const Int32 dwMouseEnable = 0xD2E718; public const Int32 dwMouseEnable = 0xD33728;
public const Int32 dwMouseEnablePtr = 0xD2E6E8; public const Int32 dwMouseEnablePtr = 0xD336F8;
public const Int32 dwPlayerResource = 0x316C10C; public const Int32 dwPlayerResource = 0x317133C;
public const Int32 dwRadarBase = 0x517152C; public const Int32 dwRadarBase = 0x5176764;
public const Int32 dwSensitivity = 0xD2E5B4; public const Int32 dwSensitivity = 0xD335C4;
public const Int32 dwSensitivityPtr = 0xD2E588; public const Int32 dwSensitivityPtr = 0xD33598;
public const Int32 dwSetClanTag = 0x89D60; public const Int32 dwSetClanTag = 0x89E00;
public const Int32 dwViewMatrix = 0x4D2E0E4; public const Int32 dwViewMatrix = 0x4D33334;
public const Int32 dwWeaponTable = 0x5188440; public const Int32 dwWeaponTable = 0x5193A44;
public const Int32 dwWeaponTableIndex = 0x324C; public const Int32 dwWeaponTableIndex = 0x324C;
public const Int32 dwYawPtr = 0xD2E378; public const Int32 dwYawPtr = 0xD33388;
public const Int32 dwZoomSensitivityRatioPtr = 0xD33598; public const Int32 dwZoomSensitivityRatioPtr = 0xD385D0;
public const Int32 dwbSendPackets = 0xD37DA; public const Int32 dwbSendPackets = 0xD3A0A;
public const Int32 dwppDirect3DDevice9 = 0xA6030; public const Int32 dwppDirect3DDevice9 = 0xA7030;
public const Int32 find_hud_element = 0x27C0BD40; public const Int32 find_hud_element = 0x2ECFC0A0;
public const Int32 force_update_spectator_glow = 0x398642; public const Int32 force_update_spectator_glow = 0x399022;
public const Int32 interface_engine_cvar = 0x3E9EC; public const Int32 interface_engine_cvar = 0x3E9EC;
public const Int32 is_c4_owner = 0x3A4A70; public const Int32 is_c4_owner = 0x3A57F0;
public const Int32 m_bDormant = 0xED; public const Int32 m_bDormant = 0xED;
public const Int32 m_flSpawnTime = 0xA360; public const Int32 m_flSpawnTime = 0xA360;
public const Int32 m_pStudioHdr = 0x294C; public const Int32 m_pStudioHdr = 0x294C;
public const Int32 m_pitchClassPtr = 0x51717D0; public const Int32 m_pitchClassPtr = 0x5176A08;
public const Int32 m_yawClassPtr = 0xD2E378; public const Int32 m_yawClassPtr = 0xD33388;
public const Int32 model_ambient_min = 0x58BDBC; public const Int32 model_ambient_min = 0x58CDEC;
public const Int32 set_abs_angles = 0x1CED30; public const Int32 set_abs_angles = 0x1CF030;
public const Int32 set_abs_origin = 0x1CEB70; public const Int32 set_abs_origin = 0x1CEE70;
} }
} // namespace hazedumper } // namespace hazedumper

@ -1,26 +1,27 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using hazedumper;
using hazedumper;
namespace AnimeSoftware
{ namespace AnimeSoftware
class ScannedOffsets {
{ class ScannedOffsets
public static int ClientCMD; {
public static int UserInfoTable; public static int ClientCMD;
public static int SetConVar; public static int UserInfoTable;
public static int LvlBypass; public static int SetConVar;
public static void Init() public static int LvlBypass;
{ public static int Console;
ClientCMD = Memory.FindPattern(new byte[] { 0x55, 0x8B, 0xEC, 0x8B, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x81, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x75, 0x0C, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x05, 0x8B, 0x01, 0xFF, 0x50, 0x34, 0x50, 0xA1 }, "xxxxx????xx????xxx????x????xxxxxxxxx", Memory.Engine, Memory.EngineSize); public static void Init()
//UserInfoTable = Memory.FindPattern(new byte[] { 0x8B, 0x89, 0x00, 0x00, 0x00, 0x00, 0x85, 0xC9, 0x0F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x01 }, "xx????xxxx????xx", Memory.Engine, Memory.EngineSize); {
//SetConVar = Memory.FindPattern(new byte[] { 0x8D, 0x4C, 0x24, 0x1C, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x56 }, "xxxxx????x", Memory.Engine, Memory.EngineSize); ClientCMD = Memory.FindPattern(new byte[] { 0x55, 0x8B, 0xEC, 0x8B, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x81, 0xF9, 0x00, 0x00, 0x00, 0x00, 0x75, 0x0C, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x05, 0x8B, 0x01, 0xFF, 0x50, 0x34, 0x50, 0xA1 }, "xxxxx????xx????xxx????x????xxxxxxxxx", Memory.Engine, Memory.EngineSize);
//LvlBypass = Memory.FindPattern(new byte[] { 0x55, 0x8B, 0xEC, 0x8B, 0x55, 0x08, 0x8B, 0xCA, 0x53 }, "xxxxxxxxx", Memory.Client, Memory.ClientSize); //55 8B EC 8B 55 08 8B CA 53 //UserInfoTable = Memory.FindPattern(new byte[] { 0x8B, 0x89, 0x00, 0x00, 0x00, 0x00, 0x85, 0xC9, 0x0F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x01 }, "xx????xxxx????xx", Memory.Engine, Memory.EngineSize);
//SetConVar = Memory.FindPattern(new byte[] { 0x8D, 0x4C, 0x24, 0x1C, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x56 }, "xxxxx????x", Memory.Engine, Memory.EngineSize);
//LvlBypass = Memory.FindPattern(new byte[] { 0x55, 0x8B, 0xEC, 0x8B, 0x55, 0x08, 0x8B, 0xCA, 0x53 }, "xxxxxxxxx", Memory.Client, Memory.ClientSize); //55 8B EC 8B 55 08 8B CA 53
} //Console = Memory.FindPattern(new byte[] { 0x58, 0x81, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00 }, "xx?x????", Memory.Client, Memory.ClientSize);
} }
} }
}

@ -1,254 +1,290 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Этот код создан программой. // Этот код создан программой.
// Исполняемая версия:4.0.30319.42000 // Исполняемая версия:4.0.30319.42000
// //
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае // Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода. // повторной генерации кода.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace AnimeSoftware.Properties { namespace AnimeSoftware.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default { public static Settings Default {
get { get {
return defaultInstance; return defaultInstance;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool bhop { public bool bhop {
get { get {
return ((bool)(this["bhop"])); return ((bool)(this["bhop"]));
} }
set { set {
this["bhop"] = value; this["bhop"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool doorspammer { public bool doorspammer {
get { get {
return ((bool)(this["doorspammer"])); return ((bool)(this["doorspammer"]));
} }
set { set {
this["doorspammer"] = value; this["doorspammer"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool blockbot { public bool blockbot {
get { get {
return ((bool)(this["blockbot"])); return ((bool)(this["blockbot"]));
} }
set { set {
this["blockbot"] = value; this["blockbot"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool namestealer { public bool namestealer {
get { get {
return ((bool)(this["namestealer"])); return ((bool)(this["namestealer"]));
} }
set { set {
this["namestealer"] = value; this["namestealer"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool runboostbot { public bool runboostbot {
get { get {
return ((bool)(this["runboostbot"])); return ((bool)(this["runboostbot"]));
} }
set { set {
this["runboostbot"] = value; this["runboostbot"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool autostrafe { public bool autostrafe {
get { get {
return ((bool)(this["autostrafe"])); return ((bool)(this["autostrafe"]));
} }
set { set {
this["autostrafe"] = value; this["autostrafe"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool weaponspammer { public bool weaponspammer {
get { get {
return ((bool)(this["weaponspammer"])); return ((bool)(this["weaponspammer"]));
} }
set { set {
this["weaponspammer"] = value; this["weaponspammer"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool friendlyfire { public bool friendlyfire {
get { get {
return ((bool)(this["friendlyfire"])); return ((bool)(this["friendlyfire"]));
} }
set { set {
this["friendlyfire"] = value; this["friendlyfire"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool aimbot { public bool aimbot {
get { get {
return ((bool)(this["aimbot"])); return ((bool)(this["aimbot"]));
} }
set { set {
this["aimbot"] = value; this["aimbot"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("1")] [global::System.Configuration.DefaultSettingValueAttribute("1")]
public float fov { public float fov {
get { get {
return ((float)(this["fov"])); return ((float)(this["fov"]));
} }
set { set {
this["fov"] = value; this["fov"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")] [global::System.Configuration.DefaultSettingValueAttribute("0")]
public int boneid { public int boneid {
get { get {
return ((int)(this["boneid"])); return ((int)(this["boneid"]));
} }
set { set {
this["boneid"] = value; this["boneid"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("1")] [global::System.Configuration.DefaultSettingValueAttribute("1")]
public float smooth { public float smooth {
get { get {
return ((float)(this["smooth"])); return ((float)(this["smooth"]));
} }
set { set {
this["smooth"] = value; this["smooth"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool rsc { public bool rsc {
get { get {
return ((bool)(this["rsc"])); return ((bool)(this["rsc"]));
} }
set { set {
this["rsc"] = value; this["rsc"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool unlock { public bool unlock {
get { get {
return ((bool)(this["unlock"])); return ((bool)(this["unlock"]));
} }
set { set {
this["unlock"] = value; this["unlock"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")] [global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool fakefriendlyfire { public bool fakefriendlyfire {
get { get {
return ((bool)(this["fakefriendlyfire"])); return ((bool)(this["fakefriendlyfire"]));
} }
set { set {
this["fakefriendlyfire"] = value; this["fakefriendlyfire"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool debug { public bool debug {
get { get {
return ((bool)(this["debug"])); return ((bool)(this["debug"]));
} }
set { set {
this["debug"] = value; this["debug"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool perfectnade { public bool perfectnade {
get { get {
return ((bool)(this["perfectnade"])); return ((bool)(this["perfectnade"]));
} }
set { set {
this["perfectnade"] = value; this["perfectnade"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")] [global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool chatcleaner { public bool chatcleaner {
get { get {
return ((bool)(this["chatcleaner"])); return ((bool)(this["chatcleaner"]));
} }
set { set {
this["chatcleaner"] = value; this["chatcleaner"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")] [global::System.Configuration.DefaultSettingValueAttribute("0")]
public int bhopChoke { public int bhopChoke {
get { get {
return ((int)(this["bhopChoke"])); return ((int)(this["bhopChoke"]));
} }
set { set {
this["bhopChoke"] = value; this["bhopChoke"] = value;
} }
} }
}
} [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool clanTag {
get {
return ((bool)(this["clanTag"]));
}
set {
this["clanTag"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool velTag {
get {
return ((bool)(this["velTag"]));
}
set {
this["velTag"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool velName {
get {
return ((bool)(this["velName"]));
}
set {
this["velName"] = value;
}
}
}
}

@ -1,63 +1,72 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="AnimeSoftware.Properties" GeneratedClassName="Settings"> <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="AnimeSoftware.Properties" GeneratedClassName="Settings">
<Profiles /> <Profiles />
<Settings> <Settings>
<Setting Name="bhop" Type="System.Boolean" Scope="User"> <Setting Name="bhop" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="doorspammer" Type="System.Boolean" Scope="User"> <Setting Name="doorspammer" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="blockbot" Type="System.Boolean" Scope="User"> <Setting Name="blockbot" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="namestealer" Type="System.Boolean" Scope="User"> <Setting Name="namestealer" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="runboostbot" Type="System.Boolean" Scope="User"> <Setting Name="runboostbot" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="autostrafe" Type="System.Boolean" Scope="User"> <Setting Name="autostrafe" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="weaponspammer" Type="System.Boolean" Scope="User"> <Setting Name="weaponspammer" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="friendlyfire" Type="System.Boolean" Scope="User"> <Setting Name="friendlyfire" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="aimbot" Type="System.Boolean" Scope="User"> <Setting Name="aimbot" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="fov" Type="System.Single" Scope="User"> <Setting Name="fov" Type="System.Single" Scope="User">
<Value Profile="(Default)">1</Value> <Value Profile="(Default)">1</Value>
</Setting> </Setting>
<Setting Name="boneid" Type="System.Int32" Scope="User"> <Setting Name="boneid" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value> <Value Profile="(Default)">0</Value>
</Setting> </Setting>
<Setting Name="smooth" Type="System.Single" Scope="User"> <Setting Name="smooth" Type="System.Single" Scope="User">
<Value Profile="(Default)">1</Value> <Value Profile="(Default)">1</Value>
</Setting> </Setting>
<Setting Name="rsc" Type="System.Boolean" Scope="User"> <Setting Name="rsc" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="unlock" Type="System.Boolean" Scope="User"> <Setting Name="unlock" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="fakefriendlyfire" Type="System.Boolean" Scope="User"> <Setting Name="fakefriendlyfire" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value> <Value Profile="(Default)">True</Value>
</Setting> </Setting>
<Setting Name="debug" Type="System.Boolean" Scope="User"> <Setting Name="debug" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="perfectnade" Type="System.Boolean" Scope="User"> <Setting Name="perfectnade" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="chatcleaner" Type="System.Boolean" Scope="User"> <Setting Name="chatcleaner" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value> <Value Profile="(Default)">False</Value>
</Setting> </Setting>
<Setting Name="bhopChoke" Type="System.Int32" Scope="User"> <Setting Name="bhopChoke" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value> <Value Profile="(Default)">0</Value>
</Setting> </Setting>
</Settings> <Setting Name="clanTag" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="velTag" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="velName" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile> </SettingsFile>

@ -1,261 +1,316 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
using System.Drawing; using System.Drawing;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Globalization;
namespace AnimeSoftware
{ namespace AnimeSoftware
class Structs {
{ class Structs
public static readonly int[] SpamWeaponList = new int[]{ 4,9,10,11,38,40,64,262208 }; {
public static Dictionary<int, string> Hitbox = new Dictionary<int, string> public static readonly int[] SpamWeaponList = new int[]{ 4,9,10,11,38,40,64,262208 };
{ public static Dictionary<int, string> Hitbox = new Dictionary<int, string>
[8] = "Head", {
[7] = "Neck", [8] = "Head",
[6] = "Body" [7] = "Neck",
}; [6] = "Body"
} };
}
public enum Hitbox
{ public enum Hitbox
HEAD = 8, {
NECK = 7, HEAD = 8,
BODY = 6 NECK = 7,
} BODY = 6
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct CharCodes [StructLayout(LayoutKind.Sequential, Pack = 1)]
{ public struct CharCodes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 255)] {
public int[] tab; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 255)]
}; public int[] tab;
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct player_info_s [StructLayout(LayoutKind.Sequential, Pack = 1)]
{ public struct player_info_s
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] {
public char[] __pad0; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public int m_nXuidLow; public char[] __pad0;
public int m_nXuidHigh; public int m_nXuidLow;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] public int m_nXuidHigh;
public byte[] m_szPlayerName; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
public uint m_nUserID; public byte[] m_szPlayerName;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 33)] public uint m_nUserID;
public char[] m_szSteamID; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 33)]
public uint m_nSteam3ID; public char[] m_szSteamID;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] public uint m_nSteam3ID;
public byte[] m_szFriendsName; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public byte[] m_szFriendsName;
public bool m_bIsFakePlayer; [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public bool m_bIsFakePlayer;
public bool m_bIsHLTV; [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public bool m_bIsHLTV;
public int[] m_dwCustomFiles; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public char m_FilesDownloaded; public int[] m_dwCustomFiles;
}; public char m_FilesDownloaded;
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct Input_t [StructLayout(LayoutKind.Sequential, Pack = 1)]
{ public struct Input_t
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] {
public int m_pVftable; // 0x00 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public int m_pVftable; // 0x00
public bool m_bTrackIRAvailable; // 0x04 [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public bool m_bTrackIRAvailable; // 0x04
public bool m_bMouseInitialized; // 0x05 [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public bool m_bMouseInitialized; // 0x05
public bool m_bMouseActive; // 0x06 [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public bool m_bMouseActive; // 0x06
public bool m_bJoystickAdvancedInit; // 0x07 [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 44)] public bool m_bJoystickAdvancedInit; // 0x07
public int[] Unk1; // 0x08 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 44)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int[] Unk1; // 0x08
public int m_pKeys; // 0x34 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)] public int m_pKeys; // 0x34
public int[] Unk2; // 0x38 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public int[] Unk2; // 0x38
public bool m_bCameraInterceptingMouse; // 0x9C [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public bool m_bCameraInterceptingMouse; // 0x9C
public bool m_bCameraInThirdPerson; // 0x9D [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public bool m_bCameraInThirdPerson; // 0x9D
public bool m_bCameraMovingWithMouse; // 0x9E [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] public bool m_bCameraMovingWithMouse; // 0x9E
public Vector3 m_vecCameraOffset; // 0xA0 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public Vector3 m_vecCameraOffset; // 0xA0
public bool m_bCameraDistanceMove; // 0xAC [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public bool m_bCameraDistanceMove; // 0xAC
public int m_nCameraOldX; // 0xB0 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int m_nCameraOldX; // 0xB0
public int m_nCameraOldY; // 0xB4 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int m_nCameraOldY; // 0xB4
public int m_nCameraX; // 0xB8 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int m_nCameraX; // 0xB8
public int m_nCameraY; // 0xBC [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int m_nCameraY; // 0xBC
public bool m_bCameraIsOrthographic; // 0xC0 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] public bool m_bCameraIsOrthographic; // 0xC0
public Vector3 m_vecPreviousViewAngles; // 0xC4 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] public Vector3 m_vecPreviousViewAngles; // 0xC4
public Vector3 m_vecPreviousViewAnglesTilt; // 0xD0 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public Vector3 m_vecPreviousViewAnglesTilt; // 0xD0
public float m_flLastForwardMove; // 0xDC [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public float m_flLastForwardMove; // 0xDC
public int m_nClearInputState; // 0xE0 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public int m_nClearInputState; // 0xE0
public int[] Unk3; // 0xE4 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int[] Unk3; // 0xE4
public int m_pCommands; // 0xEC [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int m_pCommands; // 0xEC
public int m_pVerifiedCommands; // 0xF0 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
}; public int m_pVerifiedCommands; // 0xF0
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct UserCmd_t [StructLayout(LayoutKind.Sequential, Pack = 1)]
{ public struct UserCmd_t
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] {
public int pVft; // 0x00 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int pVft; // 0x00
public int m_iCmdNumber; // 0x04 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int m_iCmdNumber; // 0x04
public int m_iTickCount; // 0x08 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] public int m_iTickCount; // 0x08
public Vector3 m_vecViewAngles; // 0x0C [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] public Vector3 m_vecViewAngles; // 0x0C
public Vector3 m_vecAimDirection; // 0x18 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public Vector3 m_vecAimDirection; // 0x18
public float m_flForwardmove; // 0x24 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public float m_flForwardmove; // 0x24
public float m_flSidemove; // 0x28 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public float m_flSidemove; // 0x28
public float m_flUpmove; // 0x2C [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public float m_flUpmove; // 0x2C
public int m_iButtons; // 0x30 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public int m_iButtons; // 0x30
public int m_bImpulse; // 0x34 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public int[] Pad1; public int m_bImpulse; // 0x34
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int[] Pad1;
public int m_iWeaponSelect; // 0x38 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int m_iWeaponSelect; // 0x38
public int m_iWeaponSubtype; // 0x3C [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 4)] public int m_iWeaponSubtype; // 0x3C
public int m_iRandomSeed; // 0x40 [MarshalAs(UnmanagedType.U1, SizeConst = 4)]
[MarshalAs(UnmanagedType.U1, SizeConst = 2)] public int m_iRandomSeed; // 0x40
public UInt16 m_siMouseDx; // 0x44 [MarshalAs(UnmanagedType.U1, SizeConst = 2)]
[MarshalAs(UnmanagedType.U1, SizeConst = 2)] public UInt16 m_siMouseDx; // 0x44
public UInt16 m_siMouseDy; // 0x46 [MarshalAs(UnmanagedType.U1, SizeConst = 2)]
[MarshalAs(UnmanagedType.U1, SizeConst = 1)] public UInt16 m_siMouseDy; // 0x46
bool m_bHasBeenPredicted; // 0x48 [MarshalAs(UnmanagedType.U1, SizeConst = 1)]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] bool m_bHasBeenPredicted; // 0x48
public int[] Pad2; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
}; // size is 100 or 0x64 public int[] Pad2;
}; // size is 100 or 0x64
[StructLayout(LayoutKind.Sequential, Pack = 1)]
struct VerifiedUserCmd_t [StructLayout(LayoutKind.Sequential, Pack = 1)]
{ struct VerifiedUserCmd_t
public UserCmd_t m_Command; {
public UInt32 m_Crc; public UserCmd_t m_Command;
}; public UInt32 m_Crc;
};
[StructLayout(LayoutKind.Sequential)]
public struct GlowSettings public struct Signature
{ {
byte renderWhenOccluded; public readonly int Offset;
byte renderWhenUnoccluded; public readonly byte[] ByteArray;
byte fullBloomRender; public readonly IntPtr Address;
public readonly string Mask;
public GlowSettings(bool __renderWhenOccluded, bool __renderWhenUnoccluded, bool __fullBloom)
{ public Signature(byte[] _byteArray, string _mask, int _offset = 0)
renderWhenOccluded = __renderWhenOccluded == true ? (byte)1 : (byte)0; {
renderWhenUnoccluded = __renderWhenUnoccluded == true ? (byte)1 : (byte)0; ByteArray = _byteArray;
fullBloomRender = __fullBloom == true ? (byte)1 : (byte)0; Mask = _mask;
} Offset = _offset;
} Address = IntPtr.Zero;
}
public struct GlowColor
{ public Signature(IntPtr _address)
public float r; {
public float g; ByteArray = null;
public float b; Offset = 0;
public float a; Address = _address;
public GlowColor(Color color) Mask = string.Empty;
{ }
r = color.R / 255f;
g = color.G / 255f; public Signature(string _signature, int _offset = 0)
b = color.B / 255f; {
a = color.A / 255f; var _mask = string.Empty;
} var patternBlocks = _signature.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
public GlowColor(float _r,float _g,float _b, float _a) var pattern = new byte[patternBlocks.Length];
{
r = _r; for (int i = 0; i < patternBlocks.Length; i++)
g = _g; {
b = _b; var block = patternBlocks[i];
a = _a;
} if (block == "?")
public static Color operator *(GlowColor a, int b) {
{ _mask += block;
return Color.FromArgb((int)a.a*b, (int)a.r * b, (int)a.g * b, (int)a.b * b); pattern[i] = 0;
} }
public Color ToColor else
{ {
get _mask += "x";
{ if (!byte.TryParse(patternBlocks[i], NumberStyles.HexNumber,
return Color.FromArgb((int)(a*255), (int)(r *255), (int)(g *255), (int)(b *255)); CultureInfo.DefaultThreadCurrentCulture, out pattern[i]))
} throw new Exception("Signature Parsing Error");
} }
} }
public struct Vector3
{ ByteArray = pattern;
public float x; Offset = _offset;
public float y; Address = IntPtr.Zero;
public float z; Mask = _mask;
}
public Vector3(float _x, float _y, float _z) }
{
x = _x; [StructLayout(LayoutKind.Sequential)]
y = _y; public struct GlowSettings
z = _z; {
} byte renderWhenOccluded;
public float Length byte renderWhenUnoccluded;
{ byte fullBloomRender;
get
{ public GlowSettings(bool __renderWhenOccluded, bool __renderWhenUnoccluded, bool __fullBloom)
return (float)Math.Sqrt((x * x) + (y * y) + (z * z)); {
} renderWhenOccluded = __renderWhenOccluded == true ? (byte)1 : (byte)0;
} renderWhenUnoccluded = __renderWhenUnoccluded == true ? (byte)1 : (byte)0;
public static Vector3 operator -(Vector3 a, Vector3 b) fullBloomRender = __fullBloom == true ? (byte)1 : (byte)0;
{ }
return new Vector3(a.x - b.x, a.y - b.y, a.z - b.z); }
}
public static Vector3 operator +(Vector3 a, Vector3 b) public struct GlowColor
{ {
return new Vector3(a.x + b.x, a.y + b.y, a.z + b.z); public float r;
} public float g;
public static Vector3 operator /(Vector3 a, Vector3 b) public float b;
{ public float a;
return new Vector3(a.x / b.x, a.y / b.y, a.z / b.z); public GlowColor(Color color)
} {
public static Vector3 operator *(Vector3 a, Vector3 b) r = color.R / 255f;
{ g = color.G / 255f;
return new Vector3(a.x * b.x, a.y * b.y, a.z * b.z); b = color.B / 255f;
} a = color.A / 255f;
public static Vector3 operator /(Vector3 a, int b) }
{ public GlowColor(float _r,float _g,float _b, float _a)
return new Vector3(a.x / b, a.y / b, a.z / b); {
} r = _r;
public static Vector3 operator *(Vector3 a, int b) g = _g;
{ b = _b;
return new Vector3(a.x * b, a.y * b, a.z * b); a = _a;
} }
public static Vector3 operator /(Vector3 a, float b) public static Color operator *(GlowColor a, int b)
{ {
return new Vector3(a.x / b, a.y / b, a.z / b); return Color.FromArgb((int)a.a*b, (int)a.r * b, (int)a.g * b, (int)a.b * b);
} }
public static Vector3 operator *(Vector3 a, float b) public Color ToColor
{ {
return new Vector3(a.x * b, a.y * b, a.z * b); get
} {
} return Color.FromArgb((int)(a*255), (int)(r *255), (int)(g *255), (int)(b *255));
} }
}
}
public struct Vector3
{
public float x;
public float y;
public float z;
public Vector3(float _x, float _y, float _z)
{
x = _x;
y = _y;
z = _z;
}
public float Length
{
get
{
return (float)Math.Sqrt((x * x) + (y * y) + (z * z));
}
}
public static Vector3 operator -(Vector3 a, Vector3 b)
{
return new Vector3(a.x - b.x, a.y - b.y, a.z - b.z);
}
public static Vector3 operator +(Vector3 a, Vector3 b)
{
return new Vector3(a.x + b.x, a.y + b.y, a.z + b.z);
}
public static Vector3 operator /(Vector3 a, Vector3 b)
{
return new Vector3(a.x / b.x, a.y / b.y, a.z / b.z);
}
public static Vector3 operator *(Vector3 a, Vector3 b)
{
return new Vector3(a.x * b.x, a.y * b.y, a.z * b.z);
}
public static Vector3 operator /(Vector3 a, int b)
{
return new Vector3(a.x / b, a.y / b, a.z / b);
}
public static Vector3 operator *(Vector3 a, int b)
{
return new Vector3(a.x * b, a.y * b, a.z * b);
}
public static Vector3 operator /(Vector3 a, float b)
{
return new Vector3(a.x / b, a.y / b, a.z / b);
}
public static Vector3 operator *(Vector3 a, float b)
{
return new Vector3(a.x * b, a.y * b, a.z * b);
}
}
}

Loading…
Cancel
Save