[Ayuda] Callings Sub y Functions

Iniciado por Miseryk, 8 Octubre 2010, 08:27 AM

0 Miembros y 1 Visitante están viendo este tema.

Miseryk

Hola, quería saber si me podrían guiar con este tema:

Yo inyecto una dll en un programa, el programa tiene muchas funciónes y procedimientos, como hago para llamarlos desde la dll inyectada? alguna idea? Desde ya muchas gracias por resolver y aclarar mis dudas en los posts. :D ;-) :laugh: ;-) :laugh:

Ej: del ejecutable.

Option Explicit

Private Sub Command1_Click()
Dim var As Long

var = VarPtr(Valor(1, 1))

MsgBox var & " (" & Hex(var) & ")"
End Sub

Public Function Valor(ByVal v1 As Long, ByVal v2 As Long) As Long
Valor = v1 + v2
End Function

Esto hice para saber el address de la función.
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!

fary

Fijate si te sirve la api CallWindowProc.

salu2!

Un byte a la izquierda.

BlackZeroX

#2
Cita de: Miseryk en  8 Octubre 2010, 08:27 AM
Hola, quería saber si me podrían guiar con este tema:

Yo inyecto una dll en un programa, el programa tiene muchas funciónes y procedimientos, como hago para llamarlos desde la dll inyectada? alguna idea? Desde ya muchas gracias por resolver y aclarar mis dudas en los posts. :D ;-) :laugh: ;-) :laugh:

Ej: del ejecutable.

Option Explicit

Private Sub Command1_Click()
Dim var As Long

var = VarPtr(Valor(1, 1))

MsgBox var & " (" & Hex(var) & ")"
End Sub

Public Function Valor(ByVal v1 As Long, ByVal v2 As Long) As Long
Valor = v1 + v2
End Function

Esto hice para saber el address de la función.

lo que haces hay no es devolver la dirección del proceso, devuelves la dirrecion de variable de RESULTADO del Proceso

si quieres saber la dirrecion del Proceso, Funcion, u otra cosa similar

En un Modulo (Bas)

Código (Vb) [Seleccionar]


Option Explicit

Sub main()
Dim ThisAddress&
    ThisAddress& = Adrs&(AddressOf procesoX)
    MsgBox ThisAddress& & " - (" & Hex(ThisAddress&) & ")"
End Sub

Public Function Adrs(ByVal Addrs As Long) As Long
    Adrs& = Addrs&
End Function

Public Function procesoX(ParamArray ParametrosX() As Variant) As String

End Function



Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

Miseryk

#3
Wow, muchisimas gracias.  ;-)
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!

Miseryk

Cita de: BlackZeroX en  9 Octubre 2010, 02:56 AM
Cita de: Miseryk en  8 Octubre 2010, 08:27 AM
Hola, quería saber si me podrían guiar con este tema:

Yo inyecto una dll en un programa, el programa tiene muchas funciónes y procedimientos, como hago para llamarlos desde la dll inyectada? alguna idea? Desde ya muchas gracias por resolver y aclarar mis dudas en los posts. :D ;-) :laugh: ;-) :laugh:

Ej: del ejecutable.

Option Explicit

Private Sub Command1_Click()
Dim var As Long

var = VarPtr(Valor(1, 1))

MsgBox var & " (" & Hex(var) & ")"
End Sub

Public Function Valor(ByVal v1 As Long, ByVal v2 As Long) As Long
Valor = v1 + v2
End Function

Esto hice para saber el address de la función.

lo que haces hay no es devolver la dirección del proceso, devuelves la dirrecion de variable de RESULTADO del Proceso

si quieres saber la dirrecion del Proceso, Funcion, u otra cosa similar

En un Modulo (Bas)

Código (Vb) [Seleccionar]


Option Explicit

Sub main()
Dim ThisAddress&
   ThisAddress& = Adrs&(AddressOf procesoX)
   MsgBox ThisAddress& & " - (" & Hex(ThisAddress&) & ")"
End Sub

Public Function Adrs(ByVal Addrs As Long) As Long
   Adrs& = Addrs&
End Function

Public Function procesoX(ParamArray ParametrosX() As Variant) As String

End Function



Dulce Infierno Lunar!¡.


Y como puedo hacer ahora para llamar esta funcion desde una dll (Injected) :), desde ya muchisimas gracias :)
Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It's never too late to change our luck
So, don't let them steal your light
Don't let them break your stride
There is light on the other side
And you'll see all the raindrops falling behind
Make it out tonight
it's a revolution

CL!!!