Code:
// Decompiled with JetBrains decompiler
// Type: Exp_Hack.Form1
// Assembly: Exp Hack, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 2971F55F-E1F9-4A98-A357-482EF692D0A2
// Assembly location: C:\Users\fallag-retcher-PC\Desktop\Exp Hack.exe
using Exp_Hack.My;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System****;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
namespace Exp_Hack
{
[DesignerGenerated]
public class Form1 : Form
{
private Dictionary<string, string> dlls;
private IContainer components;
internal virtual Label Label2 { get; [MethodImpl(MethodImplOptions.Synchronized)] set; }
internal virtual Timer Timer1
{
get
{
return this._Timer1;
}
[MethodImpl(MethodImplOptions.Synchronized)] set
{
EventHandler eventHandler = new EventHandler(this.Timer1_Tick);
Timer timer1_1 = this._Timer1;
if (timer1_1 != null)
timer1_1.Tick -= eventHandler;
this._Timer1 = value;
Timer timer1_2 = this._Timer1;
if (timer1_2 == null)
return;
timer1_2.Tick += eventHandler;
}
}
public Form1()
{
this.Load += new EventHandler(this.Form1_Load);
this.dlls = new Dictionary<string, string>();
this.InitializeComponent();
}
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int OpenProcess(int dwDesiredAccess, int bInheritHandle, int dwProcessId);
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int VirtualAllocEx(int hProcess, int lpAddress, int dwSize, int flAllocationType, int flProtect);
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern bool WriteProcessMemory(int hProcess, int lpBaseAddress, byte[] lpBuffer, int nSize, uint lpNumberOfBytesWritten);
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int GetProcAddress(int hModule, [MarshalAs(UnmanagedType.VBByRefStr)] ref string lpProcName);
[DllImport("kernel32", EntryPoint = "GetModuleHandleA", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int GetModuleHandle([MarshalAs(UnmanagedType.VBByRefStr)] ref string lpModuleName);
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int CreateRemoteThread(int hProcess, int lpThreadAttributes, int dwStackSize, int lpStartAddress, int lpParameter, int dwCreationFlags, int lpThreadId);
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int WaitForSingleObject(int hHandle, int dwMilliseconds);
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int CloseHandle(int hObject);
private bool Inject(int pID, string dllLocation)
{
int num1 = Form1.OpenProcess(2035711, 1, pID);
bool flag;
if (num1 == 0)
{
flag = false;
}
else
{
byte[] bytes = Encoding.ASCII.GetBytes(dllLocation);
int num2 = Form1.VirtualAllocEx(num1, 0, bytes.Length, 4096, 4);
if (num2 == 0)
{
flag = false;
}
else
{
string lpModuleName = "kernel32.dll";
int moduleHandle = Form1.GetModuleHandle(ref lpModuleName);
string lpProcName = "LoadLibraryA";
int procAddress = Form1.GetProcAddress(moduleHandle, ref lpProcName);
if (moduleHandle == 0 || procAddress == 0)
{
flag = false;
}
else
{
Form1.WriteProcessMemory(num1, num2, bytes, bytes.Length, 0U);
int remoteThread = Form1.CreateRemoteThread(num1, 0, 0, procAddress, num2, 0, 0);
if (remoteThread == 0)
{
flag = false;
}
else
{
Form1.WaitForSingleObject(remoteThread, 5000);
Form1.CloseHandle(remoteThread);
Form1.CloseHandle(num1);
flag = true;
}
}
}
}
return flag;
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void Timer1_Tick(object sender, EventArgs e)
{
string tempFileName = MyProjec*****mputer.FileSystem.GetTempFileName();
File.WriteAllBytes(tempFileName, Exp_Hack.My.Resources.Resources.ExpHack);
if (Process.GetProcessesByName("BlackShot").Length == 0)
return;
int id = Process.GetProcessesByName("BlackShot")[0].Id;
this.Timer1.Start();
this.Inject(id, tempFileName);
this.Timer1.Stop();
}
[DebuggerNonUserCode]
protected override void Dispose(bool disposing)
{
try
{
if (!disposing || this.components == null)
return;
this.components.Dispose();
}
finally
{
base.Dispose(disposing);
}
}
[DebuggerStepThrough]
private void InitializeComponent()
{
this.components = (IContainer) new Container();
ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (Form1));
this.Label2 = new Label();
this.Timer1 = new Timer(this.components);
this.SuspendLayout();
this.Label2.AutoSize = true;
this.Label2.BackColor = Color.Black;
this.Label2.ForeColor = Color.FromArgb(192, 0, 0);
this.Label2.Location = new Point(87, 23);
this.Label2.Name = "Label2";
this.Label2.Size = new Size(150, 117);
this.Label2.TabIndex = 1;
this.Label2.Text = "How To Use : \r\n- Run As Admin ExpHack.exe \r\n- Open Launcher BlackShot \r\n- Start BlackShot \r\n- Press Ok To Message Box \r\n- Create SD Match 1vs1 \r\n- Press Insert \r\n* Only Work With Host *\r\n- Jemy -\r\n";
this.Timer1.Enabled = true;
this.AutoScaleDimensions = new SizeF(6f, 13f);
this.AutoScaleMode = AutoScaleMode.Font;
this.BackgroundImage = (Image) Exp_Hack.My.Resources.Resources.BS;
this.BackgroundImageLayout = ImageLayout.Stretch;
this.ClientSize = new Size(338, 177);
this.Controls.Add((Control) this.Label2);
this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
this.Name = "Form1";
this.Text = "EXP & BP HACK";
this.ResumeLayout(false);
this.PerformLayout();
}
}
}