Jump to content

[C#]Basit Trainer Yapımı


Kikuchi

Recommended Posts

   Aimbot yapımına geçmeden önce Trainer yapımını göstermek istedim . Peki Trainer nasıl yapılır ve nelere ihtiyacımız var ? 
 
>>Brain.EXE 

Troll :D :D

 
>>Herhangi bir C# IDE'si (Visual Studio , #Develop ...)
 
>>Address

Bunlar oyunda levelimizin , adımızın vs ...yazıldığı yerler .
Cheat Engine / IDA Pro İle Bulabilirsiniz .
Eğer üşeniyorsanız buradan arayabilirsiniz.
 
>>Extra 

Kod yazarken kafa yapıyor ...
 

 
 
   Öncelikle Windows Formu oluşturuyoruz .

 
V6AjqZ.png

 

n2k41V.png

 
 
   Şimdi geldik domatesin faydalarına ...

 
1
vRm3Mz.png

 
2

LE2j9o.png

 
3

rRjGPm.png

 
3.1

#region Memory        #region Basic Stuff        [DllImport("kernel32.dll")]        private static extern Int32 ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out IntPtr lpNumberOfBytesWritten);        [DllImport("kernel32.dll")]        private static extern Int32 WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out IntPtr lpNumberOfBytesWritten);        IntPtr pHandel;        public bool Process_Handle(string ProcessName)        {            try            {                Process[] ProcList = Process.GetProcessesByName(ProcessName);                if (ProcList.Length == 0)                    return false;                else                {                    pHandel = ProcList[0].Handle;                    return true;                }            }            catch (Exception ex)            { Console.Beep(); Console.WriteLine("Process_Handle - " + ex.Message); return false; }        }        private byte[] Read(int Address, int Length)        {            byte[] Buffer = new byte[Length];            IntPtr Zero = IntPtr.Zero;            ReadProcessMemory(pHandel, (IntPtr)Address, Buffer, (UInt32)Buffer.Length, out Zero);            return Buffer;        }        private void Write(int Address, int Value)        {            byte[] Buffer = BitConverter.GetBytes(Value);            IntPtr Zero = IntPtr.Zero;            WriteProcessMemory(pHandel, (IntPtr)Address, Buffer, (UInt32)Buffer.Length, out Zero);        }        #endregion        //This is the part you want to edit        #region Write Functions (Integer & String)        public void WriteInteger(int Address, int Value)        {            Write(Address, Value);        }        public void WriteString(int Address, string Text)        {            byte[] Buffer = new ASCIIEncoding().GetBytes(Text);            IntPtr Zero = IntPtr.Zero;            WriteProcessMemory(pHandel, (IntPtr)Address, Buffer, (UInt32)Buffer.Length, out Zero);        }        public void WriteBytes(int Address, byte[] Bytes)        {            IntPtr Zero = IntPtr.Zero;            WriteProcessMemory(pHandel, (IntPtr)Address, Bytes, (uint)Bytes.Length, out Zero);        }        public void WriteNOP(int Address)        {            byte[] Buffer = new byte[] { 0x90, 0x90, 0x90, 0x90, 0x90 };            IntPtr Zero = IntPtr.Zero;            WriteProcessMemory(pHandel, (IntPtr)Address, Buffer, (UInt32)Buffer.Length, out Zero);        }        #endregion        #region Read Functions (Integer & String)        public int ReadInteger(int Address, int Length = 4)        {            return BitConverter.ToInt32(Read(Address, Length), 0);        }        public string ReadString(int Address, int Length = 4)        {            return new ASCIIEncoding().GetString(Read(Address, Length));        }        public byte[] ReadBytes(int Address, int Length)        {            return Read(Address, Length);        }        #endregion        #endregion 

 
4

7PYjRY.png

 
5

PBpjX5.png

 
6

gynQm5.png

 
7

9ERjk5.png

 
8

qR3z7R.png

 
9

MWXjqg.png

 
 
10

XJyZOk.png

 
10.1

 

Kodlar Ve Türkçesi       if (Process_Handle("iw5mp"))                      //Eğer İşlem "iw5mp" Görev Yöneticisinde Bulunursa             {                MessageBox.Show("İşlem Bulundu.");   // İşlem Bulundu Yazan Bir Mesaj Kutusu Oluştur.                WriteInteger(0x1dae3e8,int.Parse(textBox1.Text)); //textBox1'de yazan Texti(yazıyı) int'e çevir ve 0x1dae3e8 yerine yaz .0x1dae3e8 benim oyundaki Address'im .Siz "0x1dae3e8" yerine kendi addressinizi yazacaksınız.            }            else // eğer işlem "iw5mp" Görev Yöneticisinde Bulunamazsa             {                MessageBox.Show("İşlem Bulunamadı"); // İşlem Bulunmadı Yazan Bir Mesaj Kutusu Oluştur.            }
 
11

bYjPNb.png

 
12

d0o9YX.png

 
 
 
     Elimden geldiğince anlaşılır anlatmaya çalıştım .Soru ve yardım için buradaki forumlara bakabilirsiniz.Umarım faydalı olmuştur.
 
 
     Projeyi buradan indirebilirsiniz .
Link to post
Share on other sites

çok güzel olmuş indirme tasarlamayı anladım ama kodlar kısmı karışık geldi ? :D

emeğe teşekürler :D

 

Referansları ekledikten sonra işlemi seçip hazırlanmış fonkisyonlarla (WriteInt , WriteString, ReadString ...) Address'i yazıp , değer giriyorsun .

 

 if (Process_Handle("iw5mp")) //Eğer "iw5mp" işlemi bulunursa ...{  //buradaki kodları çalıştır.Örneğin ben oyun içindeki levelimi değiştirmek istiyorum. Bunun için WriteInteger fonksiyonu kullanacağım . WriteInteger("oyunda levelimin tutulduğu address",gireceğim değer);Ben gireceğim değeri texbox1.text'de yazılan yazıyı int'e çevirip (sayıya dönüştürüp) kullanıyorum .} 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.