• EnglishSpanishGermanFrenchPolishChinese (Traditional)


EnglishSpanishGermanFrenchPolishChinese (Traditional)

Operating systems, scripting, PowerShell and security

Operating systems, software development, scripting, PowerShell tips, network and security

Menú principal
  • Categorías
  • Cursos
  • Libro de PowerShell (nivel medio)
  • Libro de PowerShell (nivel avanzado)
  • Lo mejor
  • Lo último
  • Proyectos
  • Contactar
Ir al contenido

Obtener los nombres de las funciones exportadas de un archivo DLL con DUMPBIN desde PowerShell (explicación paso a paso del script)

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Información sobre Microsoft COFF Binary File Dumper DUMPBIN
# https://msdn.microsoft.com/es-es/library/c1h23y6c.aspx
 
cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\bin\Hostx86\x86"
 
# Listar funciones exportadas de un archivo DLL con DUMPBIN desde PowerShell
$content =  .\dumpbin.exe /exports C:\Windows\System32\zipfldr.dll
 
# Procesar la información para obtener únicamente las funciones
# Quitar líneas sin contenido
$content = ($content | ? {$_.trim() -ne "" }).trim()
# Crear un string de toda la información para poder extraer el contenido de las funciones
$all = ""
$content | %{$all = $all + $_ + ";"}
# Extraer el contenido de las funciones
$start = $all.indexof("ordinal hint RVA      name;")
$end = $all.indexof("Summary")
$length = $end - $start
$funciones = $all.substring($start, $length).replace("Summary","")
 
# Con el contenido de las funciones extraer el nombre de las funciones
# Convertir un array a CSV con PowerShell
# ES POSIBLE QUE HAYA QUE AÑADIR OTRAS COMBINACIONES DE ESPACIOS
$data = $funciones.split(";").Replace(" "," ").Replace(" "," ").Replace(" "," ").Replace(" ",",") | ConvertFrom-Csv
 
# Mostrar el nombre de las funciones
$data.name


Explicación paso a paso del script

Listar funciones exportadas de un archivo DLL con DUMPBIN desde PowerShell

PowerShell
1
2
3
4
5
6
7
# Información sobre Microsoft COFF Binary File Dumper DUMPBIN
# https://msdn.microsoft.com/es-es/library/c1h23y6c.aspx
 
cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\bin\Hostx86\x86"
 
# Listar funciones exportadas de un archivo DLL con DUMPBIN desde PowerShell
$content =  .\dumpbin.exe /exports C:\Windows\System32\zipfldr.dll

Procesar la información para obtener únicamente las funciones. Quitar líneas sin contenido

PowerShell
1
2
3
# Procesar la información para obtener únicamente las funciones
# Quitar líneas sin contenido
$content = ($content | ? {$_.trim() -ne "" }).trim()

Crear un string de toda la información para poder extraer el contenido de las funciones

PowerShell
1
2
3
4
5
6
7
8
# Crear un string de toda la información para poder extraer el contenido de las funciones
$all = ""
$content | %{$all = $all + $_ + ";"}
# Extraer el contenido de las funciones
$start = $all.indexof("ordinal hint RVA      name;")
$end = $all.indexof("Summary")
$length = $end - $start
$funciones = $all.substring($start, $length).replace("Summary","")

Con el contenido de las funciones extraer el nombre de las funciones

PowerShell
1
2
3
4
5
6
# Con el contenido de las funciones extraer el nombre de las funciones
# Convertir un array a CSV con PowerShell
# ES POSIBLE QUE HAYA QUE AÑADIR OTRAS COMBINACIONES DE ESPACIOS
$data = $funciones.split(";").Replace(" "," ").Replace(" "," ").Replace(" "," ").Replace(" ",",") | ConvertFrom-Csv
# Mostrar el nombre de las funciones
$data.name

Publicado el día 21 de abril de 2018

CATEGORÍAS

PowerShell

ETIQUETAS

ASP, ConvertFrom-Csv, data, DUMPBIN, HTTP, HTTPS, IndexOf, iOS, IP, Jesús Niño Camazón, Length, Mac, Microsoft, Replace, Script, Split, SPX, Studio, Substring, Trim, Visual, Windows

MÁS

  • ¿Cómo sería la certificación Linux LPIC1-101 para PowerShell? (posible equivalencia entre Linux y PowerShell)
  • Ejercicios de seguridad: simular el funcionamiento de una VPN desde PowerShell
  • ¿Cómo saber si alguien ha utilizado mi ordenador?
  • 11. Gestión del Directorio Activo (nivel intermedio)
  • Enviar un mensajes cifrado con Cryptographic Message Syntax (CMS) entre un cliente y un servidor mediante UDP desde PowerShell
  • Ver las dependencias de un fichero DLL con DUMPBIN desde PowerShell
Jesusninoc utiliza cookies: saber más aquí.