Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - GarnoX

#1
O_O no sabia eso que se podia usar  eso independiente  form donde estuviera declarada por lo que siempre pensé que para llamar a un fusione X desde un formularios X tenia que estar declarada en un modulo O_O

Bueno uno aprende Cosa nueva todo los dias...  ;-) ;-) ;-) he aprendido algo nuevo
#2
Para usar Esa Funcion  y llamarla desde Cualquier formulario la tienes que poner en un modulo no tengo mucha experiencia en modulos pero solo cambia el private por public
y te quedaria algo asi



Imports Microsoft
Imports Microsoft.Win32
Imports Microsoft.Win32.Registry
Arriba de la palabra modulo importas las librerias que usa el ejemplo
Module (nombre de tu modulo)
    Public Function start_Up(ByVal bCrear As Boolean) As String
     todo el code
    End Function


Ahora Puedes llamar a la funsion Star_up desde cualquier modulo

Con Solo Ponerle Al codigo  Msgbox(star_up(True)) ' esto es para que inicie
Msgbox(star_up(false)) para que no inicie mas :D

#3
Amigo Aca Esta como hacerlo muestra http://www.recursosvisualbasic.com.ar/htm/vb-net/32-iniciar-programa-con-windows.htm
hacerlos con dos botones uno para  iniciar y el otro para eliminarlo


Yo usaria un checkbox y le pongo por defecto que este checked  o seleccionado
para que me muestre el form
luego  puedes guardar la setting del checked box para que te cargue en cada inicio   el status del checkbox asi le das  la opcion al usuario de que configure a gusto asi quiere o no que inicie con windows
#4
Hola a todos Buenos Tengo una pequeña problema
me gustaría Pasar un CE- Scripts a vb.net

ya que he creado mi trainer pero aun me falta mucho porque ya tengo los address  que me importan pero me gustaría poder hacer la inyección de codigo.

Mi codigo del Scripts Es este
[sub][ENABLE]
//code from here till the end of the code will be used to disable the cheat

alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
add [edi+24], 1
originalcode:
//inc [edi+24]
//mov eax,[edi+24]
exit:
jmp returnhere
"popcapgame1.exe"+95B7C:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
inc [edi+24]
mov eax,[edi+24]
exit:
jmp returnhere
"popcapgame1.exe"+95B7C:
jmp newmem
nop
returnhere:
[/sub]

Ojo, Solo Pido Ayuda :una Guia Para Aprender a pasarlo al vb.net el script se que en C+ se puede pero conocimiento de  C+ = null
#5
Buenos Despues De Tanto Leer Logre Creear mi Trainer  de de PvZ 2  :D


Les dejo
CitarEn un Modulo Colocamos Esto

'Importamos la libreria
Imports System.Runtime.InteropServices
'Propietario Original del modulo
'Autor: Cless
' Editado: por Mi
Module MemoryEditor
   '########## Funcion Para Leer Memoria ############
   '   LMBytes: Sirve Para leer Los bytes
   '   LMInt: aun no entiendo su funsionalidad completamente no si si lee de 2bytes, 4 bytes 8byte o un array
   '   LMFloat: Sirve para leer memoria flotante
   '   LMDouble: Sirve para leer Memoria Double
   '########## Funcion Para Escribir Memoria ############
   '   EMBytes: Sirve Para  escribir Los bytes
   '   EMInt: aun no entiendo su funsionalidad completamente no  si Escribir de 2bytes, 4 bytes 8byte o un array
   '   EMFloat: Sirve para Escribir memoria flotante
   '   EMDouble: Sirve para Escribir Memoria Double

   Private Declare Function LMBytes Lib "kernel32" Alias "ReadProcessMemory" _
           (ByVal Handle As Integer, ByVal Address As Integer, _
                                ByRef Value As Byte, Optional ByVal Size As Integer = 2, _
                               Optional ByRef Bytes As Integer = 0) As Byte
   Private Declare Function LMInt Lib "kernel32" Alias "ReadProcessMemory" _
       (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Integer, _
                               Optional ByVal Size As Integer = 4, Optional ByRef Bytes As Integer = 0) As Integer
   Private Declare Function LMFloat Lib "kernel32" Alias "ReadProcessMemory" _
       (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Single, _
                               Optional ByVal Size As Integer = 4, Optional ByRef Bytes As Integer = 0) As Single
   Private Declare Function LMDouble Lib "kernel32" Alias "ReadProcessMemory" _
       (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Double, _
                               Optional ByVal Size As Integer = 8, Optional ByRef Bytes As Integer = 0) As Double
   Private Declare Function EMBytes Lib "kernel32" Alias "WriteProcessMemory" _
       (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Byte, _
                               Optional ByVal Size As Integer = 2, Optional ByRef Bytes As Integer = 0) As Byte
   Private Declare Function EMInt Lib "kernel32" Alias "WriteProcessMemory" _
       (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Integer, _
                               Optional ByVal Size As Integer = 4, Optional ByRef Bytes As Integer = 0) As Integer
   Private Declare Function EMFloat Lib "kernel32" Alias "WriteProcessMemory" _
       (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Single, _
                               Optional ByVal Size As Integer = 2, Optional ByRef Bytes As Integer = 0) As Single
   Private Declare Function EMDouble Lib "kernel32" Alias "WriteProcessMemory" _
       (ByVal Handle As Integer, ByVal Address As Integer, ByRef Value As Double, _
                               Optional ByVal Size As Integer = 2, Optional ByRef Bytes As Integer = 0) As Double
   
   Public Function LBytes(ByVal NombreDelExe As String, ByVal Address As Integer) As Byte
       Dim Value As Byte
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               LMBytes(Handle, Address, Value)
           End If
       End If
       Return Value
   End Function
   Public Function LInt(ByVal NombreDelExe As String, ByVal Address As Integer) As Integer
       Dim Value As Integer
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               LMInt(Handle, Address, Value)
           End If
       End If
       Return Value
   End Function
   Public Function LFloat(ByVal NombreDelExe As String, ByVal Address As Integer) As Single
       Dim Value As Single
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               LMFloat(Handle, Address, Value)
           End If
       End If
       Return Value
   End Function
   Public Function LDouble(ByVal NombreDelExe As String, ByVal Address As Integer) As Double
       Dim Value As Double
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               LMBytes(Handle, Address, Value)
           End If
       End If
       Return Value
   End Function
   Public Function LPBytes(ByVal NombreDelExe As String, ByVal Pointer As Integer, ByVal ParamArray Offset As Integer()) As Byte
       Dim Value As Byte
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               For Each I As Integer In Offset
                   LMInt(Handle, Pointer, Pointer)
                   Pointer += I
               Next
               LMBytes(Handle, Pointer, Value)
           End If
       End If
       Return Value
   End Function
   Public Function LPInt(ByVal NombreDelExe As String, ByVal Pointer As Integer, ByVal ParamArray Offset As Integer()) As Integer
       Dim Value As Integer
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               For Each I As Integer In Offset
                   LMInt(Handle, Pointer, Pointer)
                   Pointer += I
               Next
               LMInt(Handle, Pointer, Value)
           End If
       End If
       Return Value
   End Function
   Public Function LPFloat(ByVal NombreDelExe As String, ByVal Pointer As Integer, ByVal ParamArray Offset As Integer()) As Single
       Dim Value As Single
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               For Each I As Integer In Offset
                   LMInt(Handle, Pointer, Pointer)
                   Pointer += I
               Next
               LMFloat(Handle, Pointer, Value)
           End If
       End If
       Return Value
   End Function
   Public Function LPDouble(ByVal NombreDelExe As String, ByVal Pointer As Integer, ByVal ParamArray Offset As Integer()) As Double
       Dim Value As Double
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               For Each I As Integer In Offset
                   LMInt(Handle, Pointer, Pointer)
                   Pointer += I
               Next
               LMDouble(Handle, Pointer, Value)
           End If
       End If
       Return Value
   End Function
   Public Sub EBytes(ByVal NombreDelExe As String, ByVal Address As Integer, ByVal Value As Byte)
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               EMBytes(Handle, Address, Value)
           End If
       End If
   End Sub
   Public Sub EInt(ByVal NombreDelExe As String, ByVal Address As Integer, ByVal Value As Integer)
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               EMInt(Handle, Address, Value)
           End If
       End If
   End Sub
   Public Sub EFloat(ByVal NombreDelExe As String, ByVal Address As Integer, ByVal Value As Single)
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               EMFloat(Handle, Address, Value)
           End If
       End If
   End Sub
   Public Sub EDouble(ByVal NombreDelExe As String, ByVal Address As Integer, ByVal Value As Double)
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               EMDouble(Handle, Address, Value)
           End If
       End If
   End Sub
   Public Sub EPBytes(ByVal NombreDelExe As String, ByVal Pointer As Integer, ByVal Value As Byte, ByVal ParamArray Offset As Integer())
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               For Each I As Integer In Offset
                   LMInt(Handle, Pointer, Pointer)
                   Pointer += I
               Next
               EMBytes(Handle, Pointer, Value)
           End If
       End If
   End Sub
   Public Sub EPInt(ByVal NombreDelExe As String, ByVal Pointer As Integer, ByVal Value As Integer, ByVal ParamArray Offset As Integer())
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               For Each I As Integer In Offset
                   LMInt(Handle, Pointer, Pointer)
                   Pointer += I
               Next
               EMInt(Handle, Pointer, Value)
           End If
       End If
   End Sub
   Public Sub EPFloat(ByVal NombreDelExe As String, ByVal Pointer As Integer, ByVal Value As Single, ByVal ParamArray Offset As Integer())
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               For Each I As Integer In Offset
                   LMInt(Handle, Pointer, Pointer)
                   Pointer += I
               Next
               EMFloat(Handle, Pointer, Value)
           End If
       End If
   End Sub
   Public Sub EPDouble(ByVal NombreDelExe As String, ByVal Pointer As Integer, ByVal Value As Double, ByVal ParamArray Offset As Integer())
       If Process.GetProcessesByName(NombreDelExe).Length <> 0 Then
           Dim Handle As Integer = Process.GetProcessesByName(NombreDelExe)(0).Handle
           If Handle <> 0 Then
               For Each I As Integer In Offset
                   LMInt(Handle, Pointer, Pointer)
                   Pointer += I
               Next
               EMDouble(Handle, Pointer, Value)
           End If
       End If
   End Sub

End Module


Ahora En el Formulario Principal Ponemos El siguiente CodigoPublic Class FRMTRAINER
   <System.Runtime.InteropServices.DllImport("user32.dll")> _
   Private Shared Function GetAsyncKeyState(ByVal vkey As System.Windows.Forms.Keys) As Short
   End Function
   Private Sub TGeneral_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TGeneral.Tick
       Dim hotkey As Boolean
       hotkey = GetAsyncKeyState(Keys.F3)
       hotkey = GetAsyncKeyState(Keys.F4)
       hotkey = True
       Select Case hotkey
           Case Is = GetAsyncKeyState(Keys.F3)
               TSoles.Enabled = True
           Case Is = GetAsyncKeyState(Keys.F4)
               TMoney.Enabled = True
       End Select
   End Sub
   Private Sub TMoney_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TMoney.Tick
        EPInt("popcapgame1", &H73D7E8, 99999, &H94C, &H50) 'le agrega 1m de Dolares

        TMoney.Enabled = False
    End Sub
    Private Sub TSoles_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSoles.Tick
        EPInt("popcapgame1", &H73D7E8, 99999, &H868, &H5578) '  infinitos soles
        TSoles.Enabled = False
    End Sub
End Class




Yo use VB.Net 2010
#6

creo que sigo confundido Pero tratare de explicarlo mejor

usare este video de ejemplo
[youtube=640,360]http://www.youtube.com/watch?v=uH1ISpcTBXw[/youtube]

ya que de ese modo es que estoy haciendo el trainer

Mi adrdess base seria asi 0073d7e8 + offset 2(868) +  offset+ 1(5578) el cual da el nuevo valor  y el address que tiene valor almacenado en una adress dinamica

por lo que seria algo asi &h73d7e8 la dirección hex pero el problema es en todo los código que he visto
solo ponen la dirección base no usan offset O_O todo radica como le meto los offset a esa dirección por que si pongo solo la  address y el valor me cierra el programa algo debo estar haciendo mal :o :o y me gustaría como dije aprender desde 0 a pescar con dinamita

#7
Eso ya lo tengo entendido ya tengo el Pointer Que nunca cambia al reiniciar el juego o al salir del juego...

como vez en la imagen :D ya tengo algunos del os Valores que he encontrado en el juego y todo se pueden usar una y otra vez cerrando el juego  y al abrirlo sigue funsionando mi problema es como usarlo para crear un trainer en un lenguaje x por ejemplo vb.net O_O
ya que  casi en todas las guia que he visto  dan ejemplo como asi  &h(Address), 12312(Valor a Cambiar)
pero mi  address pointer es Asi  &h(address), Offset , Offset  Valor O_O
http://i46.tinypic.com/1onotk.png
#8
Hola Bueno he estado leyendo la guia  de .:UND3R:]. La cual es de ingenieria inversa para crear un hack o trainer de pvz he sacado varios cheats


Todo bien pero me gustaria... en vez de usar la opcion de generar el trainer  en el mismo CE usar no se vb.net y crear mi propio trainer desde 0

pero el problema resulta es que he visto guias

pero todas son de adress, el valor que modifica pero
yo tengo los datos asi Adrees + offset + offset = valor
En el caso de ponerlo en vb.net como iría



(OJO NO estoy pidiendo que me den el codigo solo que me enseñen o me den datos por donde empezar]

PD: si esto no va aca algun moderador lo puede mover Pliz
#9
Hola A todos. creo que casi ni posteo aca pero si leo mucho el foro XD

Tengo un pequeño problema
tengo un pequeño proyecto de en visual net  studio

mi problema surge con el siguiente

tengo un  formularios principal al cual le quiero cambiar la apariencia todo bien ya que se la logro cambiar pero cuando guardo  los setting al cerrar no logro cargarlo desde en el primer formularios...

El codigo lo tengo de este modo
CitarCodigo En el Formularios 1 no existe ningun problema Con este codigo ya que si me lo guarda y lo carga  y todo bien


CitarPublic Class frmprincipal
   Private Sub frmprincipal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       movgame.Movie = Application.StartupPath + "\" + "mariobros3.swf"
       movgame.Play()
       CbStyle.Items.Add("Default")
       CbStyle.Items.Add("Azul")
       CbStyle.Items.Add("Verde")
       CbStyle.Items.Add("Rojo")
       CbStyle.Items.Add("Amarillo")
       CbStyle.SelectedIndex = 0
       Me.Text = "Block de Nota |By Franco| ~~ " & Date.Today
       CbStyle.Text = My.Settings.ColorStyle
       'NUDopac.Value = My.Settings.FrmOpacidad
   End Sub
   Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NUDopac.ValueChanged
       '    Me.Text = "Block de Nota |By Franco| ~~ " & Date.Today & " ~~ " & Me.NUDopac.Value.ToString + "/100"
       Me.Opacity = 0.2 + Me.NUDopac.Value / 100

   End Sub
   Private Sub CbStyle_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CbStyle.SelectedIndexChanged
       If CbStyle.Text = "Azul" Then
           Me.BackColor = Color.Blue
       ElseIf CbStyle.Text = "Verde" Then
           Me.BackColor = Color.Green
       ElseIf CbStyle.Text = "Rojo" Then
           Me.BackColor = Color.Red
       ElseIf CbStyle.Text = "Amarillo" Then
           Me.BackColor = Color.Yellow
       ElseIf CbStyle.Text = "Default" Then
           Me.BackColor = Color.Chocolate
       End If
   End Sub
   Private Sub cmdStyle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStyle.Click
       If CbStyle.Text = "Default" Then
           My.Settings.ColorStyle = CbStyle.Text
           My.Settings.FrmOpacidad = NUDopac.Value
           My.Settings.Save()
           My.Settings.Reload()
       ElseIf CbStyle.Text = "Azul" Then
           My.Settings.ColorStyle = CbStyle.Text
           My.Settings.FrmOpacidad = NUDopac.Value
           My.Settings.Save()
           My.Settings.Reload()
       ElseIf CbStyle.Text = "Verde" Then
           My.Settings.ColorStyle = CbStyle.Text
           My.Settings.FrmOpacidad = NUDopac.Value
           My.Settings.Save()
           My.Settings.Reload()
       ElseIf CbStyle.Text = "Rojo" Then
           My.Settings.ColorStyle = CbStyle.Text
           My.Settings.FrmOpacidad = NUDopac.Value
           My.Settings.Save()
           My.Settings.Reload()
       ElseIf CbStyle.Text = "Amarillo" Then
           My.Settings.ColorStyle = CbStyle.Text
           My.Settings.FrmOpacidad = NUDopac.Value
           My.Settings.Save()
           My.Settings.Reload()
       End If
   End Sub
End Class


Pero el problema es cuando quiero crear eso en un segundo formularios  y  llamarlo con un boton no logro cargar el cbstyle = que es un combobox del segundo formularios :(



Pd: si el post no va en este formularios algun @mod me puede hacer el favor de movierlo gracias
#10
Cita de: Elemental Code en  2 Octubre 2011, 01:13 AM
Eso que ves es WPI y es completamente configurable.  :xD

Mas alla de eso, son botones comunes, cajas check (checkbox) y algun que otro picturebox.

Ahora imitar el funcionamiento puede ser mas dificil

en wpi  ya lo probé  pero yo lo quiero facil
pero yo lo quiero hacer en Visual Basic :)

que seria algo complicado?