Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Krnl64 en 25 Mayo 2006, 00:47 am



Título: Ejecutar 1 linea de codigo almacenada en 1 string
Publicado por: Krnl64 en 25 Mayo 2006, 00:47 am

Hola a todos.

Veran, intento averiguar como ejecutar 1 linea de codigo almacenada en 1 string.

Les explico:

Supongamos que la constante A es 1 string y contiene

Me.show

como podria hacer que se ejecutara esa orden ?

Estoy buscando a ver si encuentro algun metodo o API que me permita hacerlo, pero por ahora en VB no se hacerlo.

No me vale un if y then ejecutar orden.

No se si la funcion ExecuteLine vale en VB y tampoco se
como se declara.

Estoy buscando.

Podria alguien hecharme 1 mano ?







Título: Re: Ejecutar 1 linea de codigo almacenada en 1 string
Publicado por: <--v1c1ous--> en 25 Mayo 2006, 03:33 am
Buenas, yo en eso estoy Sr.Krnl64 :)

La declaracion de la API es:

Citar
Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal StringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long

Y una funcion posible seria:

Citar
Function FExecuteCode(stCode As String, Optional fCheckOnly As Boolean) As Boolean
FExecuteCode = EbExecuteLine(StrPtr(stCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function

Con VBScript Object's seria:

Citar
Function ejecutar(sName As String, sData As String)
On Error GoTo Error:

Dim SC
Set SC = CreateObject("ScriptControl")

Dim Funcion As String
Funcion = sData
SC.language = "VBScript"
SC.addcode Funcion

Dim RESULTADO As String
RESULTADO = SC.run(sName)
             
Exit Function
Error:
MsgBox "Error!"
End Function


Ahora bien, ¿Alguien sabe otro metodo que no sea usando API's ni VBScript?
todavía sigo intentando crear una funcion como ExecuteLine pero no lo consigo, por favor, seria de mucha utilidad si al menos me digan que NO conocen.

Espero haberte ayudado Krnl64 :)
Saludos.


Título: Re: Ejecutar 1 linea de codigo almacenada en 1 string
Publicado por: Krnl64 en 25 Mayo 2006, 05:25 am
Gracias .

Ya la habia averiguado yo y estoy lo mismo que tu.

Intentando a ver de donde o como me "fabrico" una funcion que haga lo mismo sin depender de la libreria vba6.dll

Salu2


Título: Re: Ejecutar 1 linea de codigo almacenada en 1 string
Publicado por: <--v1c1ous--> en 25 Mayo 2006, 05:43 am
Si lo logro lo publicare aca, espero lo mismo de tu parte, tratando de decompilar librerias no tiene sentido, asi que ni intentes, llevo mas de una semana intentando y buscando pfff.

Suerte