Company - anti-hacker

    Compartilhe

    Ian
    Ocasional
    Ocasional

    Mensagens : 214
    Créditos : 26

    Company - anti-hacker

    Mensagem por Ian em Ter Out 29, 2013 4:25 pm

    - O que seria isso ?

    ultimamente andei pesando por que não desenvolver uma ferramenta anti-hacker para jogos desenvolvidos por nos makers até por que eu sei bem que uma maioria não tem dinheiro pra investir em um anti-hacker milionário como de jogos profissionais bom vamos direto ao ponto primeiramente esse aplicativo teve inicio em visual basic 6.0 (Obs: sinceramente eu nem sei por que usei ele pra inicio) depois pensei bem e decide começar outro do zero em visual basic .net

    - Versão gratuita
    atualmente era irar te proteger unicamente do hacker cheat engine mais conhecido por sped hacker que e para o que ele mais e usado porem ele também tem funções de alterar os values do seu jogo como quantidade de ouro, experiência, vida, magia, entre outras coisas que possui values

    - Esse anti-hacker serve unicamente pra eclipse origiins ?
    Não ele serve pra qual quer tipo de jogo mesmo com código fonte aberto como exemplo: eclipse, eclipse origins, elysium, entre outras do mesmo gênero até servidores privados como mu online lineage entre outros apesar que para servidor privados terão que entrar em contato comigo para que eu faça o procedimento de implantar o anti-hacker no mesmo

    - Tutorial para eclipse origins
    Bom e bem simples esse tutorial e pra fazer com que seu projeto tenha total integração com o anti-hacker bom vamos a o que interessa

    - 1° Etapa
    Abra o código fonte do seu cliente depois disso procure sua from de inicialização pra quem usa versões com directx7 e bem provável que seja a frmMenu pra quem usa versões com directx8 como de padrão e frmMain depois de encontrar sua from de inicialização de um duplo click nela e procure por essa sub:

    Código:
    Private Sub Form_Load()
    - Dentro da sub acima coloque o seguinte código

    Código:
     If Not Command = "Company_anti_hacker" Then
        MsgBox "Erro:  Execute o jogo pelo laucher!", vbCritical, Options_Game_Name

        DestroyGame
        End
        Exit Sub
        End If
    - Explicação

    vou dar uma prevê explicação do que o código acima vai fazer no seu projeto ele vai impedir que seu projeto seja aberto sem a atualização do anti-hacker em questão
    e iria emitir a seguinte mensagem Erro: Execute o jogo pelo laucher!

    - 2° Etapa

    adicione esse código na sua form principal ou seja frmMenu ou frmMain

    Código para por:

    Codigo para o modulo:

    Código:
    Option Explicit
     
    Private Declare Function OpenProcess Lib "kernel32" ( _
        ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
     
    Private Declare Function CloseHandle Lib "kernel32" ( _
        ByVal hObject As Long) As Long
     
    Private Declare Function EnumProcesses Lib "PSAPI.DLL" ( _
      lpidProcess As Long, ByVal cb As Long, cbNeeded As Long) As Long
     
    Private Declare Function EnumProcessModules Lib "PSAPI.DLL" ( _
        ByVal hProcess As Long, lphModule As Long, ByVal cb As Long, lpcbNeeded As Long) As Long
     
    Private Declare Function GetModuleBaseName Lib "PSAPI.DLL" Alias "GetModuleBaseNameA" ( _
        ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
     
    Private Const PROCESS_VM_READ = &H10
    Private Const PROCESS_QUERY_INFORMATION = &H400
     
    Private Function IsProcessRunning(ByVal sProcess As String) As Boolean
        Const MAX_PATH As Long = 260
        Dim lProcesses() As Long, lModules() As Long, N As Long, lRet As Long, hProcess As Long
        Dim sName As String
     
     sProcess = UCase$(sProcess)
     
     ReDim lProcesses(1023) As Long
        If EnumProcesses(lProcesses(0), 1024 * 4, lRet) Then
            For N = 0 To (lRet \ 4) - 1
                hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, lProcesses(N))
                If hProcess Then
                    ReDim lModules(1023)
                    If EnumProcessModules(hProcess, lModules(0), 1024 * 4, lRet) Then
                        sName = String$(MAX_PATH, vbNullChar)
                        GetModuleBaseName hProcess, lModules(0), sName, MAX_PATH
                        sName = Left$(sName, InStr(sName, vbNullChar) - 1)
                        If Len(sName) = Len(sProcess) Then
                            If sProcess = UCase$(sName) Then IsProcessRunning = True: Exit Function
                        End If
                    End If
                End If
                CloseHandle hProcess
            Next N
        End If
    End Function




    lembrando esse código tem que estar no mesmo local do timer

    - Explicação

    Todo o código desse modulo tem como função checar se programa especifico esta aberto

    Obs: Coloquei o spoiler para não deixar o tópico imenso com apenas um código

    - 3° Etapa

    Adicione um timer na sua from de inicialização como já foi dito acima para quem usa from pra quem usa versões com directx7 e bem provável que seja a frmMenu pra quem usa versões com directx8 como de padrão e frmMain configurações do timer

    Nome:trmcheck
    Interval:25

    Código para por dentro:

    Código:
    If IsProcessRunning("Company_anti_hacker.exe") Then
    Else
    MsgBox "O launcher esta fechado jogo finalizado!", vbCritical, Options_Game_Name
    End If
    - 4° Etapa final

    procure pelo seguinte modulo:

    modGeneral
    dentro desse modulo encontre essa função
    Código:
    Public Sub DestroyGame
    dentro dela coloque

    Código:
    TerminateProcess ("Company_anti_hacker.exe")
    - Explicação

    isso ira fazer com que o processo do anti-hacker seja finalizado

    dentro desse modulo coloque essa função

    Código:
    Private Sub TerminateProcess(app_exe As String)
        Dim Process As Object
        For Each Process In GetObject("winmgmts:").ExecQuery("Select Name from Win32_Process Where Name = '" & app_exe & "'")
            Process.Terminate
        Next
    End Sub
    - Explicação

    Essa função e responsável pelo enceramento de processos assim que você aponta algo para o mesmo

    - Requerimentos

    Você terá que ter instalado o Microsoft framework 4.5.1
    terá que mudar o nome do seu jogo para Game
    lembrando que essa versão gratuita possuir algumas limitações como o nome do jogo sempre tem que ser Game

    - Você esta protegido contra

    - Cheat Engine 6.3

    Coloquei apenas ele por ser uma versão gratuita e até por que não cheguei a pesquisar o nome dos outro hackers

    Obs:
    mesmo você trocando o nome do aplicativo ele iria bloquear o hacker


    - Download
    Download via Media fire
    Link

    Download via Mega
    Link

    Download via dropbox
    Link

    - Duvidas ou sugestões
    Basta comentar no próprio tópico ou me procurar pelo meu e-mail ou skype

    - Obs
    dentro breve estarei fazendo o mesmo tutorial para eclipse - elysium apesar que o mesmo acima pode ser facilmente usado para as outras engines abraço!


    - Imagens

    Abra o spoiler para ver as imagens


    Spoiler:
    <iframe class="imgur-album" width="100%" height="550" frameborder="0" src="http://imgur.com/a/7yLux/embed"></iframe>


    - Atualização

    Foram removidos os bugs de lentidão ao detectar o hacker agora você tera uma resposta em tempo real

    foi arrumado o sistema de pegar a id do hacker aberto não importa se o nome sejá alterado ou o processo ele encontara o mesmo

    código fonte otimisado removido boa parte dos códigos antigos e lentos que eu tinha feito ás pressas

    foi adicionado um arquivo ini na pasta data files com configurações do launcher para mudar a url e colocar o nome do seu projeto

    problema com consumo de ram resolvido

    adiif1
    Novato
    Novato

    Mensagens : 10
    Créditos : 0

    Re: Company - anti-hacker

    Mensagem por adiif1 em Sex Jun 20, 2014 10:31 pm

    Onde está a fonte?

    Where is source?

      Data/hora atual: Sex Dez 09, 2016 12:48 am