Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: my_sistemas en 12 Marzo 2011, 00:37 AM

Título: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 12 Marzo 2011, 00:37 AM
Buenas noches, estoy tratando de hacer un software que use las funciones establecidas en una DLL, dicha DLL no fue creada por mi ni tengo el source, pero pude ver su contenido usando ciertos programas, siendo su contenido el siguiente.


//BBCFPCOM 1.0 Type Library
//Version: 1.0
BBCFPCOMLib;
GUID = {C2CFDD51-0603-4889-9FF5-B943AA46118B};


Enum CFP_TYPE;
  CFP_TYPE_NORMAL = 0;
  CFP_TYPE_PATRIOT = 1;
  CFP_TYPE_EDW = 2;
  CFP_TYPE_RMA = 3;
  CFP_TYPE_STP = 4;
  CFP_TYPE_BRL = 5;

//CFPGRSCOM Class
CoClass CFPGRSCOM;
GUID = {3B5626A7-724D-4F17-A980-002FDC26B567};

//BBCFPCOM 1.0 Type Library
Interface ICFPGRSCOM;
GUID = {33CF20BC-B452-4529-B78E-B48E821AF3A8};
  //Connect to Any USB device found
  function ConnectAnyUSB(nMaxTimeoutMs: I4; nResetTimeOutMs: I4): HResult; stdcall;
  //method ConnectToBootImage
  function ConnectToBootImage: HResult; stdcall;
  //Erase files and OS
  function Wipe(bWipeOS: Bool): HResult; stdcall;


Entonces por lo que veo dicha DLL (Desarrollada en .NET) Tiene las siguientes funciones:
-ConnectAnyUSB
-ConnectToBootImage
-Wipe

Necesito usar dichas funciones, pero no logro hacerlo.

Hice un nuevo proyecto en Visual Basic 6, registre dicha DLL y la agregue como referencia en mi proyecto.
Lugo hice el siguiente code:

Dim CFP As BBCFPCOMLib.CFPGRSCOM

Private Sub Command1_Click()
Set CFP = New BBCFPCOMLib.CFPGRSCOM
CFP.ConnectAnyUSB 50, 50
CFP.ConnectToBootImage
End Sub



Dandome error de Timeout en ConnectToBootImage, cuando dicha funcion no tiene TimeOut.

Tambien intente llamando a la DLL desde un modulo:

Public Declare Function ConnectToBootImage Lib "BBCFPCOM.dll" ()
Public Declare Function ConnectAnyUSB Lib "BBCFPCOM.dll" (ByVal nMaxTimeoutMs As Integer, ByVal nResetTimeOutMs As Integer)


y luego haciendo la llamada desde dicha DLL

Private Sub Command1_Click()
Call Module1.ConnectAnyUSB(50, 0)
Call Module1.ConnectToBootImage
End Sub


Y ahora me muestra que:
"Can't Find DLL entry point ConnectAnyUSB in BBCFPCOM.dll"
me dice que no encuentra dicha funcion, pero si presiono F2 si aparece como una funcion de dicha DLL.

Descarga la DLL
http://www.megaupload.com/?d=P24K7EPM
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 12 Marzo 2011, 01:17 AM
Ahora agregue la DLL como referencia en el proyecto y escribi el siguiente codigo:


Option Explicit
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private WithEvents frmNET As BBCFPCOMLib.CFPGRSCOM

Private Sub Command1_Click()
Set frmNET = New CFPGRSCOM
frmNET.ConnectAnyUSB 50, 0
frmNET.ConnectToBootImage
End Sub


Y se me queda colgada la PC al momento de ConnectAnyUSB, alguna ayuda?? tengo windows 7, formateare y pondre winxp para ver qe tal.
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 12 Marzo 2011, 03:46 AM
Cmbie a Visual Basic .NET y ahora si me reconoce la interface ICFPGRSCOM


Public Class Form1
    Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
    Dim CFP As BBCFPCOMLib.ICFPGRSCOM
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        CFP.ConnectAnyUSB(50, 0)
    End Sub
End Class


Pero ahora me da un error con el CFP.
No se controlo NullReferenceException
Referencia a objeto no establecida como instancia de un objeto
Título: Re: Trabajar con Funciones de DLL
Publicado por: seba123neo en 12 Marzo 2011, 03:56 AM
sera que te falta instanciar el objeto CFP con la palabra New, ahi solo la declaraste.

PD: esa api InitCommonControls no es necesaria en .NET
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 12 Marzo 2011, 04:03 AM
ese es el detalle... que no me deja poner:

Dim cfp As New BBCFPCOMLib.ICFPGRSCOM

Ya que NEW no se puede utilizar en una interfaz
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 12 Marzo 2011, 04:27 AM

'New' cannot be used on an interface

Instrucción Dim (Visual Basic) utiliza una cláusula New (Visual Basic) al declarar una variable para que sea de un tipo de interfaz.

Aunque una interfaz es un tipo de referencia, no puede crear una instancia de él. Sólo puede utilizar New para crear una instancia de una clase o una estructura.

Identificador de error: BC30375

Para corregir este error
1.Si la variable va a ser de un tipo de interfaz, quite la palabra clave New.

2.Si la variable va a hacer referencia a una instancia, declárela para que sea de una clase o un tipo de estructura. Conserve la palabra clave New para crear una instancia.

FUENTE: MSDN

Mas no entiendo dicha solucion
Título: Re: Trabajar con Funciones de DLL
Publicado por: BlackZeroX en 12 Marzo 2011, 04:58 AM
.
Que idiotes puse :'(
Título: Re: Trabajar con Funciones de DLL
Publicado por: seba123neo en 12 Marzo 2011, 05:01 AM
perdona no sabia que era una interfaz, recien me bajo la libreria y lo vi, no estoy seguro pero creo que debes implementarla asi:

Código (vbnet) [Seleccionar]
Imports BBCFPCOMLib

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ser As New Libreria
        ser.ConnectAnyUSB(50, 0)
    End Sub
End Class

Public Class Libreria

    Implements BBCFPCOMLib.CFPGRSCOM

    Public Event OnDebugMessage(ByVal nLogLevel As Integer, ByVal bstrMessage As String) Implements BBCFPCOMLib._ICFPEvents_Event.OnDebugMessage

    Public Event OnNeedPassword(ByVal nTriesRemaining As Integer, ByRef password As String) Implements BBCFPCOMLib._ICFPEvents_Event.OnNeedPassword

    Public Event OnProgress(ByVal bstrCode As String, ByVal nPercent As Integer, ByVal ulExtraInfo As UInteger) Implements BBCFPCOMLib._ICFPEvents_Event.OnProgress

    Public Sub Abort() Implements BBCFPCOMLib.ICFPGRSCOM.Abort

    End Sub

    Public Sub Connect(ByVal nComport As Integer, ByVal nConnectBaudRate As Integer, ByVal nMaxTimeoutMs As Integer, ByVal nResetTimeOusMs As Integer) Implements BBCFPCOMLib.ICFPGRSCOM.Connect

    End Sub

    Public Sub ConnectAnyUSB(ByVal nMaxTimeoutMs As Integer, ByVal nResetTimeOutMs As Integer) Implements BBCFPCOMLib.ICFPGRSCOM.ConnectAnyUSB

    End Sub

    Public Sub ConnectToBootImage() Implements BBCFPCOMLib.ICFPGRSCOM.ConnectToBootImage

    End Sub

    Public Sub ConnectToBootrom() Implements BBCFPCOMLib.ICFPGRSCOM.ConnectToBootrom

    End Sub

    Public Property ConnectType() As BBCFPCOMLib.CFP_TYPE Implements BBCFPCOMLib.ICFPGRSCOM.ConnectType
        Get

        End Get
        Set(ByVal value As BBCFPCOMLib.CFP_TYPE)

        End Set
    End Property

    Public Sub ConnectUSB(ByVal bstrProperty As String, ByVal bstrValue As String, ByVal nMaxTimeoutMs As Integer, ByVal nResetTimoeOutMs As Integer) Implements BBCFPCOMLib.ICFPGRSCOM.ConnectUSB

    End Sub

    Public Sub Disconnect1() Implements BBCFPCOMLib.ICFPGRSCOM.Disconnect

    End Sub

    Public Sub GetBootromInfo(ByRef pulBRver As UInteger, ByRef pbSecurityEnabled As Boolean) Implements BBCFPCOMLib.ICFPGRSCOM.GetBootromInfo

    End Sub

    Public Sub GetCFPVersion(ByRef pulCFPver As UInteger) Implements BBCFPCOMLib.ICFPGRSCOM.GetCFPVersion

    End Sub

    Public Function GetCOMBuildVersion() As String Implements BBCFPCOMLib.ICFPGRSCOM.GetCOMBuildVersion

    End Function

    Public Function GetCOMBuildVersionID() As UInteger Implements BBCFPCOMLib.ICFPGRSCOM.GetCOMBuildVersionID

    End Function

    Public Function GetFlashSizeInBytes() As UInteger Implements BBCFPCOMLib.ICFPGRSCOM.GetFlashSizeInBytes

    End Function

    Public Sub GetOSVersionOfSFI(ByVal bstrFileName As String, ByRef pulOSver As UInteger) Implements BBCFPCOMLib.ICFPGRSCOM.GetOSVersionOfSFI

    End Sub

    Public Sub GetOSVersionOfSFIEx(ByVal bstrFileName As String, ByRef pulOSver As UInteger, ByRef pbstrOSver As String) Implements BBCFPCOMLib.ICFPGRSCOM.GetOSVersionOfSFIEx

    End Sub

    Public Function GetPatriotVersion() As String Implements BBCFPCOMLib.ICFPGRSCOM.GetPatriotVersion

    End Function

    Public Sub GetPlatformID(ByRef pulPID As UInteger, ByRef pbstrDeviceString As String) Implements BBCFPCOMLib.ICFPGRSCOM.GetPlatformID

    End Sub

    Public Sub GetSFIOSVersionPlatID(ByVal bstrFileName As String, ByRef pulOSver As UInteger, ByRef pulPlatID As UInteger) Implements BBCFPCOMLib.ICFPGRSCOM.GetSFIOSVersionPlatID

    End Sub

    Public Function GetSupportedBands() As UInteger Implements BBCFPCOMLib.ICFPGRSCOM.GetSupportedBands

    End Function

    Public Function GetVendorID() As UShort Implements BBCFPCOMLib.ICFPGRSCOM.GetVendorID

    End Function

    Public Sub GetVersionOfAPPfile(ByVal bstrFileName As String, ByRef pbstrAPPversion As String, ByRef pbVersionValid As Boolean, ByRef pbstrAppNumber As String, ByRef pbNumberValid As Boolean) Implements BBCFPCOMLib.ICFPGRSCOM.GetVersionOfAPPfile

    End Sub

    Public Sub HeadInTheSandMode(ByVal bChangeMode As Boolean, ByRef pbHISMode As Boolean) Implements BBCFPCOMLib.ICFPGRSCOM.HeadInTheSandMode

    End Sub

    Public Sub InvokeMethod(ByVal bstrMethod As String, ByRef pulParam As UInteger, ByRef pbstrParam As String) Implements BBCFPCOMLib.ICFPGRSCOM.InvokeMethod

    End Sub

    Public Function IsDesktopRAMImage() As Boolean Implements BBCFPCOMLib.ICFPGRSCOM.IsDesktopRAMImage

    End Function

    Public Sub LoadBootrom(ByVal bstrFileName As String) Implements BBCFPCOMLib.ICFPGRSCOM.LoadBootrom

    End Sub

    Public Sub NukeDevice() Implements BBCFPCOMLib.ICFPGRSCOM.NukeDevice

    End Sub

    Public Sub PatriotConnectToTunnel() Implements BBCFPCOMLib.ICFPGRSCOM.PatriotConnectToTunnel

    End Sub

    Public Sub PatriotDisconnect() Implements BBCFPCOMLib.ICFPGRSCOM.PatriotDisconnect

    End Sub

    Public Sub PatriotGetInfo(ByRef pulPATver As UInteger, ByRef pulTunnelver As UInteger, ByRef pbBatteryVoltageOk As Boolean) Implements BBCFPCOMLib.ICFPGRSCOM.PatriotGetInfo

    End Sub

    Public Sub PatriotGetOSVersionOfFile(ByVal bstrFileName As String, ByRef pulOSver As UInteger) Implements BBCFPCOMLib.ICFPGRSCOM.PatriotGetOSVersionOfFile

    End Sub

    Public Function PatriotGetOSVersionOfFileStr(ByVal bstrFileName As String) As String Implements BBCFPCOMLib.ICFPGRSCOM.PatriotGetOSVersionOfFileStr

    End Function

    Public Function PatriotInBerbugMode() As Boolean Implements BBCFPCOMLib.ICFPGRSCOM.PatriotInBerbugMode

    End Function

    Public Sub PatriotLastLoadSuccessful(ByRef pbSuccess As Boolean) Implements BBCFPCOMLib.ICFPGRSCOM.PatriotLastLoadSuccessful

    End Sub

    Public Sub PatriotLoadImage(ByVal bstrFileName As String) Implements BBCFPCOMLib.ICFPGRSCOM.PatriotLoadImage

    End Sub

    Public Sub ReloadFileSystem(ByVal bstrFileName As String) Implements BBCFPCOMLib.ICFPGRSCOM.ReloadFileSystem

    End Sub

    Public Sub ReloadOS(ByVal bstrFileName As String) Implements BBCFPCOMLib.ICFPGRSCOM.ReloadOS

    End Sub

    Public Sub ReloadPlantImage(ByVal bstrFileName As String) Implements BBCFPCOMLib.ICFPGRSCOM.ReloadPlantImage

    End Sub

    Public Sub ReloadPlantImageWithPatriot(ByVal bstrFileName As String) Implements BBCFPCOMLib.ICFPGRSCOM.ReloadPlantImageWithPatriot

    End Sub

    Public Sub ResetPatriot() Implements BBCFPCOMLib.ICFPGRSCOM.ResetPatriot

    End Sub

    Public Sub SaveFileSystem(ByVal bstrFileName As String, ByVal bVerifyToAPP As Boolean) Implements BBCFPCOMLib.ICFPGRSCOM.SaveFileSystem

    End Sub

    Public Sub SetConnectValues(ByVal nMaxTimeoutMs As Integer, ByVal bIncremental As Boolean) Implements BBCFPCOMLib.ICFPGRSCOM.SetConnectValues

    End Sub

    Public Sub SetMassStorage(ByVal nOn As Integer) Implements BBCFPCOMLib.ICFPGRSCOM.SetMassStorage

    End Sub

    Public Sub SuperNukeDevice() Implements BBCFPCOMLib.ICFPGRSCOM.SuperNukeDevice

    End Sub

    Public Sub ToastDevice(ByVal bstrPassword As String) Implements BBCFPCOMLib.ICFPGRSCOM.ToastDevice

    End Sub

    Public Sub WhoAmI(ByVal bstrWhoAmI As String) Implements BBCFPCOMLib.ICFPGRSCOM.WhoAmI

    End Sub

    Public Sub Wipe(ByVal bWipeOS As Boolean) Implements BBCFPCOMLib.ICFPGRSCOM.Wipe

    End Sub
End Class


todas esas funciones son las que tiene la dll dentro, no las escribi yo, me las detecto y escribio automaticamente el visual studio cuando implemente de BBCFPCOMLib.CFPGRSCOM

saludos.
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 12 Marzo 2011, 07:05 AM
Hola, gracias por tu respuesta pero por alguna razon no me esta haciendo nada el programa, es decir, no hace ninguna funcion ni lanza ningun errror
Título: Re: Trabajar con Funciones de DLL
Publicado por: raul338 en 12 Marzo 2011, 13:39 PM
Cita de: e-spy en 12 Marzo 2011, 07:05 AM
Hola, gracias por tu respuesta pero por alguna razon no me esta haciendo nada el programa, es decir, no hace ninguna funcion ni lanza ningun errror

Porque esta implementando la interfaz, en una clase vacia, fijate la documentacion de la libreria haber que tienes que hacer en cada evento
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 12 Marzo 2011, 16:51 PM
Buenos dias, como dije anteriormente dicha libreria no es mia, lo que pude analizar es lo siguiente:


//BBCFPCOM 1.0 Type Library
//Version: 1.0
BBCFPCOMLib;
GUID = {C2CFDD51-0603-4889-9FF5-B943AA46118B};


Enum CFP_TYPE;
  CFP_TYPE_NORMAL = 0;
  CFP_TYPE_PATRIOT = 1;
  CFP_TYPE_EDW = 2;
  CFP_TYPE_RMA = 3;
  CFP_TYPE_STP = 4;
  CFP_TYPE_BRL = 5;

//ICFPEvents Interface
Interface _ICFPEvents;
GUID = {E219CDC3-58B9-4FF5-BC61-6295E378208E};
  //method OnProgress
  function OnProgress(bstrCode: BSTR; nPercent: I4; ulExtraInfo: UI4): HResult; stdcall;
  //method OnDebugMessage
  function OnDebugMessage(nLogLevel: I4; bstrMessage: BSTR): HResult; stdcall;
  //method OnNeedPassword
  function OnNeedPassword(nTriesRemaining: I4; out password: ^BSTR): HResult; stdcall;

//CFPGRSCOM Class
CoClass CFPGRSCOM;
GUID = {3B5626A7-724D-4F17-A980-002FDC26B567};

//BBCFPCOM 1.0 Type Library
Interface ICFPGRSCOM;
GUID = {33CF20BC-B452-4529-B78E-B48E821AF3A8};
  //Connect via COM port
  function Connect(nComport: I4; nConnectBaudRate: I4; nMaxTimeoutMs: I4; nResetTimeOusMs: I4): HResult; stdcall;
  //Connect to Any USB device found
  function ConnectAnyUSB(nMaxTimeoutMs: I4; nResetTimeOutMs: I4): HResult; stdcall;
  //Connect USB device using a specific property
  function ConnectUSB(bstrProperty: BSTR; bstrValue: BSTR; nMaxTimeoutMs: I4; nResetTimoeOutMs: I4): HResult; stdcall;
  //method ConnectToBootImage
  function ConnectToBootImage: HResult; stdcall;
  //method ConnectToBootrom
  function ConnectToBootrom: HResult; stdcall;
  //ReloadPlantImage - SFI
  function ReloadPlantImage(bstrFileName: BSTR): HResult; stdcall;
  //ReloadPlantImageWithPatriot - MFI
  function ReloadPlantImageWithPatriot(bstrFileName: BSTR): HResult; stdcall;
  //method ReloadFileSystem
  function ReloadFileSystem(bstrFileName: BSTR): HResult; stdcall;
  //method SaveFileSystem
  function SaveFileSystem(bstrFileName: BSTR; bVerifyToAPP: Bool): HResult; stdcall;
  //Terminate all interfaces
  function Disconnect: HResult; stdcall;
  //Signal any in-process commands to abort
  function Abort: HResult; stdcall;
  //method GetCFPVersion
  function GetCFPVersion(out pulCFPver: ^UI4): HResult; stdcall;
  //method GetBootromInfo
  function GetBootromInfo(out pulBRver: ^UI4; out pbSecurityEnabled: ^Bool): HResult; stdcall;
  //method PatriotConnectToTunnel
  function PatriotConnectToTunnel: HResult; stdcall;
  //method PatriotGetInfo
  function PatriotGetInfo(out pulPATver: ^UI4; out pulTunnelver: ^UI4; out pbBatteryVoltageOk: ^Bool): HResult; stdcall;
  //method PatriotDisconnect
  function PatriotDisconnect: HResult; stdcall;
  //method PatriotLastLoadSuccessful
  function PatriotLastLoadSuccessful(out pbSuccess: ^Bool): HResult; stdcall;
  //method PatriotLoadImage
  function PatriotLoadImage(bstrFileName: BSTR): HResult; stdcall;
  //method PatriotGetOSVersionOfFile
  function PatriotGetOSVersionOfFile(bstrFileName: BSTR; out pulOSver: ^UI4): HResult; stdcall;
  //method GetOSVersionOfSFI
  function GetOSVersionOfSFI(bstrFileName: BSTR; out pulOSver: ^UI4): HResult; stdcall;
  //method GetCOMBuildVersion
  function GetCOMBuildVersion(out pbstrVersion: ^BSTR): HResult; stdcall;
  //method ReloadOS
  function ReloadOS(bstrFileName: BSTR): HResult; stdcall;
  //Erase files and OS
  function Wipe(bWipeOS: Bool): HResult; stdcall;
  //Erase files/OS and passwords
  function NukeDevice: HResult; stdcall;
  //Erase the Appstore
  function SuperNukeDevice: HResult; stdcall;
  //Toast the device
  function ToastDevice(bstrPassword: BSTR): HResult; stdcall;
  //method HeadInTheSandMode
  function HeadInTheSandMode(bChangeMode: Bool; out pbHISMode: ^Bool): HResult; stdcall;
  //method GetFlashSizeInBytes
  function GetFlashSizeInBytes(out pulFlashSizeBytes: ^UI4): HResult; stdcall;
  //method GetPlatformID
  function GetPlatformID(out pulPID: ^UI4; out pbstrDeviceString: ^BSTR): HResult; stdcall;
  //method GetVendorID
  function GetVendorID(out pnVendorID: ^UI2): HResult; stdcall;
  //method GetSFIOSVersionPlatID
  function GetSFIOSVersionPlatID(bstrFileName: BSTR; out pulOSver: ^UI4; out pulPlatID: ^UI4): HResult; stdcall;
  //method GetVersionOfAPPfile
  function GetVersionOfAPPfile(bstrFileName: BSTR; out pbstrAPPversion: ^BSTR; out pbVersionValid: ^Bool; out pbstrAppNumber: ^BSTR; out pbNumberValid: ^Bool): HResult; stdcall;
  //method GetSupportedBands
  function GetSupportedBands(out pulBands: ^UI4): HResult; stdcall;
  //method GetCOMBuildVersionID
  function GetCOMBuildVersionID(out pulVersion: ^UI4): HResult; stdcall;
  //Invoke a custom method
  function InvokeMethod(bstrMethod: BSTR; out pulParam: ^UI4; out pbstrParam: ^BSTR): HResult; stdcall;
  //property ConnectType
  property-get ConnectType(out pVal: ^CFP_TYPE): HResult; stdcall;
  //property ConnectType
  property-put ConnectType(pVal: CFP_TYPE): HResult; stdcall;
  //method GetPatriotVersion
  function GetPatriotVersion(out pbstrPatVersion: ^BSTR): HResult; stdcall;
  //method PatriotGetOSVersionOfFileStr
  function PatriotGetOSVersionOfFileStr(bstrFileName: BSTR; out pbstrPatVer: ^BSTR): HResult; stdcall;
  //method PatriotInBerbugMode
  function PatriotInBerbugMode(out pbBerbugMode: ^Bool): HResult; stdcall;
  //method SetConnectValues
  function SetConnectValues(nMaxTimeoutMs: I4; bIncremental: Bool): HResult; stdcall;
  //method GetOSVersionOfSFIEx
  function GetOSVersionOfSFIEx(bstrFileName: BSTR; out pulOSver: ^UI4; out pbstrOSver: ^BSTR): HResult; stdcall;
  //method ResetPatriot
  function ResetPatriot: HResult; stdcall;
  //method WhoAmI
  function WhoAmI(bstrWhoAmI: BSTR): HResult; stdcall;
  //Load Bootrom Binary
  function LoadBootrom(bstrFileName: BSTR): HResult; stdcall;
  //MassStorage
  function SetMassStorage(nOn: I4): HResult; stdcall;


No tengo mas informacion de dicha libreria. Ya un companero lo pudo hacer funcionar en Linux en C++, como podria obtener yo que funciones hace cada funcion???
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 12 Marzo 2011, 17:50 PM
Despues de indagar, y ver muchos comentarios de que no se puede obtener el source que se ejecuta en cada evento, me dijeron que si se posia pero en assembler, es decir, se puede programar en Assembler "orientado a objetos", gracias a Ildasm.exe me explico.


ildasm, desensambla tu dll o ejecutable, te genera código ensamblador (CIL), puedes modificar el código, agregar o quitar instrucciones, y enseguida con ilasm volver a generar el ejecutable con los cambios realizados. Son herramientas que proporciona el Visual Studio y Mono, ni siquiera tienes que descargar otros programas, más que el propio framework


Entonces segun me dicen con el Ilsdam se puede ver lo que hace cada funcion en ensamblador y se puede agregar eso en VB.NET???

Por favor confirmenme esa teoria? de todas maneras ya estoy descargando .NT Framework 4 (que es dodne viene incluido Ildasm.exe)
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 13 Marzo 2011, 00:20 AM
Listo el Ildasm me hizo el volcado de lA DLL y me dio lo siguiente


// Muchas lineas de codigo borradas



--------------------- EDITADO-------------

Disculpen por poner tanto codigo, subi el TXT a mi server. para verlo click aqui:

http://www.mysistemas.com/volcado2.txt
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 13 Marzo 2011, 00:21 AM
Listo el Ildasm me hizo el volcado de lA DLL y me dio lo siguiente


// Muchas lineas de codigo borradas



--------------------- EDITADO-------------

Disculpen por poner tanto codigo, subi el TXT a mi server. para verlo click aqui:

http://www.mysistemas.com/volcado2.txt
Título: Re: Trabajar con Funciones de DLL
Publicado por: my_sistemas en 16 Marzo 2011, 20:35 PM
No hay ninguna manera???