elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Solucionado] Como obtener el "Nombre de Producto" de una Dll o un Exe
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] Como obtener el "Nombre de Producto" de una Dll o un Exe  (Leído 3,470 veces)
agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
[Solucionado] Como obtener el "Nombre de Producto" de una Dll o un Exe
« en: 29 Agosto 2010, 04:24 am »

Que tal compañeros del foro. estoy buscando un método para obtener el "Nombre de Producto" de Una Dll y de un ejecutable a partir de su ubicación (Ejemplo "C:\rest.dll")
¿Alguien tiene idea como puedo hacer?


DESDE AHORA. G R A C I A S


« Última modificación: 29 Agosto 2010, 07:48 am por agus0 » En línea

Petro_Boca

Desconectado Desconectado

Mensajes: 233


Antoo Te Amoo :D


Ver Perfil
Re: Como obtener el "Nombre de Producto" de una Dll o un Exe
« Respuesta #1 en: 29 Agosto 2010, 04:40 am »

Que tal compañeros del foro. estoy buscando un método para obtener el "Nombre de Producto" de Una Dll y de un ejecutable a partir de su ubicación (Ejemplo "C:\rest.dll")
¿Alguien tiene idea como puedo hacer?


DESDE AHORA. G R A C I A S

Estas en el horno ;D

estoy buscando pero no encuentro nada.

cuando encuentre modifico ;D


En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: Como obtener el "Nombre de Producto" de una Dll o un Exe
« Respuesta #2 en: 29 Agosto 2010, 06:48 am »

Código:
Private Const UVI_COMMENTS          As String = "Comments"
Private Const UVI_INTERNALNAME      As String = "InternalName"
Private Const UVI_PRODUCTNAME       As String = "ProductName"
Private Const UVI_COMPANYNAME       As String = "CompanyName"
Private Const UVI_LEGALCOPYRIGHT    As String = "LegalCopyright"
Private Const UVI_PRODUCTVERSION    As String = "ProductVersion"
Private Const UVI_FILEDESCRIPTION   As String = "FileDescription"
Private Const UVI_LEGALTRADEMARKS   As String = "LegalTrademarks"
Private Const UVI_PRIVATEBUILD      As String = "PrivateBuild"
Private Const UVI_FILEVERSION       As String = "FileVersion"
Private Const UVI_ORIGINALFILENAME  As String = "OriginalFilename"
Private Const UVI_SPECIALBUILD      As String = "SpecialBuild"

Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias "GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwhandle As Long, ByVal dwlen As Long, lpData As Any) As Long
Private Declare Function GetFileVersionInfoSize Lib "Version.dll" Alias "GetFileVersionInfoSizeA" (ByVal lptstrFilename As String, lpdwHandle As Long) As Long
Private Declare Function VerQueryValue Lib "Version.dll" Alias "VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Any, puLen As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, Source As Any, ByVal length As Long)
Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long


Public Function GetFileDetails(ByVal sFile As String, ByVal sUVI As String) As String
    Dim lLen        As Long
    Dim lHandle     As Long
    Dim bvBuffer()  As Byte
    Dim lVerPointer As Long
       
    lLen = GetFileVersionInfoSize(sFile, lHandle)
   
    If Not lLen = 0 Then
        ReDim bvBuffer(lLen)
        If Not GetFileVersionInfo(sFile, 0&, lLen, bvBuffer(0)) = 0 Then

            If Not VerQueryValue(bvBuffer(0), _
               "\VarFileInfo\Translation", _
               lVerPointer, _
               lLen) = 0 Then
                   
                Dim iVal            As Integer
                Dim sLangCharset    As String
   
                CopyMemory iVal, ByVal lVerPointer, 2
                sLangCharset = Right$("0000" & Hex(iVal), 4)
   
                CopyMemory iVal, ByVal lVerPointer + 2, 2
                sLangCharset = sLangCharset & Right$("0000" & Hex(iVal), 4)
                   
                Dim sBuffer         As String
               
                sBuffer = String(&HFF, 0)
 
                If Not VerQueryValue(bvBuffer(0), _
                   "\StringFileInfo\" & sLangCharset & "\" & sUVI, _
                   lVerPointer, lLen) = 0 Then

                    lstrcpy sBuffer, lVerPointer
                    sBuffer = Left$(sBuffer, lstrlen(sBuffer))
                   
                    GetFileDetails = sBuffer
                    Exit Function
                Else
                    Debug.Print "Err VerQueryValue"
                End If
            Else
                Debug.Print "Err VerQueryValue"
            End If
        Else
            Debug.Print "Err GetFileVersionInfo"
        End If
    Else
        Debug.Print "No Info available"
    End If
    GetFileDetails = "None"
End Function
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: Como obtener el "Nombre de Producto" de una Dll o un Exe
« Respuesta #3 en: 29 Agosto 2010, 07:44 am »

Código:
Private Const UVI_COMMENTS          As String = "Comments"
Private Const UVI_INTERNALNAME      As String = "InternalName"
Private Const UVI_PRODUCTNAME       As String = "ProductName"
Private Const UVI_COMPANYNAME       As String = "CompanyName"
Private Const UVI_LEGALCOPYRIGHT    As String = "LegalCopyright"
Private Const UVI_PRODUCTVERSION    As String = "ProductVersion"
Private Const UVI_FILEDESCRIPTION   As String = "FileDescription"
Private Const UVI_LEGALTRADEMARKS   As String = "LegalTrademarks"
Private Const UVI_PRIVATEBUILD      As String = "PrivateBuild"
Private Const UVI_FILEVERSION       As String = "FileVersion"
Private Const UVI_ORIGINALFILENAME  As String = "OriginalFilename"
Private Const UVI_SPECIALBUILD      As String = "SpecialBuild"

Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias "GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwhandle As Long, ByVal dwlen As Long, lpData As Any) As Long
Private Declare Function GetFileVersionInfoSize Lib "Version.dll" Alias "GetFileVersionInfoSizeA" (ByVal lptstrFilename As String, lpdwHandle As Long) As Long
Private Declare Function VerQueryValue Lib "Version.dll" Alias "VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Any, puLen As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, Source As Any, ByVal length As Long)
Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long


Public Function GetFileDetails(ByVal sFile As String, ByVal sUVI As String) As String
    Dim lLen        As Long
    Dim lHandle     As Long
    Dim bvBuffer()  As Byte
    Dim lVerPointer As Long
       
    lLen = GetFileVersionInfoSize(sFile, lHandle)
   
    If Not lLen = 0 Then
        ReDim bvBuffer(lLen)
        If Not GetFileVersionInfo(sFile, 0&, lLen, bvBuffer(0)) = 0 Then

            If Not VerQueryValue(bvBuffer(0), _
               "\VarFileInfo\Translation", _
               lVerPointer, _
               lLen) = 0 Then
                   
                Dim iVal            As Integer
                Dim sLangCharset    As String
   
                CopyMemory iVal, ByVal lVerPointer, 2
                sLangCharset = Right$("0000" & Hex(iVal), 4)
   
                CopyMemory iVal, ByVal lVerPointer + 2, 2
                sLangCharset = sLangCharset & Right$("0000" & Hex(iVal), 4)
                   
                Dim sBuffer         As String
               
                sBuffer = String(&HFF, 0)
 
                If Not VerQueryValue(bvBuffer(0), _
                   "\StringFileInfo\" & sLangCharset & "\" & sUVI, _
                   lVerPointer, lLen) = 0 Then

                    lstrcpy sBuffer, lVerPointer
                    sBuffer = Left$(sBuffer, lstrlen(sBuffer))
                   
                    GetFileDetails = sBuffer
                    Exit Function
                Else
                    Debug.Print "Err VerQueryValue"
                End If
            Else
                Debug.Print "Err VerQueryValue"
            End If
        Else
            Debug.Print "Err GetFileVersionInfo"
        End If
    Else
        Debug.Print "No Info available"
    End If
    GetFileDetails = "None"
End Function

Gracias Cobein!  ;-)
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [Solucionado] Como obtener el "Nombre de Producto" de una Dll o un Exe
« Respuesta #4 en: 29 Agosto 2010, 18:24 pm »

Ahi esta!!! Sabia que era algo de FileInfo, pero busque "GetFileInfo" en google y nada :xD
En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: [Solucionado] Como obtener el "Nombre de Producto" de una Dll o un Exe
« Respuesta #5 en: 3 Septiembre 2010, 05:29 am »

che y tenemos algun code que haga algo similar, es decir EDITAR la info esa.
tengo un stealer en la cabeza que guarde el user y password ahi, falta el builder nomas
En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
xkiz ™


Desconectado Desconectado

Mensajes: 1.252


Ver Perfil WWW
Re: [Solucionado] Como obtener el "Nombre de Producto" de una Dll o un Exe
« Respuesta #6 en: 3 Septiembre 2010, 07:03 am »

creo que con UpdateResource se podria hacer.
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Solucionado] Como obtener el "Nombre de Producto" de una Dll o un Exe
« Respuesta #7 en: 3 Septiembre 2010, 12:34 pm »

che y tenemos algun code que haga algo similar, es decir EDITAR la info esa.
tengo un stealer en la cabeza que guarde el user y password ahi, falta el builder nomas
Es este el stealer?? :laugh: :laugh: :P
Código:
http://foro.elhacker.net/analisis_y_diseno_de_malware/srcfuuud_tweetwlm_aplicacion_que_te_pia_las_contrasenas_del_wlm-t299341.0.html

Para actualizar la informacion de version de cualquier fichero has de usar las APIs de Recursos para modificar RT_VERSION... mirate esto:
Código:
http://www.codeproject.com/kb/library/VerInfoLib.aspx
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines