none
VirtualProtect Para Visual Studio ou VB.net RRS feed

  • Pergunta

  • Olá queria saber se tem alguma função que permita editar a memoria de um jogo sendo que ela esta protegida . 

    no Delphi usamos a seguinte função "VirtualProtect" permite que editamos a memoria dos jogos com proteção . 

    queria saber se tem uma função que permitia essa mesma ação .

    domingo, 16 de fevereiro de 2014 19:12

Respostas

Todas as Respostas

  • Olá,

    O Kernel do Windows possui a função VirtualProtect (Seria a mesma que você usava no delphi?) que pode ser usada no vb.net ou c# através de P/Invoke:

    pinvoke.net - virtualprotect (kernel32)

    VirtualProtect function (Windows)

    Segue uma forma de implementa-la no vb.net (Não testei):

    <DllImport("kernel32.dll", SetLastError := True)> _
    Private Shared Function VirtualProtect(lpAddress As IntPtr, dwSize As UInteger, flNewProtect As UInteger, ByRef lpflOldProtect As UInteger) As Boolean
    End Function
    
    Public Enum Protection
    	PAGE_NOACCESS = &H1
    	PAGE_READONLY = &H2
    	PAGE_READWRITE = &H4
    	PAGE_WRITECOPY = &H8
    	PAGE_EXECUTE = &H10
    	PAGE_EXECUTE_READ = &H20
    	PAGE_EXECUTE_READWRITE = &H40
    	PAGE_EXECUTE_WRITECOPY = &H80
    	PAGE_GUARD = &H100
    	PAGE_NOCACHE = &H200
    	PAGE_WRITECOMBINE = &H400
    End Enum

    Espero ter ajudado.


    Herbert Lausmann


    • Editado Herbert Lausmann domingo, 16 de fevereiro de 2014 21:24
    • Marcado como Resposta Giovani Cr terça-feira, 18 de fevereiro de 2014 18:44
    domingo, 16 de fevereiro de 2014 21:22
  • Olá obrigado pela ajuda eu estarei testando .
    segunda-feira, 17 de fevereiro de 2014 03:59
  • Olá,

    O Kernel do Windows possui a função VirtualProtect (Seria a mesma que você usava no delphi?) que pode ser usada no vb.net ou c# através de P/Invoke:

    pinvoke.net - virtualprotect (kernel32)

    VirtualProtect function (Windows)

    Segue uma forma de implementa-la no vb.net (Não testei):

    <DllImport("kernel32.dll", SetLastError := True)> _
    Private Shared Function VirtualProtect(lpAddress As IntPtr, dwSize As UInteger, flNewProtect As UInteger, ByRef lpflOldProtect As UInteger) As Boolean
    End Function
    
    Public Enum Protection
    	PAGE_NOACCESS = &H1
    	PAGE_READONLY = &H2
    	PAGE_READWRITE = &H4
    	PAGE_WRITECOPY = &H8
    	PAGE_EXECUTE = &H10
    	PAGE_EXECUTE_READ = &H20
    	PAGE_EXECUTE_READWRITE = &H40
    	PAGE_EXECUTE_WRITECOPY = &H80
    	PAGE_GUARD = &H100
    	PAGE_NOCACHE = &H200
    	PAGE_WRITECOMBINE = &H400
    End Enum

    Espero ter ajudado.


    Herbert Lausmann


    Olá estou com outra duvida ... no delphi a função e ativada Asim.


    PDWord(PDWord(PDWord(PDWord(VirtualProtect(getmodulehandle(Processo.exe')+$Pointer)^+$Offset1)^+$Offset2)^+$Offset3)^:= Value;

    Codigo normal para altera memoria do jogo.

    Normal = WritePointerInteger("Processo", &HPointer, Value, &HOffset1)

    Como ficaria ele com o VirtualProtect

    ?????


    • Editado GabrielVB segunda-feira, 17 de fevereiro de 2014 04:26
    segunda-feira, 17 de fevereiro de 2014 04:25
  • Ai já é com outra função do Kernel: WriteProcessMemory function (Windows).

    Nestes links tem uns códigos de exemplo:

    Cheat Engine :: View topic - [VB.NET]WriteProcessMemory string

    [code] Modulo para trainer indetectavel VB.NET


    Herbert Lausmann

    • Marcado como Resposta Giovani Cr terça-feira, 18 de fevereiro de 2014 18:44
    segunda-feira, 17 de fevereiro de 2014 10:54