commit 347621b8587bed481da217a6608f23284be66897 Author: sagirilover Date: Sat Feb 15 19:01:39 2020 +0300 blockbot improve, choke bhop diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d2f23bf --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ + +.vs/AnimeSoftware/v16/ + +AnimeSoftware/bin/Debug/ + +*.resources + +*.txt + +*.cache + +*.exe + +*.pdb diff --git a/AnimeSoftware.sln b/AnimeSoftware.sln new file mode 100644 index 0000000..dba200e --- /dev/null +++ b/AnimeSoftware.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29424.173 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnimeSoftware", "AnimeSoftware\AnimeSoftware.csproj", "{617F8F5F-8917-4843-AAB3-66DA09EB7DB7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {617F8F5F-8917-4843-AAB3-66DA09EB7DB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {617F8F5F-8917-4843-AAB3-66DA09EB7DB7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {617F8F5F-8917-4843-AAB3-66DA09EB7DB7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {617F8F5F-8917-4843-AAB3-66DA09EB7DB7}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {FA8C57BA-1145-4614-A34D-BD12E3B6A144} + EndGlobalSection +EndGlobal diff --git a/AnimeSoftware/AlphaColorDialog.cs b/AnimeSoftware/AlphaColorDialog.cs new file mode 100644 index 0000000..6f3a29e --- /dev/null +++ b/AnimeSoftware/AlphaColorDialog.cs @@ -0,0 +1,416 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; +using System.Data; +using System.Runtime.InteropServices; +using System.Text; + +namespace Opulos.Core.UI { +public class AlphaColorDialog : ColorDialog { + + ///Event is fired after the color or alpha value are changed via any of the possible user-interface controls. + public event EventHandler ColorChanged; + + private Color _color = Color.Black; // currently selected color + private AlphaDialog dialogAlpha = null; + private AlphaColorPanel panelAlpha = null; + private Button btnAlpha = new Button { Text = "Alpha" }; + private IntPtr handle = IntPtr.Zero; // handle of this ColorDialog + private IntPtr hWndRed = IntPtr.Zero; // handles to TextBoxes + private IntPtr hWndGreen = IntPtr.Zero; + private IntPtr hWndBlue = IntPtr.Zero; + + public AlphaColorDialog() { + btnAlpha.Click += btnAlpha_Click; + } + + ///The handle for the ColorDialog window. + public IntPtr Handle { + get { + return handle; + } + } + + void btnAlpha_Click(object sender, EventArgs e) { + if (dialogAlpha == null) { + dialogAlpha = new AlphaDialog(this); + panelAlpha = new AlphaColorPanel(); + panelAlpha.AlphaChanged += panelAlpha_AlphaChanged; + dialogAlpha.Controls.Add(panelAlpha); + dialogAlpha.Text = "Alpha"; + //dialogAlpha.StartPosition = FormStartPosition.CenterParent; // doesn't work + dialogAlpha.StartPosition = FormStartPosition.Manual; + dialogAlpha.ClientSize = panelAlpha.PreferredSize; + Size sz = dialogAlpha.Size; + RECT r = new RECT(); + GetWindowRect(handle, ref r); + dialogAlpha.Location = new Point(r.Left + ((r.Right - r.Left) - sz.Width) / 2, r.Top + ((r.Bottom - r.Top) - sz.Height) / 2); + } + + panelAlpha.Color = _color; + + if (!dialogAlpha.IsHandleCreated || !dialogAlpha.Visible) { + dialogAlpha.Visible = false; // sometimes IsHandleCreated is reset, so Visible must be reset + dialogAlpha.Show(new SimpleWindow { Handle = handle }); + } + else { + if (dialogAlpha.WindowState == FormWindowState.Minimized) + dialogAlpha.WindowState = FormWindowState.Normal; + + dialogAlpha.Activate(); + dialogAlpha.BringToFront(); + dialogAlpha.Focus(); + } + } + + void panelAlpha_AlphaChanged(object sender, EventArgs e) { + SetColorInternal(panelAlpha.Color); + } + + private static String GetWindowText(IntPtr hWnd) { + StringBuilder sb = new StringBuilder(256); + GetWindowText(hWnd, sb, sb.Capacity); + return sb.ToString(); + } + + private class SimpleWindow : IWin32Window { + public IntPtr Handle { get; set; } + } + + private static Bitmap ConvertToBitmap(IntPtr hWnd) { + RECT r = new RECT(); + GetWindowRect(hWnd, ref r); + int w = r.Right - r.Left; + int h = r.Bottom - r.Top; + + Graphics g = Graphics.FromHwnd(hWnd); + Bitmap bmp = new Bitmap(w, h); + Graphics g2 = Graphics.FromImage(bmp); + IntPtr g2_hdc = g2.GetHdc(); + IntPtr g_hdc = g.GetHdc(); + BitBlt(g2_hdc, 0, 0, w, h, g_hdc, 0, 0, SRC); + g.ReleaseHdc(g_hdc); + g2.ReleaseHdc(g2_hdc); + g.Dispose(); + g2.Dispose(); + + return bmp; + } + + private struct IJL { + public int i; + public int j; + public int len; + + public override String ToString() { + return i + " " + j + " " + len; + } + } + + private static Color? FindSelectedColor(IntPtr hWnd) { + // This method assumes there is a bounding rectangle around a color swatch. + // The rectangle can be any color, but must be a single color. Since + // the rectangle surrounds the swatch, it must have a run of pixels that + // is longer than the run of pixels inside the swatch. Since it is + // a rectangle, and we are scanning from top to bottom (left to right would also work), + // then there must be exactly two runs that tie for longest. If two runs cannot + // be found, then there is no bounding rectangle. + + Bitmap bmp = ConvertToBitmap(hWnd); + int w = bmp.Width; + int h = bmp.Height; + Color bg = bmp.GetPixel(0, 0); + + IJL ijl = new IJL(); + IJL ijl0 = new IJL(); + IJL ijl1 = new IJL(); + int k = 0; + + for (int i = 0; i < w; i++) { + Color lastColor = Color.Empty; + for (int j = 0; j <= h; j++) { + Color c = (j == h ? Color.Empty : bmp.GetPixel(i, j)); + if (c == lastColor) { + ijl.len++; + } + else { + if (ijl.len < h) { + if (ijl.len > 1 && bg != lastColor) { + if (ijl.len > ijl0.len) { + ijl0 = ijl; + k = 0; + } + else if (ijl.len == ijl0.len) { + ijl1 = ijl; + k++; + } + } + } + + ijl = new IJL(); + ijl.i = i; + ijl.j = j; + ijl.len = 1; + lastColor = c; + } + } + } + + if (k != 1) { + bmp.Dispose(); + return null; + } + + // k == 1 means there are exactly two runs of maximum length + int x = ijl0.i + (ijl1.i - ijl0.i) / 2; + int y = ijl0.j + ijl0.len / 2; + Color c1 = bmp.GetPixel(x, y); + bmp.Dispose(); + return c1; + } + + private Color GetColorInternal() { + int a = (panelAlpha != null ? panelAlpha.Alpha : 255); + String _r = GetWindowText(hWndRed); + if (_r.Length > 0) { + // Define Custom Colors UI is visible. + int r = int.Parse(_r); + int g = int.Parse(GetWindowText(hWndGreen)); + int b = int.Parse(GetWindowText(hWndBlue)); + return Color.FromArgb(a, r, g, b); + } + else { + // if the RGB text boxes aren't visible, then resort to trying to find + // the selected color by looking for the solid line rectangle that indicates the + // currently selected color. + Color? c = FindSelectedColor(GetDlgItem(handle, 0x02d0)); // Basic colors + if (!c.HasValue) + c = FindSelectedColor(GetDlgItem(handle, 0x02d1)); // Custom colors + + return c.HasValue ? Color.FromArgb(a, c.Value) : Color.FromArgb(a, Color.Black); + } + } + + private static bool AreEqual(Color c1, Color c2) { + // Color.Black != (255, 0, 0, 0) + return c1.A == c2.A && c1.R == c2.R && c1.G == c2.G && c1.B == c2.B; + } + + private void SetColorInternal(Color c) { + if (AreEqual(c, _color)) + return; + + _color = c; + if (ColorChanged != null) + ColorChanged(this, EventArgs.Empty); + } + + public new Color Color { + get { + return _color; + } + + set { + SetColorInternal(value); + if (panelAlpha != null) + panelAlpha.Alpha = value.A; + + base.Color = value; + } + } + + protected override IntPtr HookProc(IntPtr hWnd, int msg, IntPtr wparam, IntPtr lparam) { + //System.Diagnostics.Debug.WriteLine((Opulos.Core.Win32.WM) msg); + if (msg == WM_INITDIALOG) { + IntPtr hWndOK = GetDlgItem(hWnd, 0x1); // 0x1 == OK button + RECT rOK = new RECT(); + GetWindowRect(hWndOK, ref rOK); + + IntPtr hWndDefineCustomColors = GetDlgItem(hWnd, 0x02cf); + RECT rDefineCustomColors = new RECT(); + GetWindowRect(hWndDefineCustomColors, ref rDefineCustomColors); + + IntPtr hWndCancel = GetDlgItem(hWnd, 0x2); // 0x2 == Cancel button + RECT rCancel = new RECT(); + GetWindowRect(hWndCancel, ref rCancel); + // Convert the cancel button's screen coordinates to client coordinates + POINT pt = new POINT(); + pt.X = rCancel.Right; + pt.Y = rCancel.Top; + ScreenToClient(hWnd, ref pt); + IntPtr hWndParent = GetParent(hWndCancel); + int w = rCancel.Right - rCancel.Left; + int h = rCancel.Bottom - rCancel.Top; + int gap = (rCancel.Left - rOK.Right); + + // the "Define Custom Colors >>" button is slightly less wide than the total width of the + // OK, Cancel and Alpha buttons. Options: + // 1) Increase the width of the define button so it right aligns with the alpha button + // 2) Make the alpha button smaller in width + // 3) Decrease the widths of all three button and decrease the gap between them. + // Option 1 looks better than option 2. Didn't try option 3. + if (rCancel.Right + gap + w > rDefineCustomColors.Right) { // screen coordinates + int diff = (rCancel.Right + gap + w) - rDefineCustomColors.Right; + // Option 2: //w = w - diff; + // Option 1: + int w2 = rDefineCustomColors.Right - rDefineCustomColors.Left; + int h2 = rDefineCustomColors.Bottom - rDefineCustomColors.Top; + SetWindowPos(hWndDefineCustomColors, IntPtr.Zero, 0, 0, w2 + diff, h2, SWP_NOMOVE | SWP_NOZORDER); + } + + var hWndAlpha = btnAlpha.Handle; // creates the handle + btnAlpha.Bounds = new Rectangle(pt.X + gap, pt.Y, w, h); + SetParent(hWndAlpha, hWndParent); + int hWndFont = SendMessage(hWndCancel, WM_GETFONT, 0, 0); + SendMessage(hWndAlpha, WM_SETFONT, hWndFont, 0); + + // Alternative way to create the Alpha button, but would have to handle the WM_NOTIFY messages for the button click events. + //hWndAlpha = CreateWindowEx(0, "Button", "alphabutton", WS_VISIBLE | WS_CHILD | WS_TABSTOP, pt.X + gap, pt.Y, w, h, hWndParent, 0, 0, 0); + //SetWindowText(hWndAlpha, "Alpha"); + //int hWndFont = SendMessage(hWndCancel, WM_GETFONT, 0, 0); + //SendMessage(hWndAlpha, WM_SETFONT, hWndFont, 0); + + // calling ColorDialog.Color does not return the currently selected color until after the OK button + // is clicked. So the values from the textboxes are used. To find the controlIDs, use Spy++. + hWndRed = GetDlgItem(hWnd, 0x02c2); // red text box + hWndGreen = GetDlgItem(hWnd, 0x02c3); + hWndBlue = GetDlgItem(hWnd, 0x02c4); + } + else if (msg == WM_SHOWWINDOW) { + //center the dialog on the parent window: + RECT cr = new RECT(); + RECT r0 = new RECT(); + IntPtr parent = GetParent(hWnd); + GetWindowRect(hWnd, ref r0); + GetWindowRect(parent, ref cr); + handle = hWnd; + + int x = cr.Left + ((cr.Right - cr.Left) - (r0.Right - r0.Left)) / 2; + int y = cr.Top + ((cr.Bottom - cr.Top) - (r0.Bottom - r0.Top)) / 2; + SetWindowPos(hWnd, IntPtr.Zero, x, y, 0, 0, SWP_NOZORDER | SWP_NOSIZE); + } + else if (msg == ACD_COLORCHANGED) { + Color c = GetColorInternal(); + SetColorInternal(c); + if (panelAlpha != null) + panelAlpha.Color = c; + } + else if (msg == WM_COMMAND || msg == WM_CHAR || msg == WM_LBUTTONDOWN) { + PostMessage(hWnd, ACD_COLORCHANGED, 0, 0); + } + + return base.HookProc(hWnd, msg, wparam, lparam); + } + + protected override void Dispose(bool disposing) { + base.Dispose(disposing); + if (disposing) { + if (btnAlpha != null) + btnAlpha.Dispose(); + + if (dialogAlpha != null) + dialogAlpha.Dispose(); + + btnAlpha = null; + dialogAlpha = null; + } + } + + private class AlphaDialog : Form { + + AlphaColorDialog AOwner; + public AlphaDialog(AlphaColorDialog owner) { + AOwner = owner; + ShowIcon = false; + } + + protected override void OnFormClosing(FormClosingEventArgs e) { + if (e.CloseReason == CloseReason.None || e.CloseReason == CloseReason.UserClosing) { + e.Cancel = true; + Hide(); + SetForegroundWindow(AOwner.handle); + } + base.OnFormClosing(e); + } + } + + private struct RECT { + public int Left; + public int Top; + public int Right; + public int Bottom; + } + + private struct POINT { + public int X; + public int Y; + } + + [DllImport("user32.dll")] + private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); + + [DllImport("user32.dll")] + private static extern bool GetWindowRect(IntPtr hWnd, ref RECT lpRect); + + [DllImport("user32.dll")] + private static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll")] + private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + + [DllImport("user32.dll")] + private static extern int PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + + [DllImport("user32.dll")] + private static extern IntPtr GetDlgItem(IntPtr hDlg, int nIDDlgItem); + + [DllImport("user32.dll")] + private static extern bool ScreenToClient(IntPtr hWnd, ref POINT lpPoint); + + [DllImport("user32.dll")] + private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); + + [DllImport("user32.dll")] + private static extern bool SetForegroundWindow(IntPtr hWnd); + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + private static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount); + + [DllImport("gdi32.dll", ExactSpelling=true, CharSet=CharSet.Auto, SetLastError=true)] + private static extern bool BitBlt(IntPtr pHdc, int iX, int iY, int iWidth, int iHeight, IntPtr pHdcSource, int iXSource, int iYSource, System.Int32 dw); + + //[DllImport("user32.dll", CharSet = CharSet.Auto)] + //private static extern IntPtr CreateWindowEx(int dwExStyle, string lpClassName, string lpWindowName, uint dwStyle, int x, int y, int nWidth, int nHeight, IntPtr hWndParent, int hMenu, int hInstance, int lpParam); + + //[DllImport("user32.dll", CharSet = CharSet.Auto)] + //private static extern bool SetWindowText(IntPtr hWnd, String lpString); + + //[DllImport("user32.dll")] + //private static extern bool DestroyWindow(IntPtr hwnd); + + private const int ACD_COLORCHANGED = 0x0400; // custom message + private const int SRC = 0xCC0020; + + private const int SWP_NOSIZE = 0x0001; + private const int SWP_NOMOVE = 0x0002; + private const int SWP_NOZORDER = 0x0004; + + private const int WM_INITDIALOG = 0x110; + private const int WM_SETFONT = 0x0030; + private const int WM_GETFONT = 0x0031; + private const int WM_SHOWWINDOW = 0x18; + //private const int WM_NOTIFY; + // messages that indicate a color change: + private const int WM_COMMAND = 0x111; + private const int WM_CHAR = 0x102; + private const int WM_LBUTTONDOWN = 0x201; + + //private const uint WS_VISIBLE = 0x10000000; + //private const uint WS_CHILD = 0x40000000; + //private const uint WS_TABSTOP = 0x00010000; + +} +} \ No newline at end of file diff --git a/AnimeSoftware/AlphaColorPanel.cs b/AnimeSoftware/AlphaColorPanel.cs new file mode 100644 index 0000000..0242ae9 --- /dev/null +++ b/AnimeSoftware/AlphaColorPanel.cs @@ -0,0 +1,200 @@ +using System; +using System.Drawing; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace Opulos.Core.UI { + +public class AlphaColorPanel : Panel { + + public event EventHandler AlphaChanged; + + NumericUpDown nudAlpha = new NumericUpDown { AutoSize = true, Minimum = 0, Maximum = 255, DecimalPlaces = 0, Increment = 1, Value = 255, Anchor = AnchorStyles.Top }; + TrackBar trackBar = new TrackBar2 { Minimum = 0, Maximum = 255, TickFrequency = 5, TickStyle = TickStyle.None, Orientation = Orientation.Horizontal, Value = 255, Anchor = AnchorStyles.Left | AnchorStyles.Right }; + Color[] colors = new Color[] { Color.White, Color.Black, Color.Green, Color.Blue, Color.Red, Color.Yellow }; + public int Cols { get; set; } + public int SwatchSize { get; set; } + + private Color color = Color.Empty; + + public AlphaColorPanel() : base() { + Dock = DockStyle.Fill; + AutoSize = true; + AutoSizeMode = AutoSizeMode.GrowAndShrink; + DoubleBuffered = true; + //TabStop = true; + //SetStyle(ControlStyles.Selectable, true); + ResizeRedraw = true; + + Cols = 3; + SwatchSize = 100; + trackBar.ValueChanged += trackBar_ValueChanged; + nudAlpha.ValueChanged += nudAlpha_ValueChanged; + Alpha = 255; + + TableLayoutPanel p = new TableLayoutPanel { Dock = DockStyle.Bottom }; + p.AutoSize = true; + p.AutoSizeMode = AutoSizeMode.GrowAndShrink; + p.Controls.Add(nudAlpha, 0, 0); + p.Controls.Add(trackBar, 1, 0); + p.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); + p.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 1)); + Controls.Add(p); + + nudAlpha.KeyDown += nudAlpha_KeyDown; + trackBar.KeyDown += trackBar_KeyDown; + } + + void trackBar_KeyDown(object sender, KeyEventArgs e) { + HandleKeyEvent((Control) sender, e); + } + + void nudAlpha_KeyDown(object sender, KeyEventArgs e) { + HandleKeyEvent((Control) sender, e); + } + + private void HandleKeyEvent(Control sender, KeyEventArgs e) { + if (e.KeyCode == Keys.Enter) { + e.SuppressKeyPress = true; // stop beep + e.Handled = true; + } + else if (e.KeyCode == Keys.Escape) { + e.SuppressKeyPress = true; + e.Handled = true; + Form f = FindForm(); + if (f != null) + f.Close(); + } + else if (e.KeyCode == Keys.Tab) { + // seems like because the Form is displays with Show(Window) but + // it is not modal, that stops tabs from working correctly, so + // it is handled manually: + sender.Parent.SelectNextControl(sender, true, true, true, true); + e.SuppressKeyPress = true; + e.Handled = true; + } + } + + void nudAlpha_ValueChanged(object sender, EventArgs e) { + trackBar.Value = Convert.ToInt32(nudAlpha.Value); + } + + public override Size GetPreferredSize(Size proposedSize) { + int w = SwatchSize * Cols; + int h = SwatchSize * (((Colors.Length - 1) / Cols) + 1); + h += Math.Max(trackBar.Height, nudAlpha.Height); + return new Size(w, h); + } + + public Color Color { + get { + return color; + } + set { + var c = value; + color = Color.FromArgb(Alpha, c.R, c.G, c.B); + Invalidate(); //Refresh(); + } + } + + public int Alpha { + get { + return trackBar.Value; + } + set { + trackBar.Value = value; + } + } + + public Color[] Colors { + get { + return colors; + } + set { + colors = value; + } + } + + void trackBar_ValueChanged(object sender, EventArgs e) { + nudAlpha.Value = trackBar.Value; + Color c = Color; + Color = Color.FromArgb(trackBar.Value, c.R, c.G, c.B); + Refresh(); + if (AlphaChanged != null) + AlphaChanged(this, EventArgs.Empty); + } + + protected override void OnPaint(PaintEventArgs e) { + base.OnPaint(e); + + int rows = ((Colors.Length - 1) / Cols) + 1; + int r1 = Width / Cols; + int r2 = Height / Cols; + int r = Math.Min(r1, r2); + if (r < SwatchSize) + r = SwatchSize; + + int offsetX = (Width - r * Cols) / 2; + int offsetY = ((Height - Math.Max(nudAlpha.Height, trackBar.Height)) - r * rows) / 2; + + var g = e.Graphics; + int x = 0; + int y = 0; + for (int i = 0, j = 1; i < colors.Length; i++, j++) { + Color c = colors[i]; + + using (var b = new SolidBrush(c)) + g.FillRectangle(b, x + offsetX, y + offsetY, r, r); + + if (j == Cols) { + j = 0; + x = 0; + y += r; + } + else { + x += r; + } + } + + using (var b = new SolidBrush(Color)) + g.FillRectangle(b, r / 2 + offsetX, r / 2 + offsetY, 2 * r, r); + } +} + + +class TrackBar2 : TrackBar { + + public TrackBar2() : base() { + AutoSize = false; + RECT r = GetThumbRect(this); + Height = r.Bottom - r.Top; + } + + public override Size GetPreferredSize(Size proposedSize) { + Size sz = base.GetPreferredSize(proposedSize); + RECT r = GetThumbRect(this); + sz.Height = r.Bottom - r.Top; + return sz; + } + + [StructLayout(LayoutKind.Sequential)] + private struct RECT { + public int Left; + public int Top; + public int Right; + public int Bottom; + } + + [DllImport("user32.dll")] + private static extern void SendMessage(IntPtr hwnd, uint msg, IntPtr wp, ref RECT lp); + + private const uint TBM_GETTHUMBRECT = 0x419; + private static RECT GetThumbRect(TrackBar trackBar) { + RECT rc = new RECT(); + SendMessage(trackBar.Handle, TBM_GETTHUMBRECT, IntPtr.Zero, ref rc); + return rc; + } +} + + +} \ No newline at end of file diff --git a/AnimeSoftware/AnimeForm.Designer.cs b/AnimeSoftware/AnimeForm.Designer.cs new file mode 100644 index 0000000..0f95070 --- /dev/null +++ b/AnimeSoftware/AnimeForm.Designer.cs @@ -0,0 +1,647 @@ +namespace AnimeSoftware +{ + partial class AnimeForm + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.refreshButton = new System.Windows.Forms.Button(); + this.changeButton = new System.Windows.Forms.Button(); + this.nickBox = new System.Windows.Forms.DataGridView(); + this.idColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.nameColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.aliveColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.glowColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.resetButton = new System.Windows.Forms.Button(); + this.bhopCheckBox = new System.Windows.Forms.CheckBox(); + this.doorspammerCheckBox = new System.Windows.Forms.CheckBox(); + this.blockbotCheckBox = new System.Windows.Forms.CheckBox(); + this.doorspammerButton = new System.Windows.Forms.Button(); + this.blockbotButton = new System.Windows.Forms.Button(); + this.fullrefreshButton = new System.Windows.Forms.Button(); + this.namestealerCheckBox = new System.Windows.Forms.CheckBox(); + this.customnameTextBox = new System.Windows.Forms.TextBox(); + this.setupButton = new System.Windows.Forms.Button(); + this.autostrafeCheckBox = new System.Windows.Forms.CheckBox(); + this.nickBoxContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components); + this.stealNameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.setGlowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.redToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.blueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.greenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.customToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.removeGlowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.voteKickToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.stealWhenYouFriendlyfireToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.rightspamButton = new System.Windows.Forms.CheckBox(); + this.trashControl = new System.Windows.Forms.TabControl(); + this.aimTab = new System.Windows.Forms.TabPage(); + this.label5 = new System.Windows.Forms.Label(); + this.smoothLabel = new System.Windows.Forms.Label(); + this.smoothTrackBar = new System.Windows.Forms.TrackBar(); + this.rscCheckBox = new System.Windows.Forms.CheckBox(); + this.fovLabel = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.fovTrackBar = new System.Windows.Forms.TrackBar(); + this.label3 = new System.Windows.Forms.Label(); + this.hitboxComboBox = new System.Windows.Forms.ComboBox(); + this.ffCheckBox = new System.Windows.Forms.CheckBox(); + this.aimbotCheckBox = new System.Windows.Forms.CheckBox(); + this.unlockButton = new System.Windows.Forms.Button(); + this.perfectnadeCheckBox = new System.Windows.Forms.CheckBox(); + this.chatcleanerCheckBox = new System.Windows.Forms.CheckBox(); + this.chokeTrackBar = new System.Windows.Forms.TrackBar(); + this.label6 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.nickBox)).BeginInit(); + this.nickBoxContextMenuStrip.SuspendLayout(); + this.trashControl.SuspendLayout(); + this.aimTab.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.smoothTrackBar)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.fovTrackBar)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.chokeTrackBar)).BeginInit(); + this.SuspendLayout(); + // + // refreshButton + // + this.refreshButton.Location = new System.Drawing.Point(173, 335); + this.refreshButton.Name = "refreshButton"; + this.refreshButton.Size = new System.Drawing.Size(75, 26); + this.refreshButton.TabIndex = 2; + this.refreshButton.Text = "Refresh"; + this.refreshButton.UseVisualStyleBackColor = true; + this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click); + // + // changeButton + // + this.changeButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.changeButton.Location = new System.Drawing.Point(12, 335); + this.changeButton.Name = "changeButton"; + this.changeButton.Size = new System.Drawing.Size(75, 26); + this.changeButton.TabIndex = 5; + this.changeButton.Text = "Steal Name"; + this.changeButton.UseVisualStyleBackColor = true; + this.changeButton.Click += new System.EventHandler(this.changeButton_Click); + // + // nickBox + // + this.nickBox.AllowUserToAddRows = false; + this.nickBox.AllowUserToDeleteRows = false; + this.nickBox.AllowUserToResizeRows = false; + this.nickBox.BackgroundColor = System.Drawing.Color.White; + this.nickBox.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.nickBox.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.idColumn, + this.nameColumn, + this.aliveColumn, + this.glowColumn}); + this.nickBox.GridColor = System.Drawing.Color.Silver; + this.nickBox.Location = new System.Drawing.Point(12, 12); + this.nickBox.Name = "nickBox"; + this.nickBox.ReadOnly = true; + this.nickBox.RowHeadersVisible = false; + this.nickBox.Size = new System.Drawing.Size(317, 317); + this.nickBox.TabIndex = 10; + this.nickBox.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.nickBox_CellClick); + this.nickBox.CellMouseUp += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.nickBox_CellMouseUp); + this.nickBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.nickBox_MouseClick); + // + // idColumn + // + this.idColumn.HeaderText = "Id"; + this.idColumn.Name = "idColumn"; + this.idColumn.ReadOnly = true; + this.idColumn.Width = 30; + // + // nameColumn + // + this.nameColumn.HeaderText = "Name"; + this.nameColumn.Name = "nameColumn"; + this.nameColumn.ReadOnly = true; + this.nameColumn.Width = 185; + // + // aliveColumn + // + this.aliveColumn.HeaderText = "Alive"; + this.aliveColumn.Name = "aliveColumn"; + this.aliveColumn.ReadOnly = true; + this.aliveColumn.Width = 60; + // + // glowColumn + // + this.glowColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.glowColumn.HeaderText = "Glow"; + this.glowColumn.Name = "glowColumn"; + this.glowColumn.ReadOnly = true; + // + // resetButton + // + this.resetButton.Location = new System.Drawing.Point(93, 335); + this.resetButton.Name = "resetButton"; + this.resetButton.Size = new System.Drawing.Size(75, 26); + this.resetButton.TabIndex = 11; + this.resetButton.Text = "Reset name"; + this.resetButton.UseVisualStyleBackColor = true; + this.resetButton.Click += new System.EventHandler(this.resetButton_Click); + // + // bhopCheckBox + // + this.bhopCheckBox.AutoSize = true; + this.bhopCheckBox.Location = new System.Drawing.Point(335, 35); + this.bhopCheckBox.Name = "bhopCheckBox"; + this.bhopCheckBox.Size = new System.Drawing.Size(53, 17); + this.bhopCheckBox.TabIndex = 13; + this.bhopCheckBox.Text = "BHop"; + this.bhopCheckBox.UseVisualStyleBackColor = true; + this.bhopCheckBox.CheckedChanged += new System.EventHandler(this.bhopCheckBox_CheckedChanged); + // + // doorspammerCheckBox + // + this.doorspammerCheckBox.AutoSize = true; + this.doorspammerCheckBox.Location = new System.Drawing.Point(335, 303); + this.doorspammerCheckBox.Name = "doorspammerCheckBox"; + this.doorspammerCheckBox.Size = new System.Drawing.Size(93, 17); + this.doorspammerCheckBox.TabIndex = 14; + this.doorspammerCheckBox.Text = "DoorSpammer"; + this.doorspammerCheckBox.UseVisualStyleBackColor = true; + this.doorspammerCheckBox.CheckedChanged += new System.EventHandler(this.doorspammerCheckBox_CheckedChanged); + // + // blockbotCheckBox + // + this.blockbotCheckBox.AutoSize = true; + this.blockbotCheckBox.Location = new System.Drawing.Point(335, 347); + this.blockbotCheckBox.Name = "blockbotCheckBox"; + this.blockbotCheckBox.Size = new System.Drawing.Size(69, 17); + this.blockbotCheckBox.TabIndex = 15; + this.blockbotCheckBox.Text = "BlockBot"; + this.blockbotCheckBox.UseVisualStyleBackColor = true; + this.blockbotCheckBox.CheckedChanged += new System.EventHandler(this.blockbotCheckBox_CheckedChanged); + // + // doorspammerButton + // + this.doorspammerButton.Location = new System.Drawing.Point(335, 319); + this.doorspammerButton.Name = "doorspammerButton"; + this.doorspammerButton.Size = new System.Drawing.Size(84, 23); + this.doorspammerButton.TabIndex = 17; + this.doorspammerButton.Text = "button2"; + this.doorspammerButton.UseVisualStyleBackColor = true; + this.doorspammerButton.Click += new System.EventHandler(this.doorspammerButton_Click); + this.doorspammerButton.KeyUp += new System.Windows.Forms.KeyEventHandler(this.doorspammerButton_KeyUp); + // + // blockbotButton + // + this.blockbotButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.blockbotButton.Location = new System.Drawing.Point(335, 363); + this.blockbotButton.Name = "blockbotButton"; + this.blockbotButton.Size = new System.Drawing.Size(84, 23); + this.blockbotButton.TabIndex = 18; + this.blockbotButton.Text = "button3"; + this.blockbotButton.UseVisualStyleBackColor = true; + this.blockbotButton.Click += new System.EventHandler(this.blockbotButton_Click); + this.blockbotButton.KeyUp += new System.Windows.Forms.KeyEventHandler(this.blockbotButton_KeyUp); + // + // fullrefreshButton + // + this.fullrefreshButton.Location = new System.Drawing.Point(254, 335); + this.fullrefreshButton.Name = "fullrefreshButton"; + this.fullrefreshButton.Size = new System.Drawing.Size(75, 26); + this.fullrefreshButton.TabIndex = 19; + this.fullrefreshButton.Text = "Full refresh"; + this.fullrefreshButton.UseVisualStyleBackColor = true; + this.fullrefreshButton.Click += new System.EventHandler(this.fullrefreshButton_Click); + // + // namestealerCheckBox + // + this.namestealerCheckBox.AutoSize = true; + this.namestealerCheckBox.Location = new System.Drawing.Point(335, 12); + this.namestealerCheckBox.Name = "namestealerCheckBox"; + this.namestealerCheckBox.Size = new System.Drawing.Size(87, 17); + this.namestealerCheckBox.TabIndex = 20; + this.namestealerCheckBox.Text = "NameStealer"; + this.namestealerCheckBox.UseVisualStyleBackColor = true; + this.namestealerCheckBox.CheckedChanged += new System.EventHandler(this.namestealerCheckBox_CheckedChanged); + // + // customnameTextBox + // + this.customnameTextBox.Location = new System.Drawing.Point(12, 367); + this.customnameTextBox.Name = "customnameTextBox"; + this.customnameTextBox.Size = new System.Drawing.Size(259, 20); + this.customnameTextBox.TabIndex = 21; + this.customnameTextBox.Text = "Custom name"; + // + // setupButton + // + this.setupButton.Location = new System.Drawing.Point(277, 367); + this.setupButton.Name = "setupButton"; + this.setupButton.Size = new System.Drawing.Size(52, 20); + this.setupButton.TabIndex = 22; + this.setupButton.Text = "Set"; + this.setupButton.UseVisualStyleBackColor = true; + this.setupButton.Click += new System.EventHandler(this.setupButton_Click); + // + // autostrafeCheckBox + // + this.autostrafeCheckBox.AutoSize = true; + this.autostrafeCheckBox.Location = new System.Drawing.Point(335, 100); + this.autostrafeCheckBox.Name = "autostrafeCheckBox"; + this.autostrafeCheckBox.Size = new System.Drawing.Size(76, 17); + this.autostrafeCheckBox.TabIndex = 26; + this.autostrafeCheckBox.Text = "AutoStrafe"; + this.autostrafeCheckBox.UseVisualStyleBackColor = true; + this.autostrafeCheckBox.CheckedChanged += new System.EventHandler(this.autostrafeCheckBox_CheckedChanged); + // + // nickBoxContextMenuStrip + // + this.nickBoxContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.stealNameToolStripMenuItem, + this.setGlowToolStripMenuItem, + this.removeGlowToolStripMenuItem, + this.voteKickToolStripMenuItem, + this.stealWhenYouFriendlyfireToolStripMenuItem}); + this.nickBoxContextMenuStrip.Name = "nickBoxContextMenuStrip"; + this.nickBoxContextMenuStrip.Size = new System.Drawing.Size(215, 114); + this.nickBoxContextMenuStrip.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.nickBoxContextMenuStrip_ItemClicked); + // + // stealNameToolStripMenuItem + // + this.stealNameToolStripMenuItem.Name = "stealNameToolStripMenuItem"; + this.stealNameToolStripMenuItem.Size = new System.Drawing.Size(214, 22); + this.stealNameToolStripMenuItem.Text = "Steal Name"; + // + // setGlowToolStripMenuItem + // + this.setGlowToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.redToolStripMenuItem, + this.blueToolStripMenuItem, + this.greenToolStripMenuItem, + this.customToolStripMenuItem}); + this.setGlowToolStripMenuItem.Name = "setGlowToolStripMenuItem"; + this.setGlowToolStripMenuItem.Size = new System.Drawing.Size(214, 22); + this.setGlowToolStripMenuItem.Text = "Set Glow"; + this.setGlowToolStripMenuItem.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.setGlowToolStripMenuItem_DropDownItemClicked_1); + // + // redToolStripMenuItem + // + this.redToolStripMenuItem.Name = "redToolStripMenuItem"; + this.redToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + this.redToolStripMenuItem.Text = "Red"; + // + // blueToolStripMenuItem + // + this.blueToolStripMenuItem.Name = "blueToolStripMenuItem"; + this.blueToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + this.blueToolStripMenuItem.Text = "Blue"; + // + // greenToolStripMenuItem + // + this.greenToolStripMenuItem.Name = "greenToolStripMenuItem"; + this.greenToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + this.greenToolStripMenuItem.Text = "Green"; + // + // customToolStripMenuItem + // + this.customToolStripMenuItem.Name = "customToolStripMenuItem"; + this.customToolStripMenuItem.Size = new System.Drawing.Size(116, 22); + this.customToolStripMenuItem.Text = "Custom"; + // + // removeGlowToolStripMenuItem + // + this.removeGlowToolStripMenuItem.Name = "removeGlowToolStripMenuItem"; + this.removeGlowToolStripMenuItem.Size = new System.Drawing.Size(214, 22); + this.removeGlowToolStripMenuItem.Text = "Remove Glow"; + // + // voteKickToolStripMenuItem + // + this.voteKickToolStripMenuItem.Enabled = false; + this.voteKickToolStripMenuItem.Name = "voteKickToolStripMenuItem"; + this.voteKickToolStripMenuItem.Size = new System.Drawing.Size(214, 22); + this.voteKickToolStripMenuItem.Text = "Vote Kick"; + // + // stealWhenYouFriendlyfireToolStripMenuItem + // + this.stealWhenYouFriendlyfireToolStripMenuItem.Name = "stealWhenYouFriendlyfireToolStripMenuItem"; + this.stealWhenYouFriendlyfireToolStripMenuItem.Size = new System.Drawing.Size(214, 22); + this.stealWhenYouFriendlyfireToolStripMenuItem.Text = "Steal when you friendlyfire"; + // + // rightspamButton + // + this.rightspamButton.AutoSize = true; + this.rightspamButton.Location = new System.Drawing.Point(335, 123); + this.rightspamButton.Name = "rightspamButton"; + this.rightspamButton.Size = new System.Drawing.Size(135, 30); + this.rightspamButton.TabIndex = 28; + this.rightspamButton.Text = "Spam Glock-18/Famas\r\nScope/R8"; + this.rightspamButton.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.rightspamButton.UseVisualStyleBackColor = true; + this.rightspamButton.CheckedChanged += new System.EventHandler(this.rightspamButton_CheckedChanged); + // + // trashControl + // + this.trashControl.Controls.Add(this.aimTab); + this.trashControl.Location = new System.Drawing.Point(476, 55); + this.trashControl.Name = "trashControl"; + this.trashControl.SelectedIndex = 0; + this.trashControl.Size = new System.Drawing.Size(145, 371); + this.trashControl.TabIndex = 29; + // + // aimTab + // + this.aimTab.Controls.Add(this.label5); + this.aimTab.Controls.Add(this.smoothLabel); + this.aimTab.Controls.Add(this.smoothTrackBar); + this.aimTab.Controls.Add(this.rscCheckBox); + this.aimTab.Controls.Add(this.fovLabel); + this.aimTab.Controls.Add(this.label4); + this.aimTab.Controls.Add(this.fovTrackBar); + this.aimTab.Controls.Add(this.label3); + this.aimTab.Controls.Add(this.hitboxComboBox); + this.aimTab.Controls.Add(this.ffCheckBox); + this.aimTab.Controls.Add(this.aimbotCheckBox); + this.aimTab.Location = new System.Drawing.Point(4, 22); + this.aimTab.Name = "aimTab"; + this.aimTab.Padding = new System.Windows.Forms.Padding(3); + this.aimTab.Size = new System.Drawing.Size(137, 345); + this.aimTab.TabIndex = 1; + this.aimTab.Text = "Aimbot"; + this.aimTab.UseVisualStyleBackColor = true; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(17, 180); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(38, 13); + this.label5.TabIndex = 10; + this.label5.Text = "Speed"; + // + // smoothLabel + // + this.smoothLabel.Location = new System.Drawing.Point(20, 222); + this.smoothLabel.Name = "smoothLabel"; + this.smoothLabel.Size = new System.Drawing.Size(100, 17); + this.smoothLabel.TabIndex = 9; + this.smoothLabel.Text = "0"; + this.smoothLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // smoothTrackBar + // + this.smoothTrackBar.AutoSize = false; + this.smoothTrackBar.BackColor = System.Drawing.Color.White; + this.smoothTrackBar.Location = new System.Drawing.Point(20, 196); + this.smoothTrackBar.Maximum = 10000; + this.smoothTrackBar.Minimum = 1; + this.smoothTrackBar.Name = "smoothTrackBar"; + this.smoothTrackBar.Size = new System.Drawing.Size(100, 27); + this.smoothTrackBar.TabIndex = 8; + this.smoothTrackBar.Value = 1; + this.smoothTrackBar.Scroll += new System.EventHandler(this.smoothTrackBar_Scroll); + // + // rscCheckBox + // + this.rscCheckBox.AutoSize = true; + this.rscCheckBox.Location = new System.Drawing.Point(20, 47); + this.rscCheckBox.Name = "rscCheckBox"; + this.rscCheckBox.Size = new System.Drawing.Size(48, 17); + this.rscCheckBox.TabIndex = 7; + this.rscCheckBox.Text = "RSC"; + this.rscCheckBox.UseVisualStyleBackColor = true; + this.rscCheckBox.CheckedChanged += new System.EventHandler(this.rscCheckBox_CheckedChanged); + // + // fovLabel + // + this.fovLabel.Location = new System.Drawing.Point(20, 158); + this.fovLabel.Name = "fovLabel"; + this.fovLabel.Size = new System.Drawing.Size(100, 13); + this.fovLabel.TabIndex = 6; + this.fovLabel.Text = "0"; + this.fovLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(17, 114); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(28, 13); + this.label4.TabIndex = 5; + this.label4.Text = "FOV"; + // + // fovTrackBar + // + this.fovTrackBar.AutoSize = false; + this.fovTrackBar.BackColor = System.Drawing.Color.White; + this.fovTrackBar.Location = new System.Drawing.Point(20, 130); + this.fovTrackBar.Maximum = 36000; + this.fovTrackBar.Name = "fovTrackBar"; + this.fovTrackBar.Size = new System.Drawing.Size(100, 27); + this.fovTrackBar.TabIndex = 4; + this.fovTrackBar.Scroll += new System.EventHandler(this.fovTrackBar_Scroll); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(17, 67); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(32, 13); + this.label3.TabIndex = 3; + this.label3.Text = "Bone"; + // + // hitboxComboBox + // + this.hitboxComboBox.FormattingEnabled = true; + this.hitboxComboBox.Location = new System.Drawing.Point(20, 83); + this.hitboxComboBox.Name = "hitboxComboBox"; + this.hitboxComboBox.Size = new System.Drawing.Size(82, 21); + this.hitboxComboBox.TabIndex = 2; + this.hitboxComboBox.SelectedIndexChanged += new System.EventHandler(this.hitboxComboBox_SelectedIndexChanged); + // + // ffCheckBox + // + this.ffCheckBox.AutoSize = true; + this.ffCheckBox.Location = new System.Drawing.Point(20, 29); + this.ffCheckBox.Name = "ffCheckBox"; + this.ffCheckBox.Size = new System.Drawing.Size(82, 17); + this.ffCheckBox.TabIndex = 1; + this.ffCheckBox.Text = "Friendly Fire"; + this.ffCheckBox.UseVisualStyleBackColor = true; + this.ffCheckBox.CheckedChanged += new System.EventHandler(this.ffCheckBox_CheckedChanged); + // + // aimbotCheckBox + // + this.aimbotCheckBox.AutoSize = true; + this.aimbotCheckBox.Location = new System.Drawing.Point(6, 6); + this.aimbotCheckBox.Name = "aimbotCheckBox"; + this.aimbotCheckBox.Size = new System.Drawing.Size(59, 17); + this.aimbotCheckBox.TabIndex = 0; + this.aimbotCheckBox.Text = "Enable"; + this.aimbotCheckBox.UseVisualStyleBackColor = true; + this.aimbotCheckBox.CheckedChanged += new System.EventHandler(this.aimbotCheckBox_CheckedChanged); + // + // unlockButton + // + this.unlockButton.Location = new System.Drawing.Point(464, 380); + this.unlockButton.Name = "unlockButton"; + this.unlockButton.Size = new System.Drawing.Size(10, 10); + this.unlockButton.TabIndex = 31; + this.unlockButton.UseVisualStyleBackColor = true; + this.unlockButton.Click += new System.EventHandler(this.unlockButton_Click); + // + // perfectnadeCheckBox + // + this.perfectnadeCheckBox.AutoSize = true; + this.perfectnadeCheckBox.Location = new System.Drawing.Point(335, 159); + this.perfectnadeCheckBox.Name = "perfectnadeCheckBox"; + this.perfectnadeCheckBox.Size = new System.Drawing.Size(68, 17); + this.perfectnadeCheckBox.TabIndex = 34; + this.perfectnadeCheckBox.Text = "-98 nade"; + this.perfectnadeCheckBox.UseVisualStyleBackColor = true; + this.perfectnadeCheckBox.CheckedChanged += new System.EventHandler(this.perfectnadeCheckBox_CheckedChanged); + // + // chatcleanerCheckBox + // + this.chatcleanerCheckBox.AutoSize = true; + this.chatcleanerCheckBox.Location = new System.Drawing.Point(335, 182); + this.chatcleanerCheckBox.Name = "chatcleanerCheckBox"; + this.chatcleanerCheckBox.Size = new System.Drawing.Size(85, 17); + this.chatcleanerCheckBox.TabIndex = 35; + this.chatcleanerCheckBox.Text = "ChatBreaker"; + this.chatcleanerCheckBox.UseVisualStyleBackColor = true; + this.chatcleanerCheckBox.CheckedChanged += new System.EventHandler(this.chatcleanerCheckBox_CheckedChanged); + // + // chokeTrackBar + // + this.chokeTrackBar.AutoSize = false; + this.chokeTrackBar.Location = new System.Drawing.Point(335, 71); + this.chokeTrackBar.Maximum = 100; + this.chokeTrackBar.Name = "chokeTrackBar"; + this.chokeTrackBar.Size = new System.Drawing.Size(104, 23); + this.chokeTrackBar.TabIndex = 36; + this.chokeTrackBar.Scroll += new System.EventHandler(this.chokeTrackBar_Scroll); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(335, 55); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(96, 13); + this.label6.TabIndex = 37; + this.label6.Text = "Choke Percentage"; + // + // AnimeForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(476, 395); + this.Controls.Add(this.label6); + this.Controls.Add(this.chokeTrackBar); + this.Controls.Add(this.chatcleanerCheckBox); + this.Controls.Add(this.perfectnadeCheckBox); + this.Controls.Add(this.unlockButton); + this.Controls.Add(this.trashControl); + this.Controls.Add(this.rightspamButton); + this.Controls.Add(this.autostrafeCheckBox); + this.Controls.Add(this.setupButton); + this.Controls.Add(this.customnameTextBox); + this.Controls.Add(this.namestealerCheckBox); + this.Controls.Add(this.fullrefreshButton); + this.Controls.Add(this.blockbotButton); + this.Controls.Add(this.doorspammerButton); + this.Controls.Add(this.blockbotCheckBox); + this.Controls.Add(this.doorspammerCheckBox); + this.Controls.Add(this.bhopCheckBox); + this.Controls.Add(this.resetButton); + this.Controls.Add(this.nickBox); + this.Controls.Add(this.changeButton); + this.Controls.Add(this.refreshButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.ImeMode = System.Windows.Forms.ImeMode.On; + this.Name = "AnimeForm"; + this.Text = "AnimeSoftware"; + this.Load += new System.EventHandler(this.Form1_Load); + this.Shown += new System.EventHandler(this.AnimeForm_Shown); + ((System.ComponentModel.ISupportInitialize)(this.nickBox)).EndInit(); + this.nickBoxContextMenuStrip.ResumeLayout(false); + this.trashControl.ResumeLayout(false); + this.aimTab.ResumeLayout(false); + this.aimTab.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.smoothTrackBar)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.fovTrackBar)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.chokeTrackBar)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.Button changeButton; + private System.Windows.Forms.DataGridView nickBox; + private System.Windows.Forms.Button resetButton; + public System.Windows.Forms.Button refreshButton; + private System.Windows.Forms.CheckBox bhopCheckBox; + private System.Windows.Forms.CheckBox doorspammerCheckBox; + private System.Windows.Forms.CheckBox blockbotCheckBox; + private System.Windows.Forms.Button doorspammerButton; + private System.Windows.Forms.Button blockbotButton; + private System.Windows.Forms.Button fullrefreshButton; + private System.Windows.Forms.CheckBox namestealerCheckBox; + private System.Windows.Forms.TextBox customnameTextBox; + private System.Windows.Forms.Button setupButton; + private System.Windows.Forms.CheckBox autostrafeCheckBox; + private System.Windows.Forms.ContextMenuStrip nickBoxContextMenuStrip; + private System.Windows.Forms.ToolStripMenuItem stealNameToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem setGlowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem redToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem blueToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem greenToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem customToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem voteKickToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem removeGlowToolStripMenuItem; + private System.Windows.Forms.DataGridViewTextBoxColumn idColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn nameColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn aliveColumn; + private System.Windows.Forms.DataGridViewTextBoxColumn glowColumn; + private System.Windows.Forms.CheckBox rightspamButton; + private System.Windows.Forms.TabControl trashControl; + private System.Windows.Forms.TabPage aimTab; + private System.Windows.Forms.CheckBox aimbotCheckBox; + private System.Windows.Forms.TrackBar fovTrackBar; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.ComboBox hitboxComboBox; + private System.Windows.Forms.CheckBox ffCheckBox; + private System.Windows.Forms.Label fovLabel; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label smoothLabel; + private System.Windows.Forms.TrackBar smoothTrackBar; + private System.Windows.Forms.CheckBox rscCheckBox; + private System.Windows.Forms.Button unlockButton; + private System.Windows.Forms.ToolStripMenuItem stealWhenYouFriendlyfireToolStripMenuItem; + private System.Windows.Forms.CheckBox perfectnadeCheckBox; + private System.Windows.Forms.CheckBox chatcleanerCheckBox; + private System.Windows.Forms.TrackBar chokeTrackBar; + private System.Windows.Forms.Label label6; + } +} + diff --git a/AnimeSoftware/AnimeForm.cs b/AnimeSoftware/AnimeForm.cs new file mode 100644 index 0000000..ceb8134 --- /dev/null +++ b/AnimeSoftware/AnimeForm.cs @@ -0,0 +1,634 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using hazedumper; +using Opulos; +using Opulos.Core.UI; + +namespace AnimeSoftware +{ + public partial class AnimeForm : Form + { + + public const int WM_NCLBUTTONDOWN = 0xA1; + public const int HT_CAPTION = 0x2; + public AnimeForm() + { + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + + + while (!Init()) + { + DialogResult result = MessageBox.Show("The game is not open.\nAlso make sure that you open the application as administrator.", "Can't attach to process", MessageBoxButtons.RetryCancel, MessageBoxIcon.Information); + switch (result) + { + case DialogResult.Retry: + break; + case DialogResult.Cancel: + Environment.Exit(0); + break; + default: + Environment.Exit(0); + break; + } + Thread.Sleep(100); + } + ScannedOffsets.Init(); + Properties.Settings.Default.namestealer = false; + Properties.Settings.Default.Save(); + Start(); + + } + + + + public static void Start() + { + Thread blockbotThread = new Thread(new ThreadStart(BlockBot.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + blockbotThread.Start(); + + Thread bhopThread = new Thread(new ThreadStart(BHop.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + bhopThread.Start(); + + Thread doorspamThread = new Thread(new ThreadStart(DoorSpam.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + doorspamThread.Start(); + + Thread checksThread = new Thread(new ThreadStart(Checks.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + checksThread.Start(); + + Thread namestealerThread = new Thread(new ThreadStart(NameStealer.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + namestealerThread.Start(); + + Thread perfectnameThread = new Thread(new ThreadStart(PerfectNade.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + perfectnameThread.Start(); + + //Thread runboostThread = new Thread(new ThreadStart(RunboostBot.Start)) + //{ + // Priority = ThreadPriority.Highest, // disabled + // IsBackground = true, + //}; + //runboostThread.Start(); + + Thread visualsThread = new Thread(new ThreadStart(Visuals.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + visualsThread.Start(); + } + + + + public void UpdateNickBox() + { + nickBox.Rows.Clear(); + if (!LocalPlayer.InGame) + return; + nickBox.Rows.Add(LocalPlayer.Index, LocalPlayer.Name); + foreach (Entity x in Entity.List().Where(x => x.isTeam)) + { + Color teamColor = Color.Blue; + Color statusColor; + if (x.IsDead) + statusColor = Color.YellowGreen; + else + statusColor = Color.Green; + + int ind = nickBox.Rows.Add(x.Index, x.Name2, !x.IsDead); + nickBox.Rows[ind].Cells["nameColumn"].Style.ForeColor = teamColor; + nickBox.Rows[ind].Cells["aliveColumn"].Style.ForeColor = statusColor; + } + foreach (Entity x in Entity.List().Where(x => !x.isTeam)) + { + Color teamColor = Color.Red; + Color statusColor; + if (x.IsDead) + statusColor = Color.YellowGreen; + else + statusColor = Color.Green; + + int ind = nickBox.Rows.Add(x.Index, x.Name2, !x.IsDead); + nickBox.Rows[ind].Cells["nameColumn"].Style.ForeColor = teamColor; + nickBox.Rows[ind].Cells["aliveColumn"].Style.ForeColor = statusColor; + } + } + public static bool Init() + { + Checks.CheckVersion(); + if(Properties.Settings.Default.debug) + Console.WriteLine("Update checked..."); + if (!Memory.OpenProcess("csgo")) + return false; + if (Properties.Settings.Default.debug) + Console.WriteLine("Process opened..."); + Thread.Sleep(100); + if (!Memory.ProcessHandle()) + return false; + if (Properties.Settings.Default.debug) + Console.WriteLine("Process handled..."); + Thread.Sleep(100); + if (!Memory.GetModules()) + return false; + if (Properties.Settings.Default.debug) + Console.WriteLine("Module get succses..."); + return true; + } + + + + private void refreshButton_Click(object sender, EventArgs e) + { + UpdateNickBox(); + } + + + + private void changeButton_Click(object sender, EventArgs e) + { + int id = Convert.ToInt32(nickBox.Rows[nickBox.SelectedCells[0].RowIndex].Cells[nickBox.Columns["idColumn"].Index].Value); + + ConVarManager.StealName(id); + + UpdateNickBox(); + } + + private void controlPanel_MouseDown(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + DllImport.ReleaseCapture(); + DllImport.SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); + } + } + + private void closeButton_Click(object sender, EventArgs e) + { + Environment.Exit(0); + } + + private void nickBox_CellClick(object sender, DataGridViewCellEventArgs e) + { + nickBox.Rows[e.RowIndex].Selected = true; + } + + private void resetButton_Click(object sender, EventArgs e) + { + ConVarManager.ChangeName(LocalPlayer.Name); + UpdateNickBox(); + } + + private void kickButton_Click(object sender, EventArgs e) + { + // idk how get UserID lol + } + + private void AnimeForm_Shown(object sender, EventArgs e) + { + + UpdateNickBox(); + + InitForm(); + InitHotkey(); + } + + public void InitForm() + { + bhopCheckBox.Checked = Properties.Settings.Default.bhop; + doorspammerCheckBox.Checked = Properties.Settings.Default.doorspammer; + blockbotCheckBox.Checked = Properties.Settings.Default.blockbot; + namestealerCheckBox.Checked = Properties.Settings.Default.namestealer; + autostrafeCheckBox.Checked = Properties.Settings.Default.autostrafe; + autostrafeCheckBox.Enabled = bhopCheckBox.Checked; + aimbotCheckBox.Checked = Properties.Settings.Default.aimbot; + rscCheckBox.Checked = Properties.Settings.Default.rsc; + ffCheckBox.Checked = Properties.Settings.Default.friendlyfire; + perfectnadeCheckBox.Checked = Properties.Settings.Default.perfectnade; + fovTrackBar.Value = (int)(Properties.Settings.Default.fov*100); + fovLabel.Text = Properties.Settings.Default.fov.ToString(); + smoothTrackBar.Value = (int)(Properties.Settings.Default.smooth * 100); + smoothLabel.Text = Properties.Settings.Default.smooth.ToString(); + chokeTrackBar.Value = Properties.Settings.Default.bhopChoke; + if(Properties.Settings.Default.unlock) + this.Width += 145; + foreach (string x in Structs.Hitbox.Values) + hitboxComboBox.Items.Add(x); + if(Properties.Settings.Default.boneid!=0) + hitboxComboBox.SelectedItem = Structs.Hitbox[Properties.Settings.Default.boneid]; + } + public void InitHotkey() + { + blockbotButton.Text = ((Keys)Properties.Hotkey.Default.blockbotKey).ToString(); + doorspammerButton.Text = ((Keys)Properties.Hotkey.Default.doorspammerKey).ToString(); + } + + private void bhopCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.bhop = bhopCheckBox.Checked; + Properties.Settings.Default.Save(); + + autostrafeCheckBox.Enabled = bhopCheckBox.Checked; + } + + private void doorspammerCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.doorspammer = doorspammerCheckBox.Checked; + Properties.Settings.Default.Save(); + } + + private void blockbotCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.blockbot = blockbotCheckBox.Checked; + Properties.Settings.Default.Save(); + } + + private void namestealerCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.namestealer = namestealerCheckBox.Checked; + Properties.Settings.Default.Save(); + + } + private void autostrafeCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.autostrafe = autostrafeCheckBox.Checked; + Properties.Settings.Default.Save(); + } + private void doorspammerButton_Click(object sender, EventArgs e) + { + doorspammerButton.Text = "Press key"; + } + private void blockbotButton_Click(object sender, EventArgs e) + { + blockbotButton.Text = "Press key"; + } + private void doorspammerButton_KeyUp(object sender, KeyEventArgs e) + { + Properties.Hotkey.Default.doorspammerKey = e.KeyValue; + Properties.Hotkey.Default.Save(); + InitHotkey(); + label6.Focus(); + } + + private void blockbotButton_KeyUp(object sender, KeyEventArgs e) + { + Properties.Hotkey.Default.blockbotKey = e.KeyValue; + Properties.Hotkey.Default.Save(); + InitHotkey(); + label6.Focus(); + } + private void runboostbotButton_KeyUp(object sender, KeyEventArgs e) + { + Properties.Hotkey.Default.runboostbotKey = e.KeyValue; + Properties.Hotkey.Default.Save(); + InitHotkey(); + label6.Focus(); + } + private void fullrefreshButton_Click(object sender, EventArgs e) + { + Checks.PreLoad(); + UpdateNickBox(); + } + + private void setupButton_Click(object sender, EventArgs e) + { + ConVarManager.ChangeName(customnameTextBox.Text); + LocalPlayer.Name = customnameTextBox.Text; + UpdateNickBox(); + } + + private void nickBox_MouseClick(object sender, MouseEventArgs e) + { + if (!(e.Button == MouseButtons.Right)) + return; + + int currentMouseOverRow = nickBox.HitTest(e.X, e.Y).RowIndex; + + if (currentMouseOverRow >= 0) + { + nickBoxContextMenuStrip.Show(Cursor.Position); + } + + } + private void nickBoxContextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) + { + if (e.ClickedItem == stealNameToolStripMenuItem) + { + changeButton.PerformClick(); // switch doesnt work lol + return; + } + if (e.ClickedItem == stealWhenYouFriendlyfireToolStripMenuItem) + { + NameStealer.fakenametargetid = (int)nickBox.Rows[nickBox.SelectedCells[0].RowIndex].Cells[nickBox.Columns["idColumn"].Index].Value; + } + if (e.ClickedItem == removeGlowToolStripMenuItem) + { + List ToGlow = Visuals.ToGlow; + List entityIndex = new List(); + foreach (DataGridViewCell i in nickBox.SelectedCells) + { + if (i.ColumnIndex == nickBox.Columns["idColumn"].Index) + entityIndex.Add(Convert.ToInt32(i.Value)); + } + foreach (Entity x in Entity.List()) + { + if (entityIndex.Contains(x.Index)) + { + ToGlow.Remove(ToGlow.Find(j => j.Index == x.Index)); + } + } + Visuals.ToGlow = ToGlow; + } + } + private void toGlowListChange(GlowColor glowColor) + { + List ToGlow = Visuals.ToGlow; + List entityIndex = new List(); + foreach (DataGridViewCell i in nickBox.SelectedCells) + { + if (i.ColumnIndex == nickBox.Columns["idColumn"].Index) + entityIndex.Add(Convert.ToInt32(i.Value)); + if (i.ColumnIndex == nickBox.Columns["glowColumn"].Index) + i.Style.BackColor = glowColor.ToColor; + + } + foreach (Entity x in Entity.List()) + { + if (entityIndex.Contains(x.Index)) + { + ToGlow.Remove(ToGlow.Find(j => j.Index == x.Index)); + x.Glowing = true; + x.glowColor = glowColor; + x.glowSettings = new GlowSettings(true, false, false); + ToGlow.Add(x); + continue; + } + } + nickBox.ClearSelection(); + Visuals.ToGlow = ToGlow; + } + + private void nickBox_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) + { + foreach (DataGridViewCell x in nickBox.SelectedCells) + { + nickBox.Rows[x.RowIndex].Selected = true; + } + } + + private void setGlowToolStripMenuItem_DropDownItemClicked_1(object sender, ToolStripItemClickedEventArgs e) + { + GlowColor glowColor = new GlowColor(); + if (e.ClickedItem == redToolStripMenuItem) + { + glowColor = new GlowColor(Color.Red); + } + if (e.ClickedItem == greenToolStripMenuItem) + { + glowColor = new GlowColor(Color.Green); + } + if (e.ClickedItem == blueToolStripMenuItem) + { + glowColor = new GlowColor(Color.Blue); + } + if (e.ClickedItem == customToolStripMenuItem) + { + + AlphaColorDialog colorDialog = new AlphaColorDialog() + { + FullOpen = true, + Color = Color.Gray, + }; + nickBoxContextMenuStrip.Hide(); + if (colorDialog.ShowDialog() == DialogResult.OK) + { + glowColor = new GlowColor(colorDialog.Color); + } + } + + toGlowListChange(glowColor); + } + + private void rightspamButton_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.weaponspammer = rightspamButton.Checked; + Properties.Settings.Default.Save(); + Thread weaponspammerThread = new Thread(new ThreadStart(WeaponSpammer.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + if (Properties.Settings.Default.weaponspammer) + weaponspammerThread.Start(); + } + + private void fovTrackBar_Scroll(object sender, EventArgs e) + { + float fov = fovTrackBar.Value / 100f; + fovLabel.Text = fov.ToString(); + Properties.Settings.Default.fov = fov; + Properties.Settings.Default.Save(); + } + + private void hitboxComboBox_SelectedIndexChanged(object sender, EventArgs e) + { + Properties.Settings.Default.boneid = Structs.Hitbox.ElementAt(hitboxComboBox.SelectedIndex).Key; + Properties.Settings.Default.Save(); + } + + private void smoothTrackBar_Scroll(object sender, EventArgs e) + { + float smooth = smoothTrackBar.Value / 100f; + smoothLabel.Text = smooth.ToString(); + Properties.Settings.Default.smooth = smooth; + Properties.Settings.Default.Save(); + } + + private void aimbotCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.aimbot = aimbotCheckBox.Checked; + Thread aimbotThread = new Thread(new ThreadStart(Aimbot.Start)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + aimbotThread.Start(); + Properties.Settings.Default.Save(); + } + + private void ffCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.friendlyfire = ffCheckBox.Checked; + Properties.Settings.Default.Save(); + } + + private void rscCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.rsc = rscCheckBox.Checked; + Properties.Settings.Default.Save(); + } + + private void unlockButton_Click(object sender, EventArgs e) + { + if (customnameTextBox.Text == "for some reason I needed extra functions that this cheat does not imply" || customnameTextBox.Text == "sagiri best girl") + { + if(!Properties.Settings.Default.unlock) + this.Width += 145; + Properties.Settings.Default.unlock = true; + Properties.Settings.Default.Save(); + } + if (customnameTextBox.Text == "") + { + if (Properties.Settings.Default.unlock) + this.Width -= 145; + Properties.Settings.Default.unlock = false; + Properties.Settings.Default.Save(); + } + + } + + private void perfectnadeCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.perfectnade = perfectnadeCheckBox.Checked; + Properties.Settings.Default.Save(); + } + + private void chatcleanerCheckBox_CheckedChanged(object sender, EventArgs e) + { + Properties.Settings.Default.chatcleaner = chatcleanerCheckBox.Checked; + Properties.Settings.Default.Save(); + + Thread chatcleanerThread = new Thread(new ThreadStart(ChatSpammer.ChatCleaner)) + { + Priority = ThreadPriority.Highest, + IsBackground = true, + }; + chatcleanerThread.Start(); + } + + private void chokeTrackBar_Scroll(object sender, EventArgs e) + { + Properties.Settings.Default.bhopChoke = chokeTrackBar.Value; + Properties.Settings.Default.Save(); + } + + + + + + + + // public static byte[] Shellcode = { + // 0x55, + // 0x8B, 0xEC, + // 0x83, 0xE4, 0xF8, + // 0x83, 0xEC, 0x44, + // 0x53, + // 0x56, + // 0x57, + // 0xBF, 0x00, 0x00, 0x00, 0x00, + // 0xBE, 0x00, 0x00, 0x00, 0x00, + // 0xB8, 0x00, 0x00, 0x00, 0x00, + // 0xFF, 0xE0, + // 0x6E, 0x61, 0x6D, 0x65, 0x00, + // 0x00 + // }; + + // public static int Size = Shellcode.Length; + // public static IntPtr Address; + // private void button1_Click_1(object sender, EventArgs e) + // { + // string name = "\n\xAD\xAD\xAD"; + // Allocator alloc = new Allocator(); + + // if (Address == IntPtr.Zero) + // { + // Address = alloc.Alloc(Size); + + // if (Address == IntPtr.Zero) + // return; + + // Buffer.BlockCopy(BitConverter.GetBytes((int)Address + 0x1D), 0, Shellcode, 0xD, 4); + // Buffer.BlockCopy(BitConverter.GetBytes((int)Address + 0x22), 0, Shellcode, 0x12, 4); + // Buffer.BlockCopy(BitConverter.GetBytes(Memory.Engine + ScannedOffsets.SetConVar), 0, Shellcode, 0x17, 4); + + // } + + // if (!LocalPlayer.InGame) return; + + // byte[] reset = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + // byte[] name_bytes; + // if (name == "\n") + // { + // name_bytes = Encoding.UTF8.GetBytes('\n' + "\0"); + // } + // else + // { + // name_bytes = Encoding.UTF8.GetBytes(name + "\0"); + // } + + // //Buffer.BlockCopy(reset, 0, Shellcode, 0x22, reset.Length); + // //Buffer.BlockCopy(name_bytes, 0, Shellcode, 0x22, name_bytes.Length); + // Memory.WriteProcessMemory(Memory.pHandle, Address, Shellcode, Shellcode.Length, 0); + + // for (int i = 0; i < 1000; i++) + // { + // CreateThread.Execute(Address); + // Thread.Sleep(1); + // } + + // } + + //} + //public static class CreateThread + //{ + // public static void Create(IntPtr address, byte[] shellcode) + // { + // Memory.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); + // } + } +} diff --git a/AnimeSoftware/AnimeForm.resx b/AnimeSoftware/AnimeForm.resx new file mode 100644 index 0000000..6850773 --- /dev/null +++ b/AnimeSoftware/AnimeForm.resx @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + 17, 17 + + \ No newline at end of file diff --git a/AnimeSoftware/AnimeSoftware.csproj b/AnimeSoftware/AnimeSoftware.csproj new file mode 100644 index 0000000..f677489 --- /dev/null +++ b/AnimeSoftware/AnimeSoftware.csproj @@ -0,0 +1,125 @@ + + + + + Debug + AnyCPU + {617F8F5F-8917-4843-AAB3-66DA09EB7DB7} + Exe + AnimeSoftware + AnimeSoftware + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + Component + + + Component + + + + + + + + + + + + + + + + + + + + Form + + + AnimeForm.cs + + + + + + + + + True + True + Hotkey.settings + + + + + AnimeForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Hotkey.Designer.cs + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/AnimeSoftware/App.config b/AnimeSoftware/App.config new file mode 100644 index 0000000..a675120 --- /dev/null +++ b/AnimeSoftware/App.config @@ -0,0 +1,84 @@ + + + + +
+
+ + + + + + + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + 1 + + + 0 + + + 1 + + + False + + + False + + + True + + + False + + + False + + + False + + + 0 + + + + + 18 + + + 20 + + + 90 + + + + \ No newline at end of file diff --git a/AnimeSoftware/Checks.cs b/AnimeSoftware/Checks.cs new file mode 100644 index 0000000..9816f5f --- /dev/null +++ b/AnimeSoftware/Checks.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AnimeSoftware +{ + class Checks + { + public static bool Update = false; + public static void Start() + { + while (true) + { + if (!LocalPlayer.InGame) + Update = false; + + if (LocalPlayer.InGame && !Update) + { + PreLoad(); + } + Thread.Sleep(1000); + } + } + + public static void PreLoad() + { + if (!LocalPlayer.InGame) + return; + + Update = true; + LocalPlayer.GetIndex(); + LocalPlayer.Name = LocalPlayer.GetName2; + } + + 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 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) + System.Diagnostics.Process.Start("https://github.com/sagirilover/AnimeSoftware"); + } + + } + } + + public static string version = "v2.40"; + + } +} diff --git a/AnimeSoftware/Hacks/Aimbot.cs b/AnimeSoftware/Hacks/Aimbot.cs new file mode 100644 index 0000000..db5bb22 --- /dev/null +++ b/AnimeSoftware/Hacks/Aimbot.cs @@ -0,0 +1,131 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Drawing; +using System.Threading; + +namespace AnimeSoftware +{ + class Aimbot + { + public static Vector3 oldPunchAngle = new Vector3(); + public static void Start() + { + while (Properties.Settings.Default.aimbot) + { + Thread.Sleep(1); + + if (!LocalPlayer.InGame) + continue; + if (LocalPlayer.Health <= 0) + continue; + if (LocalPlayer.Dormant) + continue; + if (!((DllImport.GetAsyncKeyState(0x01) & 0x8000) != 0)) + continue; + + Entity target = BestFOV(Properties.Settings.Default.fov, Properties.Settings.Default.boneid); + + if (target.Index == -1) + 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 }; + 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]); + 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); + if (delta[0] >= 0.0f) + { + angles.y += 180.0f; + } + return angles; + } + public static Vector3 Smooth(Vector3 src, Vector3 dst) + { + Vector3 smoothed = dst - src; + + smoothed = src + smoothed/100*Properties.Settings.Default.smooth; + + return smoothed; + } + public static Vector3 RSC(Vector3 src) + { + src -= LocalPlayer.PunchAngle * 2.0f; + oldPunchAngle = LocalPlayer.PunchAngle * 2.0f; + return NormalizedAngle(src); + } + public static Entity BestDistance() + { + int Index=-1; + float bestDistance = 999999f, tmpDistance; + foreach(Entity x in Entity.List()) + { + if (x.Health <= 0) + continue; + if ((tmpDistance = x.DistanceToPlayer) < bestDistance) + { + bestDistance = tmpDistance; + Index = x.Index; + } + } + return new Entity(Index); + } + + public static Entity BestFOV(float FOV, int boneID = 6) + { + int Index = -1; + float bestFOV = 180f, tmpFOV; + foreach(Entity x in Entity.List()) + { + if (x.Health <= 0) + continue; + if (x.Dormant) + continue; + if (!Properties.Settings.Default.friendlyfire && x.isTeam) + continue; + + if ((tmpFOV = NormalizedAngle(LocalPlayer.ViewAngle - CalcAngle(LocalPlayer.ViewPosition, x.BonePosition(boneID))).Length) < FOV) + { + if (tmpFOV < bestFOV) + { + Index = x.Index; + bestFOV = tmpFOV; + } + } + } + return new Entity(Index); + } + + public static Vector3 NormalizedAngle(Vector3 src) + { + while (src.x > 89.0f) + src.x -= 180.0f; + + while (src.x < -89.0f) + src.x += 180.0f; + + while (src.y > 180.0f) + src.y -= 360.0f; + + while (src.y < -180.0f) + src.y += 360.0f; + + if (src.y < -180.0f || src.y > 180.0f) + src.y = 0.0f; + + if (src.x < -89.0f || src.x > 89.0f) + src.x = 0.0f; + + return src; + } + } +} diff --git a/AnimeSoftware/Hacks/BHop.cs b/AnimeSoftware/Hacks/BHop.cs new file mode 100644 index 0000000..9060c59 --- /dev/null +++ b/AnimeSoftware/Hacks/BHop.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using hazedumper; + +namespace AnimeSoftware +{ + class BHop + { + public static bool strafe = false; + private static Random rnd = new Random(); + public static void Start() + { + while (true) + { + Thread.Sleep(1); + + if (!Properties.Settings.Default.bhop) + continue; + if (!LocalPlayer.InGame) + continue; + if (LocalPlayer.Health <= 0) + continue; + if (LocalPlayer.Speed <= 0) + continue; + + Vector3 oldAngle = LocalPlayer.ViewAngle; + + while ((DllImport.GetAsyncKeyState(0x20) & 0x8000) != 0) + { + Thread.Sleep(1); + + if (Properties.Settings.Default.autostrafe) + { + strafe = true; + Vector3 cuurentAngle = LocalPlayer.ViewAngle; + if (cuurentAngle.y > oldAngle.y) + { + LocalPlayer.MoveLeft(); + } + else if (cuurentAngle.y < oldAngle.y) + { + LocalPlayer.MoveRight(); + } + } + + if (LocalPlayer.Flags == 257 || LocalPlayer.Flags == 263) + { + if (rnd.Next(100) < Properties.Settings.Default.bhopChoke) + Thread.Sleep(20); + LocalPlayer.Jump(); + + } + oldAngle = LocalPlayer.ViewAngle; + } + if (strafe) + { + LocalPlayer.MoveClearY(); + strafe = false; + } + + + } + } + } +} diff --git a/AnimeSoftware/Hacks/BlockBot.cs b/AnimeSoftware/Hacks/BlockBot.cs new file mode 100644 index 0000000..778d1bd --- /dev/null +++ b/AnimeSoftware/Hacks/BlockBot.cs @@ -0,0 +1,116 @@ +using System; +using hazedumper; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Threading; + +namespace AnimeSoftware +{ + class BlockBot + { + public static bool blocking = false; + public static bool bb = false; + public static bool hb = false; + public static void Start() + { + while (true) + { + Thread.Sleep(1); + + if (!Properties.Settings.Default.blockbot) + continue; + + if (!LocalPlayer.InGame) + continue; + + if (LocalPlayer.Health <= 0) + continue; + + Entity target = null; + + while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.blockbotKey) & 0x8000) != 0) + { + Thread.Sleep(1); + if (target == null) + { + target = Aimbot.BestDistance(); + } + + blocking = true; + float speed = target.Speed; + if ((LocalPlayer.Position - target.BonePosition(8)).Length < 30) + { + if (LocalPlayer.Flags == 256) + continue; + + if (bb) + { + LocalPlayer.MoveClearY(); + bb = false; + } + + hb = true; + + if (target.Speed == 0 && (LocalPlayer.Position - target.ViewPosition).Length < 10) + { + LocalPlayer.MoveClearX(); + continue; + } + + LocalPlayer.ViewAngleY = Aimbot.NormalizedAngle(Aimbot.CalcAngle(LocalPlayer.ViewPosition, target.Position)).y; + + LocalPlayer.MoveForward(); + + } + else + { + bb = true; + 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) + { + LocalPlayer.MoveRight(); + + } + + else if (angle.y > 0.0f) + { + LocalPlayer.MoveLeft(); + } + } + else + { + LocalPlayer.MoveClearY(); + } + } + + + } + if (blocking || hb || bb) + { + if (hb) + { + LocalPlayer.MoveClearX(); + hb = false; + } + Thread.Sleep(1); + if (bb) + { + LocalPlayer.MoveClearY(); + bb = false; + } + blocking = false; + } + + + } + } + } +} diff --git a/AnimeSoftware/Hacks/ChatSpammer.cs b/AnimeSoftware/Hacks/ChatSpammer.cs new file mode 100644 index 0000000..132a47b --- /dev/null +++ b/AnimeSoftware/Hacks/ChatSpammer.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace AnimeSoftware +{ + class ChatSpammer + { + public static void ChatCleaner() + { + while (Properties.Settings.Default.chatcleaner) + { + Thread.Sleep(100); + + //sagirilover.ml - best minecraft hvh hacks + ClientCMD.Exec("say \"﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽﷽ ﷽﷽\""); + Thread.Sleep(100); + 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\""); + + + } + } + } +} diff --git a/AnimeSoftware/Hacks/ConVarManager.cs b/AnimeSoftware/Hacks/ConVarManager.cs new file mode 100644 index 0000000..48abe61 --- /dev/null +++ b/AnimeSoftware/Hacks/ConVarManager.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AnimeSoftware +{ + class ConVarManager + { + public static void ChangeName(string name) + { + ConVar nick = new ConVar("name"); + nick.ClearCallbacks(); + ClientCMD.Exec("name \"" + name + "\""); + + } + public static void StealName(int id) + { + 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"); + //vote.ClearCallbacks(); + ClientCMD.Exec("callvote kick " + id); + + } + public static void InstantChange() + { + ConVar nick = new ConVar("name"); + nick.ClearCallbacks(); + ClientCMD.Exec("name \"\n\xAD\xAD\xAD\""); + } + } +} diff --git a/AnimeSoftware/Hacks/DoorSpam.cs b/AnimeSoftware/Hacks/DoorSpam.cs new file mode 100644 index 0000000..70876f4 --- /dev/null +++ b/AnimeSoftware/Hacks/DoorSpam.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace AnimeSoftware +{ + class DoorSpam + { + public static void Start() + { + while (true) + { + Thread.Sleep(50); + + if (!Properties.Settings.Default.doorspammer) + continue; + if (!LocalPlayer.InGame) + continue; + if (LocalPlayer.Health <= 0) + continue; + + while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.doorspammerKey) & 0x8000) != 0) + { + 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); + ClientCMD.Exec("-use"); + Thread.Sleep(15); + } + + } + } + } +} diff --git a/AnimeSoftware/Hacks/NameStealer.cs b/AnimeSoftware/Hacks/NameStealer.cs new file mode 100644 index 0000000..db279e8 --- /dev/null +++ b/AnimeSoftware/Hacks/NameStealer.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using hazedumper; + +namespace AnimeSoftware +{ + class NameStealer + { + public static int fakenametargetid = -1; + public static bool faked = false; + public static void Start() + { + while (true) + { + Thread.Sleep(1); + + if (!LocalPlayer.InGame) + return; + + if (Properties.Settings.Default.fakefriendlyfire && fakenametargetid != -1) + { + + if (LocalPlayer.CrossHair < 64 && LocalPlayer.CrossHair > 0) + { + if (new Entity(LocalPlayer.CrossHair).isTeam) + { + if (LocalPlayer.Name != " " + new Entity(fakenametargetid).Name2 + " " && LocalPlayer.Name != new Entity(fakenametargetid).Name2 && !faked) + { + ConVarManager.StealName(fakenametargetid); + faked = true; + } + + } + + } + else + { + if (faked) + { + ConVarManager.ChangeName(LocalPlayer.Name); + faked = false; + } + + } + } + + if (Properties.Settings.Default.namestealer) + { + foreach (Entity x in Entity.List()) + { + if (!Properties.Settings.Default.namestealer) + break; + ConVarManager.StealName(x.Index); + Thread.Sleep(250); + } + } + + } + } + + public static void ChangeName() // pasted from real gamer. another method to change + { + string name = "\n\xAD\xAD\xAD"; + byte len = (byte)name.Length; + byte[] a = { 0x6, (byte)(0x8 + len), 0xA, (byte)(0x6 + len), 0xA, (byte)(0x4 + len), 0x12, len }; // prepend needed bytes + byte[] b = Encoding.ASCII.GetBytes(name); + 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); + b.CopyTo(final, a.Length); + c.CopyTo(final, a.Length + b.Length); + + int clientState = Memory.Read(Memory.Engine + signatures.dwClientState); + int netChan = Memory.Read(clientState + 0x9C); + int voiceStream = Memory.Read(netChan + 0x78); // voicestream is the biggest nigga stream + + uint tmp = 0; + int curbit = final.Length * 8; + 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 + } + + } + + +} diff --git a/AnimeSoftware/Hacks/PerfectNade.cs b/AnimeSoftware/Hacks/PerfectNade.cs new file mode 100644 index 0000000..6f8884b --- /dev/null +++ b/AnimeSoftware/Hacks/PerfectNade.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using hazedumper; + +namespace AnimeSoftware +{ + class PerfectNade + { + public static void Start() + { + while (true) + { + Thread.Sleep(10); + + if (!Properties.Settings.Default.perfectnade) + continue; + if (!LocalPlayer.InGame) + continue; + if (LocalPlayer.Health <= 0) + continue; + if (LocalPlayer.ViewAngle.x != -89) + continue; + if (LocalPlayer.ActiveWeapon != 44) + continue; + if (LocalPlayer.Speed != 0) + continue; + if ((DllImport.GetAsyncKeyState(0x02) & 0x8000) != 0) + { + Thread.Sleep(800); + if (!((DllImport.GetAsyncKeyState(0x02) & 0x8000) != 0)) + continue; + ClientCMD.Exec("+attack"); + Thread.Sleep(80); + ClientCMD.Exec("-attack2"); + Thread.Sleep(1); + ClientCMD.Exec("-attack"); + } + } + } + } +} diff --git a/AnimeSoftware/Hacks/RunboostBot.cs b/AnimeSoftware/Hacks/RunboostBot.cs new file mode 100644 index 0000000..f8044bf --- /dev/null +++ b/AnimeSoftware/Hacks/RunboostBot.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using hazedumper; + +namespace AnimeSoftware +{ + class RunboostBot + { + public static bool boosting = false; + public static void Start() //disabled + { + while (true) + { + Thread.Sleep(1); + + if (!Properties.Settings.Default.runboostbot) + continue; + + if (!LocalPlayer.InGame) + continue; + + if (LocalPlayer.Health <= 0) + continue; + + if (LocalPlayer.Dormant) + continue; + + Entity target = null; + + while ((DllImport.GetAsyncKeyState(Properties.Hotkey.Default.runboostbotKey) & 0x8000) != 0) + { + Thread.Sleep(1); + + if (target == null) + { + target = Aimbot.BestDistance(); + } + + boosting = true; + + Vector3 position = target.Position; + + if (target.Speed <= 0) + { + LocalPlayer.MoveClearX(); + } + else + { + LocalPlayer.ViewAngleY = Aimbot.NormalizedAngle(Aimbot.CalcAngle(LocalPlayer.ViewPosition, position)).y; + + LocalPlayer.MoveForward(); + } + + } + + if (boosting) + { + LocalPlayer.MoveClearX(); + boosting = false; + } + + + } + } + } +} diff --git a/AnimeSoftware/Hacks/Visuals.cs b/AnimeSoftware/Hacks/Visuals.cs new file mode 100644 index 0000000..abc3852 --- /dev/null +++ b/AnimeSoftware/Hacks/Visuals.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using hazedumper; +using System.Drawing; +using System.Threading; + +namespace AnimeSoftware +{ + class Visuals + { + public static List ToGlow = new List(); + public static void Start() + { + try + { + while (true) + { + SetGlow(); + Thread.Sleep(1); + } + } + catch + { + Start(); + } + } + + + public static void SetGlow() + { + try + { + if (ToGlow.Count <= 0) + return; + } + catch (NullReferenceException) + { + return; + } + int GlowPtr = Memory.Read(Memory.Client + signatures.dwGlowObjectManager); + + foreach(Entity x in ToGlow) + { + Memory.Write(GlowPtr + (x.GlowIndex * 0x38 + 0x4), x.glowColor); + Memory.Write(GlowPtr + (x.GlowIndex * 0x38 + 0x24), x.glowSettings); + } + } + } +} diff --git a/AnimeSoftware/Hacks/WeaponSpammer.cs b/AnimeSoftware/Hacks/WeaponSpammer.cs new file mode 100644 index 0000000..4d76485 --- /dev/null +++ b/AnimeSoftware/Hacks/WeaponSpammer.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using hazedumper; + +namespace AnimeSoftware +{ + class WeaponSpammer + { + public static void Start() + { + while (Properties.Settings.Default.weaponspammer) + { + Thread.Sleep(10); + + if (!LocalPlayer.InGame) + continue; + + if (LocalPlayer.Health <= 0) + continue; + + if (Structs.SpamWeaponList.Contains(LocalPlayer.ActiveWeapon)) + { + if (LocalPlayer.ActiveWeapon == 64 || LocalPlayer.ActiveWeapon == 262208) + { + Memory.Write(Memory.Client + signatures.dwForceAttack, 5); + Thread.Sleep(100); + Memory.Write(Memory.Client + signatures.dwForceAttack, 4); + Thread.Sleep(100); + } + else + { + ClientCMD.Exec("+attack2"); + Thread.Sleep(10); + ClientCMD.Exec("-attack2"); + } + } + + } + ClientCMD.Exec("-attack2"); + } + } +} diff --git a/AnimeSoftware/Hotkey.cs b/AnimeSoftware/Hotkey.cs new file mode 100644 index 0000000..37dd3de --- /dev/null +++ b/AnimeSoftware/Hotkey.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace AnimeSoftware +{ + class Hotkey + { + public static void Start() + { + + } + } +} diff --git a/AnimeSoftware/Injections/ClientCMD.cs b/AnimeSoftware/Injections/ClientCMD.cs new file mode 100644 index 0000000..d6cf39b --- /dev/null +++ b/AnimeSoftware/Injections/ClientCMD.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AnimeSoftware +{ + class ClientCMD + { + public static int Size = 256; + public static IntPtr Address; + + public static void Exec(string szCmd) + { + if (Address == IntPtr.Zero) + { + Allocator Alloc = new Allocator(); + Address = Alloc.Alloc(Size); + if (Address == IntPtr.Zero) + return; + } + //if (szCmd.Length > 255) + // szCmd = szCmd.Substring(0, 255); + + var szCmd_bytes = Encoding.UTF8.GetBytes(szCmd + "\0"); + + Memory.WriteProcessMemory(Memory.pHandle, Address, szCmd_bytes, szCmd_bytes.Length, 0); + 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); + } + } +} diff --git a/AnimeSoftware/Injections/DllImport.cs b/AnimeSoftware/Injections/DllImport.cs new file mode 100644 index 0000000..f45885b --- /dev/null +++ b/AnimeSoftware/Injections/DllImport.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace AnimeSoftware +{ + class DllImport + { + [DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true)] + public static extern int GetAsyncKeyState(int vKey); + + [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)] + internal static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, int dwFreeType); + + [DllImport("kernel32.dll")] + internal static extern UInt32 WaitForSingleObject(IntPtr hProcess, uint dwMilliseconds); + + [DllImport("kernel32.dll", SetLastError = true)] + 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)] + internal static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, UInt32 flAllocationType, UInt32 flProtect); + + [DllImport("kernel32.dll")] + internal static extern bool CloseHandle(IntPtr hProcess); + + [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)] + public static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, int dwSize, uint dwFreeType); + + [DllImport("user32.dll")] + public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + [DllImport("user32.dll")] + public static extern bool ReleaseCapture(); + } + + public class Allocator + { + public Dictionary AllocatedSize = new Dictionary(); + + public IntPtr AlloacNewPage(IntPtr size) + { + var Address = DllImport.VirtualAllocEx(Memory.pHandle, IntPtr.Zero, (IntPtr)4096, (int)0x1000 | (int)0x2000, 0x40); + + AllocatedSize.Add(Address, size); + + return Address; + } + + public void Free() + { + foreach (var key in AllocatedSize) + DllImport.VirtualFreeEx(Memory.pHandle, key.Key, 4096, (int)0x1000 | (int)0x2000); + } + + public IntPtr Alloc(int size) + { + for (int i = 0; i < AllocatedSize.Count; ++i) + { + var key = AllocatedSize.ElementAt(i).Key; + int value = (int)AllocatedSize[key] + size; + if (value < 4096) + { + IntPtr CurrentAddres = IntPtr.Add(key, (int)AllocatedSize[key]); + AllocatedSize[key] = new IntPtr(value); + return CurrentAddres; + } + } + + return AlloacNewPage(new IntPtr(size)); + } + + } +} diff --git a/AnimeSoftware/Math.cs b/AnimeSoftware/Math.cs new file mode 100644 index 0000000..9370b73 --- /dev/null +++ b/AnimeSoftware/Math.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AnimeSoftware +{ + class VectorMath + { + public static float Distance(Vector3 src, Vector3 dst) + { + float result = (float)Math.Sqrt((dst.x-src.x) * (dst.x-src.x) + (dst.y-src.y) * (dst.y-src.y) + (dst.z-src.z) * (dst.z-src.z)); + return result; + } + } +} diff --git a/AnimeSoftware/Memory.cs b/AnimeSoftware/Memory.cs new file mode 100644 index 0000000..adccdf2 --- /dev/null +++ b/AnimeSoftware/Memory.cs @@ -0,0 +1,218 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Diagnostics; +using System.Runtime.InteropServices; +using System.Threading; +using System.IO; + +namespace AnimeSoftware +{ + class Memory + { + [DllImport("kernel32.dll")] + private static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId); + + [DllImport("Kernel32.dll")] + internal static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, UInt32 nSize, ref UInt32 lpNumberOfBytesRead); + + [DllImport("kernel32.dll", SetLastError = true)] + public static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead); + + [DllImport("kernel32.dll")] + internal static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, IntPtr nSize, ref UInt32 lpNumberOfBytesWritten); + + [DllImport("kernel32.dll")] + 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_READ = 0x0010; + const int PROCESS_VM_WRITE = 0x0020; + + public static Process process; + public static IntPtr pHandle; + + public static Int32 Client; + public static Int32 ClientSize; + public static Int32 Engine; + public static Int32 EngineSize; + public static Int32 vstdlib; + public static Int32 vstdlibSize; + + + + public static bool OpenProcess(string name) + { + try + { + process = Process.GetProcessesByName(name)[0]; + return true; + } + catch + { + if (Properties.Settings.Default.debug) + Console.WriteLine("Can't open process."); + return false; + } + } + public static bool ProcessHandle() + { + try + { + pHandle = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE, false, process.Id); + return true; + } + catch + { + if (Properties.Settings.Default.debug) + Console.WriteLine("Can't get handle."); + return false; + } + } + + public static bool GetModules() + { + try + { + foreach (ProcessModule module in process.Modules) + { + if (module.ModuleName == "client_panorama.dll") + { + Client = (Int32)module.BaseAddress; + ClientSize = (Int32)module.ModuleMemorySize; + } + else if (module.ModuleName == "engine.dll") + { + Engine = (Int32)module.BaseAddress; + EngineSize = (Int32)module.ModuleMemorySize; + } + else if (module.ModuleName == "vstdlib.dll") + { + vstdlib = (Int32)module.BaseAddress; + vstdlibSize = (Int32)module.ModuleMemorySize; + } + } + if ((IntPtr)Client == IntPtr.Zero || (IntPtr)Engine == IntPtr.Zero || (IntPtr)vstdlib == IntPtr.Zero) + { + if (Properties.Settings.Default.debug) + { + Console.WriteLine(String.Format("Client: {0}\nEngine: {1}\nvstdlib: {2}\n", Client, Engine, vstdlib)); + Console.WriteLine("Module error"); + } + return false; + } + + return true; + } + catch + { + if (Properties.Settings.Default.debug) + Console.WriteLine("Module get error"); + return false; + } + + } + + public static T Read(Int32 address) + { + int length = Marshal.SizeOf(typeof(T)); + + if (typeof(T) == typeof(bool)) + length = 1; + + byte[] buffer = new byte[length]; + UInt32 nBytesRead = UInt32.MinValue; + ReadProcessMemory(pHandle, (IntPtr)address, buffer, (UInt32)length, ref nBytesRead); + return GetStructure(buffer); + } + + public static void Write(Int32 address, T value) + { + int length = Marshal.SizeOf(typeof(T)); + byte[] buffer = new byte[length]; + + IntPtr ptr = Marshal.AllocHGlobal(length); + Marshal.StructureToPtr(value, ptr, true); + Marshal.Copy(ptr, buffer, 0, length); + Marshal.FreeHGlobal(ptr); + + UInt32 nBytesRead = UInt32.MinValue; + WriteProcessMemory(pHandle, (IntPtr)address, buffer, (IntPtr)length, ref nBytesRead); + } + + public static T GetStructure(byte[] bytes) + { + var handle = GCHandle.Alloc(bytes, GCHandleType.Pinned); + var structure = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T)); + handle.Free(); + return structure; + } + + + public static string ReadString(Int32 address, int bufferSize, Encoding enc) + { + byte[] buffer = new byte[bufferSize]; + UInt32 nBytesRead = 0; + bool success = ReadProcessMemory(pHandle, (IntPtr)address, buffer, (UInt32)bufferSize, ref nBytesRead); + string text = enc.GetString(buffer); + if (text.Contains('\0')) + text = text.Substring(0, text.IndexOf('\0')); + return text; + } + + public static string ReadText(IntPtr hProcess, IntPtr address) + { + using (MemoryStream ms = new MemoryStream()) + { + int offset = 0; + byte read; + while ((read = ReadMemory(hProcess, address + offset, 1)[0]) != 0) + { + ms.WriteByte(read); + offset++; + } + var data = ms.ToArray(); + return Encoding.UTF8.GetString(data, 0, data.Length); + } + } + + public static byte[] ReadMemory(IntPtr hProcess, IntPtr address, int length) + { + byte[] data = new byte[length]; + if (!ReadProcessMemory(hProcess, address, data, data.Length, out IntPtr unused)) + { + return null; + } + return data; + } + + public static int FindPattern(byte[] pattern, string mask, int moduleBase, int moduleSize) + { + byte[] moduleBytes = new byte[moduleSize]; + uint numBytes = 0; + + if (ReadProcessMemory(Memory.pHandle, (IntPtr)moduleBase, moduleBytes, (uint)moduleSize, ref numBytes)) + { + for (int i = 0; i < moduleSize; i++) + { + bool found = true; + + for (int l = 0; l < mask.Length; l++) + { + found = mask[l] == '?' || moduleBytes[l + i] == pattern[l]; + + if (!found) + break; + } + + if (found) + return i; + } + } + + return 0; + } + } +} diff --git a/AnimeSoftware/Objects/ConVar.cs b/AnimeSoftware/Objects/ConVar.cs new file mode 100644 index 0000000..2184023 --- /dev/null +++ b/AnimeSoftware/Objects/ConVar.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using hazedumper; + +namespace AnimeSoftware +{ + public class ConVar + { + public int pThis; + public ConVar(int Pointer) + { + pThis = Pointer; + } + public ConVar(string name) + { + pThis = GetConVarAddress(name); + } + + public int GetStringHash(string name) + { + CharCodes codes = Memory.Read(Memory.vstdlib + signatures.convar_name_hash_table); + int v2 = 0; + int v3 = 0; + for (int i = 0; i < name.Length; i += 2) + { + v3 = codes.tab[v2 ^ char.ToUpper(name[i])]; + if (i + 1 == name.Length) + break; + v2 = codes.tab[v3 ^ char.ToUpper(name[i + 1])]; + } + return v2 | (v3 << 8); + } + + public void ClearCallbacks() + { + Memory.Write(pThis + 0x44 + 0xC, 0); + } + public int GetConVarAddress(string name) + { + var hash = GetStringHash(name); + + int CvarEngine = Memory.Read(Memory.vstdlib + signatures.interface_engine_cvar); + int Pointer = Memory.Read(Memory.Read(CvarEngine + 0x34) + ((byte)hash * 4)); + Encoding enc = Encoding.UTF8; + while ((IntPtr)Pointer != IntPtr.Zero) + { + if (Memory.Read(Pointer) == hash) + { + int ConVarPointer = Memory.Read(Pointer + 0x4); + + if (Memory.ReadText(Memory.pHandle, (IntPtr)Memory.Read(ConVarPointer + 0xC)) == name) + { + return ConVarPointer; + } + } + + Pointer = Memory.Read(Pointer + 0xC); + } + return (int)IntPtr.Zero; + } + + + } +} diff --git a/AnimeSoftware/Objects/Entity.cs b/AnimeSoftware/Objects/Entity.cs new file mode 100644 index 0000000..55b8e26 --- /dev/null +++ b/AnimeSoftware/Objects/Entity.cs @@ -0,0 +1,195 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Drawing; +using hazedumper; + +namespace AnimeSoftware +{ + class Entity : IDisposable + { + public void Dispose() + { + + } + public int Index; + public int Ptr + { + get + { + return Memory.Read(Memory.Client + signatures.dwEntityList + (Index - 1) * 0x10); + } + } + + public string Name + { + get + { + + int radarBasePtr = 0x78;// : 0x54; + int radarStructSize = 0x174;// : 0x1E0; + int radarStructPos = 0x18;// : 0x24; + + Encoding enc = Encoding.UTF8;// : Encoding.Unicode; + + int radarBase = Memory.Read(Memory.Client + signatures.dwRadarBase); + + int radarPtr = Memory.Read(radarBase + radarBasePtr); + + int ind = Index + 1; + + var nameAddr = radarPtr + ind * radarStructSize + radarStructPos; + return Memory.ReadString(nameAddr, 64, enc); + + } + } + public string Name2 + { + get + { + return Encoding.UTF8.GetString(pInfo.m_szPlayerName); + } + } + public GlowColor glowColor { get; set; } + public GlowSettings glowSettings { get; set; } + public bool Glowing { get; set; } + public int GlowIndex + { + get + { + return Memory.Read(Ptr + netvars.m_iGlowIndex); + } + } + public float DistanceToPlayer + { + get + { + return VectorMath.Distance(Position, LocalPlayer.Position); + } + } + + public Vector3 Velocity + { + get + { + Vector3 velocity = Memory.Read(Ptr + netvars.m_vecVelocity); + return velocity; + } + } + + public player_info_s pInfo + { + get + { + int ClientState = Memory.Read(Memory.Engine + signatures.dwClientState); + int pInfo = Memory.Read(ClientState + signatures.dwClientState_PlayerInfo); + pInfo = Memory.Read(pInfo + 0x40); + pInfo = Memory.Read(pInfo + 0xC); + pInfo = Memory.Read(pInfo + 0x28 + (Index - 1) * 0x34); + player_info_s info = Memory.Read(pInfo); + + return info; + } + } + + public bool IsDead + { + get + { + return Health <= 0; + } + } + + public float Speed + { + get + { + Vector3 velocity = Velocity; + float result = (float)Math.Sqrt(velocity.x * velocity.x + velocity.y * velocity.y + velocity.z * velocity.z); + return result; + } + } + public Vector3 Position + { + get + { + Vector3 position = Memory.Read(Ptr + netvars.m_vecOrigin); + return position; + } + } + + public Vector3 ViewPosition + { + get + { + Vector3 position = Position; + position.z += Memory.Read(Ptr + netvars.m_vecViewOffset + 0x8); + return position; + } + } + public int Health + { + get + { + return Memory.Read(Ptr + netvars.m_iHealth); + } + } + + public bool Dormant + { + get + { + return Memory.Read(Ptr + signatures.m_bDormant); + } + } + + public bool isTeam + { + get + { + return Memory.Read(Ptr + netvars.m_iTeamNum) == Memory.Read(LocalPlayer.Ptr+netvars.m_iTeamNum); + } + } + + public static Entity[] List() + { + + List entityList = new List(); + for (int i = 1; i < 64; i++) + { + Entity entity = new Entity(i); + + if (entity.Ptr == 0) + continue; + + if (entity.Ptr == LocalPlayer.Ptr) + { + LocalPlayer.Index = i; + continue; + } + + entityList.Add(entity); + } + return entityList.ToArray(); + } + + public Vector3 BonePosition(int BoneID) + { + int BoneMatrix = Memory.Read(Ptr + netvars.m_dwBoneMatrix); + Vector3 position = new Vector3 + { + x = Memory.Read(BoneMatrix + 0x30 * BoneID + 0x0C), + y = Memory.Read(BoneMatrix + 0x30 * BoneID + 0x1C), + z = Memory.Read(BoneMatrix + 0x30 * BoneID + 0x2C) + }; + return position; + } + + public Entity(int index) + { + Index = index; + } + } +} diff --git a/AnimeSoftware/Objects/LocalPlayer.cs b/AnimeSoftware/Objects/LocalPlayer.cs new file mode 100644 index 0000000..b5e7de7 --- /dev/null +++ b/AnimeSoftware/Objects/LocalPlayer.cs @@ -0,0 +1,243 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using hazedumper; + +namespace AnimeSoftware +{ + class LocalPlayer : IDisposable + { + public void Dispose() + { + + } + public static int Ptr + { + get + { + return Memory.Read(Memory.Client + signatures.dwLocalPlayer); + } + } + + public static void GetName() + { + int radarBasePtr = 0x78; + int radarStructSize = 0x174; + int radarStructPos = 0x18; + + Encoding enc = Encoding.UTF8; + + int radarBase = Memory.Read(Memory.Client + signatures.dwRadarBase); + + int radarPtr = Memory.Read(radarBase + radarBasePtr); + + int ind = Index + 1; + + var nameAddr = radarPtr + ind * radarStructSize + radarStructPos; + Name = Memory.ReadString(nameAddr, 64, enc); + } + public static string GetName2 + { + get + { + return Encoding.UTF8.GetString(pInfo.m_szPlayerName); + } + } + + public static string Name { get; set; } + + + public static void GetIndex() + { + Index = -1; + while (Index == -1) + foreach (Entity x in Entity.List()) + { + if (x.Health <= 0) + continue; + if (x.Ptr == Ptr) + { + Index = x.Index; + break; + } + } + } + public static int Index { get; set; } + + public static int ShotsFired + { + get + { + return Memory.Read(Ptr + netvars.m_iShotsFired); + } + } + public static Vector3 Position + { + get + { + Vector3 position = Memory.Read(Ptr + netvars.m_vecOrigin); + return position; + } + } + public static Vector3 Velocity + { + get + { + Vector3 velocity = Memory.Read(Ptr + netvars.m_vecVelocity); + return velocity; + } + } + public static void MoveRight() + { + ClientCMD.Exec("-moveleft"); + Thread.Sleep(1); + ClientCMD.Exec("+moveright"); + } + public static void MoveLeft() + { + ClientCMD.Exec("-moveright"); + Thread.Sleep(1); + ClientCMD.Exec("+moveleft"); + } + public static void MoveClearY() + { + ClientCMD.Exec("-moveright"); + Thread.Sleep(1); + ClientCMD.Exec("-moveleft"); + } + public static void MoveForward() + { + ClientCMD.Exec("+forward"); + } + public static void MoveClearX() + { + ClientCMD.Exec("-forward"); + } + + public static void Jump() + { + Memory.Write(Memory.Client + signatures.dwForceJump, 5); + Thread.Sleep(20); + Memory.Write(Memory.Client + signatures.dwForceJump, 4); + } + public static int Flags + { + get + { + return Memory.Read(Ptr + netvars.m_fFlags); + } + } + public static float Speed + { + get + { + Vector3 velocity = Velocity; + float result = (float)Math.Sqrt(velocity.x * velocity.x + velocity.y * velocity.y + velocity.z * velocity.z); + return result; + } + } + public static player_info_s pInfo + { + get + { + int ClientState = Memory.Read(Memory.Engine + signatures.dwClientState); + int pInfo = Memory.Read(ClientState + signatures.dwClientState_PlayerInfo); + pInfo = Memory.Read(pInfo + 0x40); + pInfo = Memory.Read(pInfo + 0xC); + pInfo = Memory.Read(pInfo + 0x28 + (Index - 1) * 0x34); + player_info_s info = Memory.Read(pInfo); + return info; + } + } + public static bool InGame + { + get + { + int ClientState = Memory.Read(Memory.Engine + signatures.dwClientState); + return Memory.Read(ClientState + signatures.dwClientState_State) == 6; + } + } + + public static int CrossHair + { + get + { + return Memory.Read(Ptr + netvars.m_iCrosshairId); + } + } + public static bool Dormant + { + get + { + return Memory.Read(Ptr + signatures.m_bDormant); + } + } + public static int Health + { + get + { + return Memory.Read(Ptr + netvars.m_iHealth); + } + } + public static int ActiveWeapon + { + get + { + int weaponHandle = Memory.Read(Ptr + netvars.m_hActiveWeapon) & 0xFFF; + return Memory.Read(Memory.Read(Memory.Client + signatures.dwEntityList + (weaponHandle - 1) * 0x10) + netvars.m_iItemDefinitionIndex); + } + } + public static Vector3 ViewPosition + { + get + { + Vector3 position = Position; + position.z += Memory.Read(Ptr + netvars.m_vecViewOffset + 0x8); + return position; + } + } + + public static Vector3 ViewAngle + { + get + { + int ClientState = Memory.Read(Memory.Engine + signatures.dwClientState); + + Vector3 viewAngles = Memory.Read(ClientState + signatures.dwClientState_ViewAngles); + return viewAngles; + } + set + { + int ClientState = Memory.Read(Memory.Engine + signatures.dwClientState); + + Memory.Write(ClientState + signatures.dwClientState_ViewAngles, value); + } + } + public static Vector3 PunchAngle + { + get + { + return Memory.Read(Ptr + netvars.m_aimPunchAngle); + } + } + public static Vector3 LocalViewAngle + { + set + { + Memory.Write(Ptr + netvars.m_viewPunchAngle, value); + } + } + public static float ViewAngleY + { + set + { + int ClientState = Memory.Read(Memory.Engine + signatures.dwClientState); + + Memory.Write(ClientState + signatures.dwClientState_ViewAngles + 0x4, value); + } + } + } +} diff --git a/AnimeSoftware/Offsets/Offsets.cs b/AnimeSoftware/Offsets/Offsets.cs new file mode 100644 index 0000000..a216b15 --- /dev/null +++ b/AnimeSoftware/Offsets/Offsets.cs @@ -0,0 +1,155 @@ +using System; + +// 2020-02-12 12:19:20.845999100 UTC + +namespace hazedumper +{ + public static class netvars + { + public const Int32 cs_gamerules_data = 0x0; + public const Int32 m_ArmorValue = 0xB368; + public const Int32 m_Collision = 0x320; + public const Int32 m_CollisionGroup = 0x474; + public const Int32 m_Local = 0x2FBC; + public const Int32 m_MoveType = 0x25C; + public const Int32 m_OriginalOwnerXuidHigh = 0x31B4; + public const Int32 m_OriginalOwnerXuidLow = 0x31B0; + public const Int32 m_SurvivalGameRuleDecisionTypes = 0x1320; + public const Int32 m_SurvivalRules = 0xCF8; + public const Int32 m_aimPunchAngle = 0x302C; + public const Int32 m_aimPunchAngleVel = 0x3038; + public const Int32 m_angEyeAnglesX = 0xB36C; + public const Int32 m_angEyeAnglesY = 0xB370; + public const Int32 m_bBombPlanted = 0x99D; + public const Int32 m_bFreezePeriod = 0x20; + public const Int32 m_bGunGameImmunity = 0x3930; + public const Int32 m_bHasDefuser = 0xB378; + public const Int32 m_bHasHelmet = 0xB35C; + public const Int32 m_bInReload = 0x3295; + public const Int32 m_bIsDefusing = 0x391C; + public const Int32 m_bIsQueuedMatchmaking = 0x74; + public const Int32 m_bIsScoped = 0x3914; + public const Int32 m_bIsValveDS = 0x75; + public const Int32 m_bSpotted = 0x93D; + public const Int32 m_bSpottedByMask = 0x980; + public const Int32 m_bStartedArming = 0x33E0; + public const Int32 m_bUseCustomAutoExposureMax = 0x9D9; + public const Int32 m_bUseCustomAutoExposureMin = 0x9D8; + public const Int32 m_bUseCustomBloomScale = 0x9DA; + public const Int32 m_clrRender = 0x70; + public const Int32 m_dwBoneMatrix = 0x26A8; + public const Int32 m_fAccuracyPenalty = 0x3320; + public const Int32 m_fFlags = 0x104; + public const Int32 m_flC4Blow = 0x2990; + public const Int32 m_flCustomAutoExposureMax = 0x9E0; + public const Int32 m_flCustomAutoExposureMin = 0x9DC; + public const Int32 m_flCustomBloomScale = 0x9E4; + public const Int32 m_flDefuseCountDown = 0x29AC; + public const Int32 m_flDefuseLength = 0x29A8; + public const Int32 m_flFallbackWear = 0x31C0; + public const Int32 m_flFlashDuration = 0xA410; + public const Int32 m_flFlashMaxAlpha = 0xA40C; + public const Int32 m_flLastBoneSetupTime = 0x2924; + public const Int32 m_flLowerBodyYawTarget = 0x3A7C; + public const Int32 m_flNextAttack = 0x2D70; + public const Int32 m_flNextPrimaryAttack = 0x3228; + public const Int32 m_flSimulationTime = 0x268; + public const Int32 m_flTimerLength = 0x2994; + public const Int32 m_hActiveWeapon = 0x2EF8; + public const Int32 m_hMyWeapons = 0x2DF8; + public const Int32 m_hObserverTarget = 0x3388; + public const Int32 m_hOwner = 0x29CC; + public const Int32 m_hOwnerEntity = 0x14C; + public const Int32 m_iAccountID = 0x2FC8; + public const Int32 m_iClip1 = 0x3254; + public const Int32 m_iCompetitiveRanking = 0x1A84; + public const Int32 m_iCompetitiveWins = 0x1B88; + public const Int32 m_iCrosshairId = 0xB3D4; + public const Int32 m_iEntityQuality = 0x2FAC; + public const Int32 m_iFOV = 0x31E4; + public const Int32 m_iFOVStart = 0x31E8; + public const Int32 m_iGlowIndex = 0xA428; + public const Int32 m_iHealth = 0x100; + public const Int32 m_iItemDefinitionIndex = 0x2FAA; + public const Int32 m_iItemIDHigh = 0x2FC0; + public const Int32 m_iMostRecentModelBoneCounter = 0x2690; + public const Int32 m_iObserverMode = 0x3374; + public const Int32 m_iShotsFired = 0xA380; + public const Int32 m_iState = 0x3248; + public const Int32 m_iTeamNum = 0xF4; + public const Int32 m_lifeState = 0x25F; + public const Int32 m_nFallbackPaintKit = 0x31B8; + public const Int32 m_nFallbackSeed = 0x31BC; + public const Int32 m_nFallbackStatTrak = 0x31C4; + public const Int32 m_nForceBone = 0x268C; + public const Int32 m_nTickBase = 0x342C; + public const Int32 m_rgflCoordinateFrame = 0x444; + public const Int32 m_szCustomName = 0x303C; + public const Int32 m_szLastPlaceName = 0x35B0; + public const Int32 m_thirdPersonViewAngles = 0x31D8; + public const Int32 m_vecOrigin = 0x138; + public const Int32 m_vecVelocity = 0x114; + public const Int32 m_vecViewOffset = 0x108; + public const Int32 m_viewPunchAngle = 0x3020; + } + public static class signatures + { + public const Int32 anim_overlays = 0x2980; + public const Int32 clientstate_choked_commands = 0x4D28; + public const Int32 clientstate_delta_ticks = 0x174; + public const Int32 clientstate_last_outgoing_command = 0x4D24; + public const Int32 clientstate_net_channel = 0x9C; + public const Int32 convar_name_hash_table = 0x2F0F8; + public const Int32 dwClientState = 0x588D9C; + public const Int32 dwClientState_GetLocalPlayer = 0x180; + public const Int32 dwClientState_IsHLTV = 0x4D40; + public const Int32 dwClientState_Map = 0x28C; + public const Int32 dwClientState_MapDirectory = 0x188; + public const Int32 dwClientState_MaxPlayer = 0x388; + public const Int32 dwClientState_PlayerInfo = 0x52B8; + public const Int32 dwClientState_State = 0x108; + public const Int32 dwClientState_ViewAngles = 0x4D88; + public const Int32 dwEntityList = 0x4D3C7BC; + public const Int32 dwForceAttack = 0x316DD80; + public const Int32 dwForceAttack2 = 0x316DD8C; + public const Int32 dwForceBackward = 0x316DDD4; + public const Int32 dwForceForward = 0x316DDB0; + public const Int32 dwForceJump = 0x51E0004; + public const Int32 dwForceLeft = 0x316DDC8; + public const Int32 dwForceRight = 0x316DDEC; + public const Int32 dwGameDir = 0x6274F8; + public const Int32 dwGameRulesProxy = 0x52532EC; + public const Int32 dwGetAllClasses = 0xD4ED9C; + public const Int32 dwGlobalVars = 0x588AA0; + public const Int32 dwGlowObjectManager = 0x527DFA0; + public const Int32 dwInput = 0x5187980; + public const Int32 dwInterfaceLinkList = 0x8F4084; + public const Int32 dwLocalPlayer = 0xD28B74; + public const Int32 dwMouseEnable = 0xD2E718; + public const Int32 dwMouseEnablePtr = 0xD2E6E8; + public const Int32 dwPlayerResource = 0x316C10C; + public const Int32 dwRadarBase = 0x517152C; + public const Int32 dwSensitivity = 0xD2E5B4; + public const Int32 dwSensitivityPtr = 0xD2E588; + public const Int32 dwSetClanTag = 0x89D60; + public const Int32 dwViewMatrix = 0x4D2E0E4; + public const Int32 dwWeaponTable = 0x5188440; + public const Int32 dwWeaponTableIndex = 0x324C; + public const Int32 dwYawPtr = 0xD2E378; + public const Int32 dwZoomSensitivityRatioPtr = 0xD33598; + public const Int32 dwbSendPackets = 0xD37DA; + public const Int32 dwppDirect3DDevice9 = 0xA6030; + public const Int32 find_hud_element = 0x27C0BD40; + public const Int32 force_update_spectator_glow = 0x398642; + public const Int32 interface_engine_cvar = 0x3E9EC; + public const Int32 is_c4_owner = 0x3A4A70; + public const Int32 m_bDormant = 0xED; + public const Int32 m_flSpawnTime = 0xA360; + public const Int32 m_pStudioHdr = 0x294C; + public const Int32 m_pitchClassPtr = 0x51717D0; + public const Int32 m_yawClassPtr = 0xD2E378; + public const Int32 model_ambient_min = 0x58BDBC; + public const Int32 set_abs_angles = 0x1CED30; + public const Int32 set_abs_origin = 0x1CEB70; + } +} // namespace hazedumper diff --git a/AnimeSoftware/Offsets/ScannedOffsets.cs b/AnimeSoftware/Offsets/ScannedOffsets.cs new file mode 100644 index 0000000..a71fc52 --- /dev/null +++ b/AnimeSoftware/Offsets/ScannedOffsets.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using hazedumper; + +namespace AnimeSoftware +{ + class ScannedOffsets + { + public static int ClientCMD; + public static int UserInfoTable; + public static int SetConVar; + public static int LvlBypass; + public static void Init() + { + 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); + //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 + + + } + } +} diff --git a/AnimeSoftware/Program.cs b/AnimeSoftware/Program.cs new file mode 100644 index 0000000..b60e5b1 --- /dev/null +++ b/AnimeSoftware/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AnimeSoftware +{ + static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new AnimeForm()); + } + } +} diff --git a/AnimeSoftware/Properties/AssemblyInfo.cs b/AnimeSoftware/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..b5caec0 --- /dev/null +++ b/AnimeSoftware/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанных со сборкой. +[assembly: AssemblyTitle("AnimeSoftware")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("AnimeSoftware")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, следует установить атрибут ComVisible в TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("617f8f5f-8917-4843-aab3-66da09eb7db7")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/AnimeSoftware/Properties/Hotkey.Designer.cs b/AnimeSoftware/Properties/Hotkey.Designer.cs new file mode 100644 index 0000000..fcbdb13 --- /dev/null +++ b/AnimeSoftware/Properties/Hotkey.Designer.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace AnimeSoftware.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] + internal sealed partial class Hotkey : global::System.Configuration.ApplicationSettingsBase { + + private static Hotkey defaultInstance = ((Hotkey)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Hotkey()))); + + public static Hotkey Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("18")] + public int blockbotKey { + get { + return ((int)(this["blockbotKey"])); + } + set { + this["blockbotKey"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("20")] + public int doorspammerKey { + get { + return ((int)(this["doorspammerKey"])); + } + set { + this["doorspammerKey"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("90")] + public int runboostbotKey { + get { + return ((int)(this["runboostbotKey"])); + } + set { + this["runboostbotKey"] = value; + } + } + } +} diff --git a/AnimeSoftware/Properties/Hotkey.settings b/AnimeSoftware/Properties/Hotkey.settings new file mode 100644 index 0000000..bbe6566 --- /dev/null +++ b/AnimeSoftware/Properties/Hotkey.settings @@ -0,0 +1,15 @@ + + + + + + 18 + + + 20 + + + 90 + + + \ No newline at end of file diff --git a/AnimeSoftware/Properties/Resources.Designer.cs b/AnimeSoftware/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7191f49 --- /dev/null +++ b/AnimeSoftware/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программным средством. +// Версия среды выполнения: 4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если +// код создан повторно. +// +//------------------------------------------------------------------------------ + +namespace AnimeSoftware.Properties +{ + + + /// + /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. + /// + // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder + // класс с помощью таких средств, как ResGen или Visual Studio. + // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen + // с параметром /str или заново постройте свой VS-проект. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AnimeSoftware.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Переопределяет свойство CurrentUICulture текущего потока для всех + /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/AnimeSoftware/Properties/Resources.resx b/AnimeSoftware/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/AnimeSoftware/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/AnimeSoftware/Properties/Settings.Designer.cs b/AnimeSoftware/Properties/Settings.Designer.cs new file mode 100644 index 0000000..3e8ab16 --- /dev/null +++ b/AnimeSoftware/Properties/Settings.Designer.cs @@ -0,0 +1,254 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace AnimeSoftware.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool bhop { + get { + return ((bool)(this["bhop"])); + } + set { + this["bhop"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool doorspammer { + get { + return ((bool)(this["doorspammer"])); + } + set { + this["doorspammer"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool blockbot { + get { + return ((bool)(this["blockbot"])); + } + set { + this["blockbot"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool namestealer { + get { + return ((bool)(this["namestealer"])); + } + set { + this["namestealer"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool runboostbot { + get { + return ((bool)(this["runboostbot"])); + } + set { + this["runboostbot"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool autostrafe { + get { + return ((bool)(this["autostrafe"])); + } + set { + this["autostrafe"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool weaponspammer { + get { + return ((bool)(this["weaponspammer"])); + } + set { + this["weaponspammer"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool friendlyfire { + get { + return ((bool)(this["friendlyfire"])); + } + set { + this["friendlyfire"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool aimbot { + get { + return ((bool)(this["aimbot"])); + } + set { + this["aimbot"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("1")] + public float fov { + get { + return ((float)(this["fov"])); + } + set { + this["fov"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public int boneid { + get { + return ((int)(this["boneid"])); + } + set { + this["boneid"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("1")] + public float smooth { + get { + return ((float)(this["smooth"])); + } + set { + this["smooth"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool rsc { + get { + return ((bool)(this["rsc"])); + } + set { + this["rsc"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool unlock { + get { + return ((bool)(this["unlock"])); + } + set { + this["unlock"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool fakefriendlyfire { + get { + return ((bool)(this["fakefriendlyfire"])); + } + set { + this["fakefriendlyfire"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool debug { + get { + return ((bool)(this["debug"])); + } + set { + this["debug"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool perfectnade { + get { + return ((bool)(this["perfectnade"])); + } + set { + this["perfectnade"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool chatcleaner { + get { + return ((bool)(this["chatcleaner"])); + } + set { + this["chatcleaner"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public int bhopChoke { + get { + return ((int)(this["bhopChoke"])); + } + set { + this["bhopChoke"] = value; + } + } + } +} diff --git a/AnimeSoftware/Properties/Settings.settings b/AnimeSoftware/Properties/Settings.settings new file mode 100644 index 0000000..68946ea --- /dev/null +++ b/AnimeSoftware/Properties/Settings.settings @@ -0,0 +1,63 @@ + + + + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + 1 + + + 0 + + + 1 + + + False + + + False + + + True + + + False + + + False + + + False + + + 0 + + + \ No newline at end of file diff --git a/AnimeSoftware/Structs.cs b/AnimeSoftware/Structs.cs new file mode 100644 index 0000000..843ae78 --- /dev/null +++ b/AnimeSoftware/Structs.cs @@ -0,0 +1,261 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Drawing; +using System.Threading.Tasks; + +namespace AnimeSoftware +{ + class Structs + { + public static readonly int[] SpamWeaponList = new int[]{ 4,9,10,11,38,40,64,262208 }; + public static Dictionary Hitbox = new Dictionary + { + [8] = "Head", + [7] = "Neck", + [6] = "Body" + }; + } + + public enum Hitbox + { + HEAD = 8, + NECK = 7, + BODY = 6 + } + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct CharCodes + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 255)] + public int[] tab; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct player_info_s + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + public char[] __pad0; + public int m_nXuidLow; + public int m_nXuidHigh; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] + public byte[] m_szPlayerName; + public uint m_nUserID; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 33)] + public char[] m_szSteamID; + public uint m_nSteam3ID; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] + public byte[] m_szFriendsName; + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bIsFakePlayer; + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bIsHLTV; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + public int[] m_dwCustomFiles; + public char m_FilesDownloaded; + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct Input_t + { + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_pVftable; // 0x00 + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bTrackIRAvailable; // 0x04 + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bMouseInitialized; // 0x05 + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bMouseActive; // 0x06 + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bJoystickAdvancedInit; // 0x07 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 44)] + public int[] Unk1; // 0x08 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_pKeys; // 0x34 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)] + public int[] Unk2; // 0x38 + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bCameraInterceptingMouse; // 0x9C + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bCameraInThirdPerson; // 0x9D + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bCameraMovingWithMouse; // 0x9E + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + public Vector3 m_vecCameraOffset; // 0xA0 + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + public bool m_bCameraDistanceMove; // 0xAC + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_nCameraOldX; // 0xB0 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_nCameraOldY; // 0xB4 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_nCameraX; // 0xB8 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_nCameraY; // 0xBC + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public bool m_bCameraIsOrthographic; // 0xC0 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + public Vector3 m_vecPreviousViewAngles; // 0xC4 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + public Vector3 m_vecPreviousViewAnglesTilt; // 0xD0 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public float m_flLastForwardMove; // 0xDC + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_nClearInputState; // 0xE0 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + public int[] Unk3; // 0xE4 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_pCommands; // 0xEC + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_pVerifiedCommands; // 0xF0 + }; + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct UserCmd_t + { + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int pVft; // 0x00 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_iCmdNumber; // 0x04 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_iTickCount; // 0x08 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + public Vector3 m_vecViewAngles; // 0x0C + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)] + public Vector3 m_vecAimDirection; // 0x18 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public float m_flForwardmove; // 0x24 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public float m_flSidemove; // 0x28 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public float m_flUpmove; // 0x2C + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_iButtons; // 0x30 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + public int m_bImpulse; // 0x34 + public int[] Pad1; + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_iWeaponSelect; // 0x38 + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_iWeaponSubtype; // 0x3C + [MarshalAs(UnmanagedType.U1, SizeConst = 4)] + public int m_iRandomSeed; // 0x40 + [MarshalAs(UnmanagedType.U1, SizeConst = 2)] + public UInt16 m_siMouseDx; // 0x44 + [MarshalAs(UnmanagedType.U1, SizeConst = 2)] + public UInt16 m_siMouseDy; // 0x46 + [MarshalAs(UnmanagedType.U1, SizeConst = 1)] + bool m_bHasBeenPredicted; // 0x48 + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public int[] Pad2; + }; // size is 100 or 0x64 + + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct VerifiedUserCmd_t + { + public UserCmd_t m_Command; + public UInt32 m_Crc; + }; + + [StructLayout(LayoutKind.Sequential)] + public struct GlowSettings + { + byte renderWhenOccluded; + byte renderWhenUnoccluded; + byte fullBloomRender; + + public GlowSettings(bool __renderWhenOccluded, bool __renderWhenUnoccluded, bool __fullBloom) + { + renderWhenOccluded = __renderWhenOccluded == true ? (byte)1 : (byte)0; + renderWhenUnoccluded = __renderWhenUnoccluded == true ? (byte)1 : (byte)0; + fullBloomRender = __fullBloom == true ? (byte)1 : (byte)0; + } + } + + public struct GlowColor + { + public float r; + public float g; + public float b; + public float a; + public GlowColor(Color color) + { + r = color.R / 255f; + g = color.G / 255f; + b = color.B / 255f; + a = color.A / 255f; + } + public GlowColor(float _r,float _g,float _b, float _a) + { + r = _r; + g = _g; + b = _b; + a = _a; + } + public static Color operator *(GlowColor a, int b) + { + return Color.FromArgb((int)a.a*b, (int)a.r * b, (int)a.g * b, (int)a.b * b); + } + public Color ToColor + { + 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); + } + } +}