Código:
Código
[Module1] Option Explicit Sub Main() 'MsgBox Hex(AddressOf procesoX) '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 procesoX = "procesoX" End Function Public Function Valor(ByVal v1 As Long, ByVal v2 As Long) As Long Valor = v1 + v2 End Function Public Sub Mensaje() MsgBox "Test" End Sub
Código
[Form1] Option Explicit Private Sub Command1_Click() Dim ThisAddress As Long Text1.Text = "" ThisAddress = Adrs(AddressOf procesoX) Text1.Text = Text1.Text & "AddressOf procesoX: " & Hex(ThisAddress) & vbCrLf & _ "[Public Function procesoX(ParamArray ParametrosX() As Variant) As String" & vbCrLf & _ "procesoX = ''procesoX''" & vbCrLf & _ "End Function" & "]" & vbCrLf & vbCrLf ThisAddress = Adrs(AddressOf Valor) Text1.Text = Text1.Text & "AddressOf Valor: " & Hex(ThisAddress) & vbCrLf & _ "[Public Function Valor(ByVal v1 As Long, ByVal v2 As Long) As Long" & vbCrLf & _ "Valor = v1 + v2" & vbCrLf & _ "End Function" & "]" & vbCrLf & vbCrLf ThisAddress = Adrs(AddressOf Mensaje) Text1.Text = Text1.Text & "AddressOf Mensaje: " & Hex(ThisAddress) & vbCrLf & _ "[Public Sub Mensaje()" & vbCrLf & _ "MsgBox ''Test''" & vbCrLf & _ "End Sub" & "]" 'ThisAddress& = Adrs&(AddressOf Mensaje) 'Me.Caption = Hex(ThisAddress) End Sub Private Sub Command2_Click() Call Mensaje End Sub
Gracias a BlackZeroX por el este code que me dió hace mucho
Ahora la pregunta es: cómo puedo obtener la longitud de cada función? Porque lo que estoy tratando de hacer, es injectar en otro programa solo la función Mensaje (por ejemplo) y hacerle un jmp en el MessageBoxA del ejecutable víctima, donde alojé dicha función. Gracias a to2.