Skocz do zawartości
  • Dołącz do społeczności!

    👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[PORADNIK] Wlasny injector pod kazda gre!


Rekomendowane odpowiedzi

Opublikowano

Czesc

W tym poradniku pokaze wam jak zrobic swoj wlasny profesjonalny injector pod kazda gre!!!

 

Bedziemy potrzebowali:

-Visual Basic - wersja obojetnie jaka, ja pokaze na 2010

-mozg - wystarczy troche mozgu ;]

-iq 60+

 

 

1.Wlaczamy Visual Basic

2. Tworzymy nowy projekt - Windows Forms Application , oraz nadajemy nazwe naszego injectora

1311788204-U374232.jpg

3. Ustalamy wielkosc okna injectora.

4.Wybieramy z Tollboxa:

-4x Label

-1x TextBox

-1x Timer

-1x Open File Dialog

-1x ListBox

-3x CheckBox

-4x button (jesli chcesz dac button na dole do wylaczenia injectora dodaj tez Button5)

5. I ustawiamy je jak nam sie podoba, lecz jest jedno ale:

Label2 ustawiamy zalozmy od razu przy brzegu lewym to Label1 musimy ustawic po prawej stronie Label2 poniewaz Label1 bedzie pokazywal status czy zainjectowano Dll czy tez nie.Zaraz pokaze jak mniej wiecej mozna ustawic.

Ja ustawilem tak, wy mozecie inaczej

1311792348-U374232.jpg

Teraz objasnienie jak i co, zeby pasowalo wszytsko do kodu:

Button1 to przycisk Wybierz

Button2 to przycisk Usun

Button3 to przycisk Wyczysc

Button4 to przycisk do injectowania (ten na dole)

Button5 to przycisk do wylaczenia injectora

Textbox1 to to gdzie sie wpisuje proces, czyli to pierwsze pole tekstowe

ListBox1 to pole gdzie po wybraniu Dll widac wybrana Dll

Label1 to status injekcji

Label2 to napis STATUS

Label3 to napis Wybierz proces

Label4 to napis Wybierz Dll

ListBox1 to tam beda sie pokaywaly dll'ki ktore wybierzesz do injekcji

Jesli wszytsko ustawimy tak jak chcemy wklejamy nastepujacy kod:(postanowilem ze nie bede dawal kawalkami do kazdego elementu tylko dam caly kod tylko do wklejenia)

 

Public Class Form1

Private TargetProcessHandle As Integer

Private pfnStartAddr As Integer

Private pszLibFileRemote As String

Private TargetBufferSize As Integer

 

Public Const PROCESS_VM_READ = &H10

Public Const TH32CS_SNAPPROCESS = &H2

Public Const MEM_COMMIT = 4096

Public Const PAGE_READWRITE = 4

Public Const PROCESS_CREATE_THREAD = (&H2)

Public Const PROCESS_VM_OPERATION = (&H8)

Public Const PROCESS_VM_WRITE = (&H20)

Dim DLLFileName As String

Public Declare Function ReadProcessMemory Lib "kernel32" ( _

ByVal hProcess As Integer, _

ByVal lpBaseAddress As Integer, _

ByVal lpBuffer As String, _

ByVal nSize As Integer, _

ByRef lpNumberOfBytesWritten As Integer) As Integer

 

Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _

ByVal lpLibFileName As String) As Integer

 

Public Declare Function VirtualAllocEx Lib "kernel32" ( _

ByVal hProcess As Integer, _

ByVal lpAddress As Integer, _

ByVal dwSize As Integer, _

ByVal flAllocationType As Integer, _

ByVal flProtect As Integer) As Integer

 

Public Declare Function WriteProcessMemory Lib "kernel32" ( _

ByVal hProcess As Integer, _

ByVal lpBaseAddress As Integer, _

ByVal lpBuffer As String, _

ByVal nSize As Integer, _

ByRef lpNumberOfBytesWritten As Integer) As Integer

 

Public Declare Function GetProcAddress Lib "kernel32" ( _

ByVal hModule As Integer, ByVal lpProcName As String) As Integer

 

Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" ( _

ByVal lpModuleName As String) As Integer

 

Public Declare Function CreateRemoteThread Lib "kernel32" ( _

ByVal hProcess As Integer, _

ByVal lpThreadAttributes As Integer, _

ByVal dwStackSize As Integer, _

ByVal lpStartAddress As Integer, _

ByVal lpParameter As Integer, _

ByVal dwCreationFlags As Integer, _

ByRef lpThreadId As Integer) As Integer

 

Public Declare Function OpenProcess Lib "kernel32" ( _

ByVal dwDesiredAccess As Integer, _

ByVal bInheritHandle As Integer, _

ByVal dwProcessId As Integer) As Integer

 

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _

ByVal lpClassName As String, _

ByVal lpWindowName As String) As Integer

 

Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _

ByVal hObject As Integer) As Integer

Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)

Private Sub Inject()

On Error GoTo 1 ' If error occurs, app will close without any error messages

Timer1.Stop()

Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)

TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)

pszLibFileRemote = OpenFileDialog1.FileName

pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")

TargetBufferSize = 1 + Len(pszLibFileRemote)

Dim Rtn As Integer

Dim LoadLibParamAdr As Integer

LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)

Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)

CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)

CloseHandle(TargetProcessHandle)

1: Me.Show()

End Sub

 

Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk

 

End Sub

 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Button1.Text = "Wybierz"

Label1.Text = "Czekam na wybranie pliku dll"

Timer1.Interval = 50

Timer1.Start()

 

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

If IO.File.Exists(OpenFileDialog1.FileName) Then

Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)

If TargetProcess.Length = 0 Then

 

Me.Label1.Text = ("Czekam na " + TextBox1.Text + ".exe...")

Else

Timer1.Stop()

Me.Label1.Text = "Pomyslna Injekcjia!"

Call Inject()

If CheckBox1.Checked = True Then

Me.Close()

Else

End If

End If

Else

End If

 

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

For i As Integer = (Dlls.SelectedItems.Count - 1) To 0 Step -1

Dlls.Items.Remove(Dlls.SelectedItems(i))

Next

 

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dlls.Items.Clear()

 

End Sub

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

OpenFileDialog1.Filter = "DLL (*.dll) |*.dll|(*.*) |*.*"

OpenFileDialog1.ShowDialog()

Dim FileName As String

FileName = OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("\"))

Dim DllFileName As String = FileName.Replace("\", "")

Me.Dlls.Items.Add(DllFileName)

 

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

If IO.File.Exists(OpenFileDialog1.FileName) Then

Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)

If TargetProcess.Length = 0 Then

 

Me.Label1.Text = ("Czekam na " + TextBox1.Text + ".exe Injekcjia(F12)...")

Else

Timer1.Stop()

Me.Label1.Text = "Pomyslna Injekcjia!"

Call Inject()

If CheckBox1.Checked = True Then

Me.Close()

Else

End If

End If

Else

End If

End Sub

 

Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged

Button4.Enabled = False

Timer1.Enabled = True

End Sub

 

Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged

Button4.Enabled = True

Timer1.Enabled = False

End Sub

Private Function GetAsyncKeyState(ByVal vKey As Integer) As Short

 

If GetAsyncKeyState(Keys.F12) Then

If IO.File.Exists(OpenFileDialog1.FileName) Then

Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)

If TargetProcess.Length = 0 Then

 

Me.Label2.Text = ("Czekam na " + TextBox1.Text + ".exe Injekcjia(F12)...")

Else

Timer1.Stop()

Me.Label2.Text = "Pomyslna Injekcjia!"

Call Inject()

' If CheckBox1.Checked = True Then

'Me.Close()

'Else

' End If

End If

Else

End If

End If

 

End Function

End Class

 

Aby wkleic kod klikamy 2x na ten pasek gorny programu

DODATKOWO dodalem opcje Uruchom program, dziala to na zasadzie ze wpiszemy tam np. metin2.exe to nam sie metin uruchomi, albo tibia.exe to tibia, taki maly dodatek

Jesli chcecie dodac to do swojego injectora klikacie na Prawo w Solution Explorer na nasza nazwe i klikacie Add - Windows Form i otworzy sie nowa forma, wklejacie tam TextBox oraz 2x button, nazywacie je Uruchom i Zamknij, klikacie 2x na Uruchom i wpisujecie Shell (TextBox1.Text), nastepnie klikacie na przycisk Zamknij i wpisujecie Me.Close i zmieniacie nazwe z Form2 na jaka tam chcecie, oraz ikonke tez mozecie zmienic.W injectorze dodajemy nowy buttoni klikamy 2x na niego i wpisujemy Form2.Show

Aby dodac tez przycisk Zamknij na injectorze dodajecie Button5 , klikacie na niego wpisujecie Me.Close i to wszytsko

To wszystko w tym Poradniku. Pozdrawiam

W razie problemow pisac w temacie lub na PW

Tutaj gotowy injector jesli ktos chce

To jest ukryta treść, proszę

To jest ukryta treść, proszę

To jest ukryta treść, proszę

haslo to www.mpcforum.pl

 

Jesli ktos chce caly projekt injectora to pisac, uploadne wam

Opublikowano

sam pisalem tutorial wiec nie wiem o co ci chodzi?

 

 

EDIT: nawet w injectorze masz na dole napis ze ja to robilem, i nawet przekierowanie do mojego profilu

Opublikowano

cos podobnego, jednak to nie jest kopia tego

spojrz na moj, ma 3Checkboxy gdzie mozemy ustawic czy ma Automatycznie, manualnie odpalic oraz czy wylaczyc przy injekcji

ma tez status dzieki czemu wiemy czy dobrze sie zainjektowalo

kod podobny poniewaz kazdy injector ma bardzo podobny kod i dodano kilka funkcji tez

Opublikowano

No rozumiem, ale to tak jakby tobie ktoś ukradł kod, trochę go przerobił i twierdził że to jego. Cieszyłbyś się?

Nie siłą, a młotkiem.

Opublikowano

a czy ja komus cos ukradlem??? ;)

nie napisalem ze kod jest w 100% moj, mowie tylko ze dodalem te funkcje automatycznie,manualnie itp

a kod mialem zapisany w notatniku i go troche przerobilem, i nie twierdze ze to moj

Opublikowano

a skad mam znac autora? znalazlem go kiedys w necie i mialem w notatniku, a pozatym autorem moze byc kazdy poniewaz injector kazdy ma ta sama funkcje czyli ten sam kod,

  • 1 rok później...
Opublikowano

Ale to jakaś różnica? Bo nie wiem, jestem początkujący. I to Visual Basic i to.

Znacząca.

Do VB.NET pobierz Visual Studio Express (darmowe).

Opublikowano

Dobra pobiore. Szukam w internecie, ale wyskakuje mi tylko Visual Basic 2012 Expres. Dalbys linka (jakbys mogl)?

Cos sie dzieje, ze nie moge pisac Polskich liter, bo mi kod wyskakuje. ;>

Tysiące lat wojen, ani jednego dnia pokoju,

pytam czy to skończy się.

 

Zegarek BB

  • 1 rok później...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...