. Login Register
Euro Cheats

Melhor forúm de cheats do Brasil!


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

Post: #1Sáb Ago 25, 2012 12:17 pm

[P]ower

[P]ower

Moderador
Moderador
O que vamos precisar:

1 x TextBox
- 4 x Buttons
- 1 x ListBox
- 3 x Label
- 2 x Radio Button
- 1 x CheckBox
- 1 x OpenFileDialog
- 2 x Timer (Set both to interval 50, and enable the second one only)
- 1 x GroupBox (Not compulsory)

Como configurar os botões etc...

- Procurar = Button1
- Injectar = Botão 3
- Remova = Button2
- Limpar tudo Button4 =
- Status = Label3
- AutoInject = Timer1
- Status Updater = Timer2

Passo 1 :

Primeiro você vai precisar de configurar o seu GUI. Para fazê-la parecer doce e profissional eu sugiro gastar algum tempo nesta etapa. Tente não usar fontes desleixado / encaracolado com cores aleatórias. Experimente e fazer seus botões alinhados de forma que eles são de fácil acesso junto.

Fundos de imagem geralmente horrível, a menos que você está indo para torná-lo apto para o seu injetor exatamente o uso de cores que combinam e ter certeza que você pode ver seus rótulos ainda. Sugiro também que você desligar o botão de maximizar, é nas propriedades do formulário no lado direito. Abaixo está um exemplo:

Como criar um Multi Injector (VISUAL BASIC)  2z7h1kk

Passo 2 :

Agora vamos configurar as opções de salvamento, já que é a coisa easist fazer. Goto Projeto> Propriedades e clique na guia Settings. Faça uma nova configuração chamada injetar, torná-lo uma corda. Faça um outro chamado perto e fazer com que um número inteiro. Pressione CTRL + S para salvar e feche as propriedades.

Como criar um Multi Injector (VISUAL BASIC)  2rpe4ww

Passo 3 :

Agora duplo clique no cabeçalho do formulário (onde o título é) que fará uma nova sub Privadas. Nós vamos verificar as configurações nos dizer e então alterar os botões de rádio e caixa de verificação em conformidade. Eu vou explicar o código em um segundo. Copie e cole este em seus sub Form_Load.

Código :

Código:
If My.Settings.inject = "auto" Then
            RadioButton1.Checked = True
        ElseIf My.Settings.inject = "manual" Then
            RadioButton2.Checked = True
        Else
            RadioButton1.Checked = True
        End If


Este código vai verificar se a configuração de seu último definido como auto ou manual, e depois de lá ele vai mudar as caixas de seleção para ajustar a configuração correta. Muito simples. Nós também usamos uma declaração Else na parte inferior por isso, se ele não encontrar nenhuma dessas configurações (por exemplo, é a primeira vez que você abrir o injetor) que vai apenas verificar a primeira opção.

Passo 4 :

O próximo passo é fazer o mesmo para o Fechar após injetar opção. É exatamente o mesmo processo que o anterior com uma simples instrução IF.

Código :

Código:
If My.Settings.close = 1 Then
            CheckBox1.Checked = True
        Else
            CheckBox1.Checked = False
        End If

Passo 5 :

A próxima coisa a fazer é salvar as configurações quando verificar ou alterar o estado dos botões de rádio. Fazemos isso através de um duplo clique sobre elas para introduzir o código de novo. Primeiro clique duas vezes no primeiro botão que é para injeção manual. Nós também vamos adicionar alguns códigos para a injetar botão para torná-lo desativado.

Código :

Código:
My.Settings.inject = "auto"
        My.Settings.Save()
        My.Settings.Reload()
        Button3.Enabled = False
        Timer1.Start()

Este código irá salvar a configuração para "auto" que podemos usar quando o formulário é carregado novamente. Também apenas desabilitado o botão Inject porque estamos injetando manualmente. E, finalmente, permitiu que o timer1 porque esse é o temporizador vamos usar para verificar se o processo está sendo executado mais tarde.

Passo 6 :

Nós vamos fazer a mesma coisa para o botão de outro rádio, mas as opções serão oposto.

Código :

Código:
My.Settings.inject = "manual"
        My.Settings.Save()
        My.Settings.Reload()
        Button3.Enabled = True
        Timer1.Stop()

Passo 7 :

O bit final desta seção é para a caixa de seleção. Nós só temos que ver se a caixa está marcada ou não, e salvar a configuração.

Código :

Código:
If CheckBox1.Checked = True Then
            My.Settings.close = 1
        Else
            My.Settings.close = 0
        End If
        My.Settings.Save()
        My.Settings.Reload()

Você pode fazer o mesmo para o processo, se você quer, ele tem que ser bastante auto-explicativo agora.

Passo 8 :

Agora temos todas as coisas básicas feito, podemos passar para alguns bits mais aprofundada. Vamos começar com o Timer1. Este temporizador vai verificar se o processo é iniciado e vai injectar se estiver. Este temporizador só vai ser ativado quando o botão de opção para injecção automática está marcada lembre-se.

Código :

Código:
If ListBox1.Items.Count > 0 Then
            Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
            If TargetProcess.Length = 0 Then
                Label3.Text = ("Waiting for " + TextBox1.Text + ".exe")
                Label3.ForeColor = Color.Red
            Else
                Dim ProcID As Integer = Process.GetProcessesByName(TextBox1.Text)(0).Id
                Timer1.Stop()
                Timer2.Stop()
                'INJECT CODE HERE
            End If
        End If

Aqui nós estamos indo para primeiro verificar se há qualquer DLL está selecionada. Se não, o resto do código é ignorado. Presumindo que há uma DLL pronta para ser injetada, vamos verificar se o processo é iniciado. Se não, nós imprimimos "À espera de processo" na caixa de status. Se o processo for aberto e pronto, vamos continuar com injeção, parando os temporizadores como eles não são mais necessários e, em seguida, chamamos o Inject função que vamos adicionar mais tarde.

Passo 9 :

Em seguida, precisamos cobrir o segundo temporizador que vamos utilizar para verificar o status de toda a aplicação. A razão por que colocar isso em um temporizador separado é porque queremos o estado para continuar atualizando mesmo se eles estão injetando manualmente, caso em que o Timer1 iria parar de correr, se isso faz qualquer sentido!

Código :

Código:
If TextBox1.Text = "" Then
            Label3.Text = "Waiting for process to be set."
            Label3.ForeColor = Color.Red
            Timer1.Stop()

        ElseIf ListBox1.Items.Count = 0 Then
            Label3.Text = "Waiting for DLL path."
            Label3.ForeColor = Color.Red
            Timer1.Stop()

        Else
            Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
            If TargetProcess.Length = 0 Then
                Label3.Text = ("Waiting for " + TextBox1.Text + ".exe")
                Label3.ForeColor = Color.Red
            Else
                If RadioButton1.Checked = True Then
                    Timer1.Start()
                End If
            End If
        End If

A primeira coisa que fazemos é verificar se o usuário digitou em um processo, se não ele irá parar o timer1 como não há necessidade de deixá-lo correr até que estejamos prontos para injetar. Ele também irá imprimir uma mensagem para o nosso rótulo de status. A próxima coisa a verificar é o DLL. Se não DLL for selecionado, então podemos fazer o mesmo, já que não pode cuntinue até a DLL foi especificado. A terceira coisa a verificar é o processo para ver se a sua execução. Se não, vamos imprimir uma mensagem e parar o timer1. Se tudo estiver configurado corretamente após essas verificações e que o usuário deseja injeção automática, começamos timer1 para que ele possa chamar o Inject função.

Passo 10 :

Podemos aswell declarar todos os nossos booleanos agora para o Inject função e configurar a injeção real. Eu vou admitir que eu não entendo este código! Não é muito importante se você sabe como ele funciona ou não, porém, a menos que botheres que você não entende isso. Isto vai no topo apenas em "Public Class Form1". Nós também declarou um novo dicionário aqui chamado dlls.

Código :

Código:
Dim allocAddress As Integer = VirtualAllocEx(hProcess, 0, dllBytes.Length, &H1000, &H4)
        If allocAddress = Nothing Then Return False '//if the memory allocation failed then we gotta quit.
        Dim kernelMod As Integer = GetModuleHandle("kernel32.dll") '//kernel holds the LoadLibrary function, and its loaded to a constant address space, so we can find the load address in our own processes memory and assume it will be the same in the target process.
        Dim loadLibAddr = GetProcAddress(kernelMod, "LoadLibraryA") '//find the address of LoadLibrary in kernel.
        If kernelMod = 0 OrElse loadLibAddr = 0 Then Return False
        WriteProcessMemory(hProcess, allocAddress, dllBytes, dllBytes.Length, 0) '// write the dll location as bytes to the process memory in the location we allocated earlier, we'll use this address when we call LoadLibrary so it knows where to load the dll from
        Dim libThread As Integer = CreateRemoteThread(hProcess, 0, 0, loadLibAddr, allocAddress, 0, 0) '//call the LoadLibrary function in the target process and pass the location of our DLL to it (actually, we just pass the address to where it should read it from, it does the

rest)
        If libThread = 0 Then
            Return False '// couldn't create the thread, quit now
        Else
            WaitForSingleObject(libThread, 5000) '//give the process 5 seconds to finish using the LoadLibrary function if it needs it
            CloseHandle(libThread) '//close our handle to the thread.
        End If
        CloseHandle(hProcess) '//close our handle to the process
        Label3.Text = "DLL injected successfully."
        If CheckBox1.Checked = True Then
            Me.Close()
        End If
        Label3.ForeColor = Color.Green
        Return True
    End Function

Você vai ver no fundo de nossa função de injetar, usamos uma instrução IF para verificar se para fechar o injector. Simplesmente vamos verificar se a caixa está marcada (um monte de cheques!) E então usar me.close para fechar toda a aplicação.

Passo 11 :

Hora de adicionar códigos nosso botão agora. Vamos começar com o botão Inject. Clique duas vezes para introduzir o código.

Código :

Código:
If ListBox1.Items.Count > 0 Then
            If TextBox1.Text <> "" Then
                Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
                If TargetProcess.Length = 0 Then
                    MsgBox(TextBox1.Text + ".exe is not running.", MsgBoxStyle.Critical, "Error")
                Else
                    Timer1.Stop()
                    Dim ProcID As Integer = Process.GetProcessesByName(TextBox1.Text)(0).Id
                    'INJECT CODE HERE
                End If
            Else
                MsgBox("You haven't specificed a process.", MsgBoxStyle.Critical, "Error")
            End If
        Else
            MsgBox("You need to select a dll file to inject.", MsgBoxStyle.Critical, "Error")
        End If

Este é praticamente o mesmo código para o Timer1 mas rearanged para incluir caixas de mensagem. Vamos verificar se o processo está definido, se há qualquer da DLL no ListBox e se o processo está sendo executado. Qualquer erro será exibida uma mensagem de erro.

Passo 12 :

O botão de navegação é o próximo. Clique duas vezes para introduzir o código.

Código :

Código:
OpenFileDialog1.Filter = "DLL (*.dll) |*.dll"
        OpenFileDialog1.ShowDialog()

Estamos indo simplesmente para definir o filtro para o OpenFileDialog para que ele só permite abrir DLL e então podemos mostrar o OpenFileDialog para o usuário a abrir um hack.

Passo 13 :

Para parar o erro bobo de aparecendo quando você navegar e clique em Cancelar, precisamos adicionar este bit para os sub File_OK. Para fazer isso, clique duas vezes o OpenFileDialog e cole este.

Código :

Código:
Dim FileName As String = OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("\"))
        Dim DllFileName As String = FileName.Replace("\", "")
        ListBox1.Items.Add(DllFileName)
        dlls.Add(DllFileName, OpenFileDialog1.FileName)

Isso vai levar o nome completo, cortá-la usando algumas funções que ele só mostra o nome do hack.dll. Então, podemos adicioná-lo ao nosso ListBox. Depois disso, podemos também adicionar a dll ao nosso dicionário. Fazemos isso com uma função simples dlls.Add segurando o nome de arquivo curto eo caminho completo depois.

Passo 14 :

O próximo é o botão Remover. Este código é um pouco confuso de entender, a menos que você é bom em matemática!

Código :

Código:
If ListBox1.SelectedIndex >= 0 Then
            OpenFileDialog1.Reset()
            dlls.Remove(ListBox1.SelectedItem)
            For i As Integer = (ListBox1.SelectedItems.Count - 1) To 0 Step -1
                Dim i2 As Integer = i + 2
                ListBox1.Items.Remove(ListBox1.SelectedItems(i))
            Next
        End If

Primeiro vamos verificar se uma dll é ainda selecionado, caso contrário, ele traz de volta uma mensagem de erro. Em seguida, reiniciar o OpenFileDialog para parar todos os outros erros. Depois que podem facilmente remover a DLL do nosso dicionário usando a chave que é o mesmo que o que estava no ListBox. Então nós temos que fazer um pouco de matemática para determinar qual dll na lista de remover. A função de contagem e os SelectedItems funcionar tanto início em valores diferentes, o que torna muito confuso para fazer isso. Uma vez que temos o Índice de direito, podemos remover o item com items.remove.

Passo 15 :

O último é o botão Limpar tudo, seus realmente para a frente e requer apenas duas linhas de código. Com uma função simples, podemos apagar tudo do ListBox e com outro que pode redefinir a dicionário.

Código :

Código:
ListBox1.Items.Clear()
dlls.Clear()

Passo 16 :


O passo final é adicionar o código para passar por cada DLL e injetá-lo separadamente. Para fazer isso vamos usar um para cada afirmação, que irá percorrer nosso dicionário e injetar cada valor, usando o nosso caminho completo para a DLL. Você vai ver duas vezes no seu código a frase "injetar código aqui, que é onde você precisa colocar esse próximo pedaço de código.

Código :

Código:
For Each inj As KeyValuePair(Of String, String) In dlls
                        Inject(ProcID, inj.Value)
                    Next

Passo 17 :

Este é o passo final para obter o seu trabalho injector. Ir Ferramentas> Opções> Projetos e Soluções> Geral e marque "Mostrar configurações avançadas construir". Então goto Construir> Configuration Manager. No uma depuração, clique na caixa suspensa e ir New> plataforma x86. Agora você pode usar esta plataforma para sua depuração e liberação e, em seguida, clique em fechar.

E aí está, um trabalho totalmente multi-dll injector. Obrigado pela leitura e espero tê-lo ajudado em seu caminho em Visual Basic!


[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Não vou colocar SCAN porque é no BAIXAKI e é Coonfiavel.

Por Favor Agredeçe

Como criar um Multi Injector (VISUAL BASIC)  VIQCP

[P]ower



Última edição por [P]ower em Sáb Ago 25, 2012 1:21 pm, editado 4 vez(es)

Post: #2Sáb Ago 25, 2012 12:20 pm

Bulbo

Bulbo

Game Zone
Game Zone
Sem vontade de ler, Mas vo ler e depois edito isso, mas ja levou meu +1!!

Post: #3Sáb Ago 25, 2012 12:22 pm

[S]ayajin[2]

[S]ayajin[2]

Moderador
Moderador
Levo meu + Parabens continue assim man

Post: #4Sáb Ago 25, 2012 12:23 pm

[P]ower

[P]ower

Moderador
Moderador
Obrigado Galera. Very Happy

Post: #5Sáb Ago 25, 2012 12:31 pm

мısтєяıσsσ

мısтєяıσsσ

Game Zone
Game Zone
Coloque os creditos , pois já vi um tuto igual em outro forum !

Post: #6Sáb Ago 25, 2012 12:32 pm

~[W]ireless

~[W]ireless

Cheater
Cheater
Muito bom, obrigado por compartilhar. Tenho certeza que irá ajudar muita gente. Smile

Att. ~[W]ireless

Post: #7Sáb Ago 25, 2012 7:26 pm

RaafaHurley

RaafaHurley

Membro
Membro
Otimo tutorial
Obrigado por compartilhar

Abraços

https://eurocheats.forumbrasil.net

Post: #8Dom Set 02, 2012 5:37 pm

Nenpow

Nenpow

Fundador
Fundador
Ótimo!

https://eurocheats.forumbrasil.net

Post: #9

Conteúdo patrocinado

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos