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


Tema destacado: El geolocalizador de IP's ya funciona con IPv6


Páginas: [1] 2 3 4 5 6 7 8 9 10
 1 
 en: Hoy a las 20:45 
Iniciado por epublibre1 - Último mensaje por epublibre1
En que plataforma compran bitcoin? Todos dicen que use binance pero no hay alternativas sin kyc?

 2 
 en: Hoy a las 02:00 
Iniciado por Eleкtro - Último mensaje por Eleкtro
Dos funciones que devuelven una colección ordenada de directorios que contienen aplicaciones versionadas dentro de un directorio base específico.

Por ejemplo, dado un directorio base que contiene carpetas de aplicaciones Squirrel como "app-1.0.0", "app-1.2.3" y "app-2.0.0", estas funciones devolverán la lista de esos directorios ordenados por versión, de forma ascendente, de manera que puedas acceder fácilmente al directorio más antiguo (app-1.0.0) o al más reciente (app-2.0.0), o eliminar los más antiguos, etc.

Otro ejemplo, sería con el directorio de Google Chrome. Por ejemplo, si tuvieramos un directorio base "C:\Program Files\Google Chrome\App\Chrome-bin" con las carpetas de instalación de Google Chrome como "100.0.4896.127", "101.0.4951.64" y "102.0.5005.63", estas funciones devolverían los directorios ordenados por versión.

Código
  1. ''' <summary>
  2. ''' Returns a collection of application versioned directories
  3. ''' found within the specified base directory, sorted by version.
  4. ''' </summary>
  5. '''
  6. ''' <example> This is a code example.
  7. ''' <code language="VB">
  8. ''' Dim baseDir As String = "C:\Program Files\Squirrel Application"
  9. ''' Dim namePrefix As String = "app-" ' Case: "app-1.0.0"
  10. ''' Dim nameSuffix As String = Nothing
  11. '''
  12. ''' Dim versionedDirs As SortedList(Of Version, DirectoryInfo) =
  13. '''     GetVersionedDirectories(baseDir, namePrefix, nameSuffix)
  14. '''
  15. ''' Dim oldest As DirectoryInfo = versionedDirs.First.Value
  16. ''' Dim newest As DirectoryInfo = versionedDirs.Last.Value
  17. '''
  18. ''' Console.WriteLine($"Oldest versioned directory name: {oldest.Name}")
  19. ''' Console.WriteLine($"Newest versioned directory name: {newest.Name}")
  20. ''' </code>
  21. ''' </example>
  22. '''
  23. ''' <param name="baseDir">
  24. ''' The base directory that contains application versioned directories (for example: "<b>app-1.0.0</b>").
  25. ''' </param>
  26. '''
  27. ''' <param name="namePrefix">
  28. ''' Optional. If specified, only directory names that begin with this prefix are included.
  29. ''' <para></para>
  30. ''' Default value is null.
  31. ''' </param>
  32. '''
  33. ''' <param name="nameSuffix">
  34. ''' Optional. If specified, only directory names that ends with this suffix are included.
  35. ''' <para></para>
  36. ''' Default value is null.
  37. ''' </param>
  38. '''
  39. ''' <returns>
  40. ''' A <see cref="SortedList(Of Version, DirectoryInfo)"/> where the keys are
  41. ''' <see cref="Version"/> objects parsed from the directory names, and the values
  42. ''' are the corresponding <see cref="DirectoryInfo"/> objects.
  43. ''' <para></para>
  44. ''' The collection is sorted in ascending order by version,
  45. ''' so <see cref="Enumerable.First"/> returns the oldest application version directory,
  46. ''' and <see cref="Enumerable.Last"/> returns the newest.
  47. ''' </returns>
  48. '''
  49. ''' <exception cref="ArgumentNullException">
  50. ''' Thrown when the specified <paramref name="baseDir"/> is null.
  51. ''' </exception>
  52. '''
  53. ''' <exception cref="DirectoryNotFoundException">
  54. ''' Thrown when the specified <paramref name="baseDir"/> does not exist.
  55. ''' </exception>
  56. <DebuggerStepThrough>
  57. Public Shared Function GetVersionedDirectories(baseDir As String,
  58.                                               Optional namePrefix As String = Nothing,
  59.                                               Optional nameSuffix As String = Nothing
  60.                                              ) As SortedList(Of Version, DirectoryInfo)
  61.  
  62.    Dim prefixText As String = If(String.IsNullOrEmpty(namePrefix), "", Regex.Escape(namePrefix))
  63.    Dim suffixText As String = If(String.IsNullOrEmpty(nameSuffix), "", Regex.Escape(nameSuffix))
  64.    Dim versionGroup As String = "(?<version>\d+(\.\d+){0,3})"
  65.  
  66.    Dim pattern As String = $"^{prefixText}{versionGroup}{suffixText}$"
  67.    Dim searchRegex As New Regex(pattern, RegexOptions.IgnoreCase Or RegexOptions.Compiled)
  68.  
  69.    Return GetVersionedDirectories(baseDir, searchRegex)
  70. End Function
  71.  
  72. ''' <summary>
  73. ''' Returns a collection of application versioned directories
  74. ''' found within the specified base directory, sorted by version.
  75. ''' </summary>
  76. '''
  77. ''' <example> This is a code example.
  78. ''' <code language="VB">
  79. ''' Dim baseDir As String = "C:\Program Files\Squirrel Application"
  80. ''' Dim pattern As String = "^app-(?&lt;version&gt;\d+(\.\d+){0,3})$" ' Case: "app-1.0.0"
  81. ''' Dim searchRegex As New Regex(pattern, RegexOptions.IgnoreCase Or RegexOptions.Compiled)
  82. '''
  83. ''' Dim versionedDirs As SortedList(Of Version, DirectoryInfo) =
  84. '''     GetVersionedDirectories(baseDir, searchRegex)
  85. '''
  86. ''' Dim oldest As DirectoryInfo = versionedDirs.First.Value
  87. ''' Dim newest As DirectoryInfo = versionedDirs.Last.Value
  88. '''
  89. ''' Console.WriteLine($"Oldest versioned directory name: {oldest.Name}")
  90. ''' Console.WriteLine($"Newest versioned directory name: {newest.Name}")
  91. ''' </code>
  92. ''' </example>
  93. '''
  94. ''' <param name="baseDir">
  95. ''' The base directory that contains application versioned directories (for example: "<b>app-1.0.0</b>").
  96. ''' </param>
  97. '''
  98. ''' <param name="searchRegex">
  99. ''' A <see cref="Regex"/> used to filter the directory names.
  100. ''' <para></para>
  101. ''' &#9888;&#65039; This regex must contain a named group called <b>version</b>,
  102. ''' which will be used to extract the version number from the directory name.
  103. ''' <para></para>
  104. ''' For example: <c>"^app-(?&lt;version&gt;\d+(\.\d+){0,3})$"</c>
  105. ''' </param>
  106. '''
  107. ''' <returns>
  108. ''' A <see cref="SortedList(Of Version, DirectoryInfo)"/> where the keys are
  109. ''' <see cref="Version"/> objects parsed from the directory names, and the values
  110. ''' are the corresponding <see cref="DirectoryInfo"/> objects.
  111. ''' <para></para>
  112. ''' The collection is sorted in ascending order by version,
  113. ''' so <see cref="Enumerable.First"/> returns the oldest application version directory,
  114. ''' and <see cref="Enumerable.Last"/> returns the newest.
  115. ''' </returns>
  116. '''
  117. ''' <exception cref="ArgumentNullException">
  118. ''' Thrown when the specified <paramref name="baseDir"/> or <paramref name="searchRegex"/> is null.
  119. ''' </exception>
  120. '''
  121. ''' <exception cref="ArgumentException">
  122. ''' Thrown when the pattern of the specified <paramref name="searchRegex"/> does not contain a named group 'version'.
  123. ''' </exception>
  124. '''
  125. ''' <exception cref="DirectoryNotFoundException">
  126. ''' Thrown when the specified <paramref name="baseDir"/> does not exist.
  127. ''' </exception>
  128. <DebuggerStepThrough>
  129. Public Shared Function GetVersionedDirectories(baseDir As String,
  130.                                               searchRegex As Regex
  131.                                              ) As SortedList(Of Version, DirectoryInfo)
  132.  
  133.    If String.IsNullOrWhiteSpace(baseDir) Then
  134.        Throw New ArgumentNullException(NameOf(baseDir))
  135.    End If
  136.  
  137.    If searchRegex Is Nothing Then
  138.        Throw New ArgumentNullException(NameOf(searchRegex))
  139.    End If
  140.  
  141.    If Not searchRegex.GetGroupNames().Contains("version") Then
  142.        Throw New ArgumentException("The provided regex pattern must contain a named group 'version'.", NameOf(searchRegex))
  143.    End If
  144.  
  145.    If Not Directory.Exists(baseDir) Then
  146.        Throw New DirectoryNotFoundException(baseDir)
  147.    End If
  148.  
  149.    Dim topLevelDirs As DirectoryInfo() =
  150.        New DirectoryInfo(baseDir).
  151.            GetDirectories("*", SearchOption.TopDirectoryOnly)
  152.  
  153.    Dim versionedDirs As New SortedList(Of Version, DirectoryInfo)(
  154.        topLevelDirs.Length, Comparer(Of Version).Default
  155.    )
  156.  
  157.    For Each topLevelDir As DirectoryInfo In topLevelDirs
  158.  
  159.        Dim match As Match = searchRegex.Match(topLevelDir.Name)
  160.        If match.Success Then
  161.            Dim versionPart As String = match.Groups("version").Value
  162.            Dim ver As Version = Nothing
  163.            If Version.TryParse(versionPart, ver) Then
  164.                If Not versionedDirs.ContainsKey(ver) Then
  165.                    versionedDirs.Add(ver, topLevelDir)
  166.                End If
  167.            End If
  168.        End If
  169.    Next
  170.  
  171.    Return versionedDirs
  172. End Function

Tiene dos formas de empleo. La primera es mediante un prefijo y/o sufijo, siendo ambos opcionales:
Código
  1. Dim baseDir As String = "C:\Program Files\Squirrel Application"
  2. Dim namePrefix As String = "app-" ' Case: "app-1.0.0"
  3. Dim nameSuffix As String = Nothing
  4.  
  5. Dim versionedDirs As SortedList(Of Version, DirectoryInfo) =
  6.    GetVersionedDirectories(baseDir, namePrefix, nameSuffix)
  7.  
  8. Dim oldest As DirectoryInfo = versionedDirs.First.Value
  9. Dim newest As DirectoryInfo = versionedDirs.Last.Value
  10.  
  11. Console.WriteLine($"Oldest versioned directory name: {oldest.Name}")
  12. Console.WriteLine($"Newest versioned directory name: {newest.Name}")

La segunda forma de utilizarlo es mediante una expresión regular que debe incluir un grupo nombrado como "version":
Código
  1. Dim baseDir As String = "C:\Program Files\Squirrel Application"
  2. Dim pattern As String = "^app-(?<version>\d+(\.\d+){0,3})$" ' Case: "app-1.0.0"
  3. Dim searchRegex As New Regex(pattern, RegexOptions.IgnoreCase Or RegexOptions.Compiled)
  4.  
  5. Dim versionedDirs As SortedList(Of Version, DirectoryInfo) =
  6.    GetVersionedDirectories(baseDir, searchRegex)
  7.  
  8. Dim oldest As DirectoryInfo = versionedDirs.First.Value
  9. Dim newest As DirectoryInfo = versionedDirs.Last.Value
  10.  
  11. Console.WriteLine($"Oldest versioned directory name: {oldest.Name}")
  12. Console.WriteLine($"Newest versioned directory name: {newest.Name}")

 3 
 en: Ayer a las 14:28 
Iniciado por r32 - Último mensaje por EdePC
No sé como andará ahora que lo compró Exterro, yo aún tengo mi vieja versión 3.4.0.5 ligerita (2015-10-29) que es la última en soportar Windows XP, si solo vas por la parte gratuita es buena opción, lo voy a subir a archive.org, es original (puedes revisar su firma digital):
https://archive.org/download/access-data-ftk-imager-3.4.0.5/AccessData%20FTK%20Imager%203.4.0.5.exe

Si quieres la última versión lo tienes que descargar de Exterro, puedes poner cualquier correo ficticio de apariencia válida, por ejemplo jlskjfdfsdf@sdfs.com y te lo deja descargar
https://www.exterro.com/downloads/search-results?q=&category=64914 pero solo vi que le ponen PRO, el enlace a la versión Free está escondido: https://go.exterro.com/l/43312/2023-05-03/fc4b78

Si quieres la última versión que sacó AccessData es la 4.7.1 (2022-01-19) también lo subo a archive.org:
https://archive.org/download/access-data-ftk-imager-4.7.1_202601/AccessData_FTK_Imager_4.7.1.exe
Manual de usuario: https://d1kpmuwb7gvu1i.cloudfront.net/Imager/4_7_1/FTKImager_UserGuide.pdf

 4 
 en: Ayer a las 08:11 
Iniciado por Mr.Byte - Último mensaje por Mr.Byte
Una lista de más de 250 recomendaciones para mejorar vuestra seguridad , agrupadas por grupos:

https://digital-defense.io/

 5 
 en: Ayer a las 05:59 
Iniciado por r32 - Último mensaje por faluco
Pueden volver a subirlo por favor tengo un trabajo de mi universidad y no puedo descargarlo en la pagina oficial

 6 
 en: 28 Enero 2026, 23:25 pm 
Iniciado por Songoku - Último mensaje por Tachikomaia

A mi me sale lo mismo que a ti no se a que se debe si he puesto el comando exactamente igual que pone Songoku. :-(
Fue la 1era vez que usé un powershell, le pregunté a GPT cómo hacerlo.
Tiempo después de mostrar aquí el fallo le mostré la imagen y dijo que probablemente se deba a que mi versión de PS es demasiado antigua. No averigué más que eso.

 7 
 en: 28 Enero 2026, 22:59 pm 
Iniciado por El_Andaluz - Último mensaje por El_Andaluz


El Kremlin ha asegurado este miércoles que está dispuesto a acoger en Moscú una reunión entre Vladimir Putin y Volodimir Zelenski para abordar un posible acuerdo de paz en Ucrania. "Y al mismo tiempo le garantizamos la seguridad y las condiciones necesarias para trabajar", sostuvo a este respecto Yuri Ushakov, asesor del presidente ruso, en una entrevista en la televisión nacional. Además, recordó que esta idea la puso sobre la mesa el presidente de Estados Unidos, Donald Trump, y que Putin nunca se ha cerrado a esta posibilidad.

Ambos líderes solo se han visto una vez y fue en París en el año 2019, en un encuentro en el que también estaban el presidente francés, Emmanuel Macron, y la entonces canciller alemana, Angela Merkel. Aquella reunión solo sirvió para evidenciar la distancia entre los dos a cuenta de los Acuerdos de Minsk, firmados tras la anexión ilegal de Crimea por parte de Rusia.

"Lo importante es que estos contactos estén bien preparados. Eso lo primero. Y lo segundo, que estén encaminadas al logro de resultados positivos concretos", comentó el propio Ushakov. Desde Ucrania insisten en que Zelenski está dispuesto a esa reunión, pero por ahora los contactos se han dado en Abu Dabi y el presidente ucraniano ya ha dejado claro en varias ocasiones su rechazo a viajar a Moscú, al igual que no ve con buenos ojos que esa reunión se dé en Hungría. Sobre todo ahora que sus tensiones con Viktor Orbán han ido a más.

Sobre las conversaciones a tres bandas entre Rusia, Ucrania y EEUU en Abu Dabi el Kremlin es optimista. "El trabajo está en marcha. Y es bueno que comenzara con contactos directos y ya saben que se alcanzó un acuerdo sobre su continuación. Esta labor continuará", comentó a este respecto el portavoz del Gobierno ruso, Dmitri Peskov, que reconoció de nuevo que la cuestión territorial es el principal escollo para un acuerdo: "No es ningún secreto", aseguró.

Mientras, en otro elemento que puede ser parte del pacto de paz, Zelenski ha puesto fecha concreta a la adhesión de Ucrania a la UE: el año 2027. El presidente ucraniano, de hecho, cree que cuenta "con el respaldo" de los Estados miembros para ello, aunque desde Bruselas se sigue insistiendo en que es un proceso basado en méritos y no en un calendario concreto. "La adhesión de Ucrania a la Unión Europea es una de las garantías clave de seguridad no solo para nosotros, sino también para toda Europa. Al fin y al cabo, la fuerza colectiva de Europa es posible, en particular, gracias a las contribuciones de Ucrania en materia de seguridad, tecnología y economía", sostuvo el líder ucraniano este martes en un mensaje en redes sociales.






Buen chiste de los rusos y de paso le pone a Zelenski para su seguridad cubatas de Polonio.

 8 
 en: 28 Enero 2026, 22:46 pm 
Iniciado por Songoku - Último mensaje por El_Andaluz



A mi me sale lo mismo que a ti no se a que se debe si he puesto el comando exactamente igual que pone Songoku. :-(

 9 
 en: 27 Enero 2026, 20:29 pm 
Iniciado por El_Andaluz - Último mensaje por Tachikomaia
Parece que algunos políticos son adictos a prohibir cosas, ojalá los protejan de su adicción.

 10 
 en: 27 Enero 2026, 15:48 pm 
Iniciado por El_Andaluz - Último mensaje por El_Andaluz


La Asamblea Nacional francesa ha aprobado este lunes el proyecto de ley para prohibir el acceso a las redes sociales a los menores de 15 años y vetar los móviles en los institutos, con el objetivo de que la medida pueda aplicarse desde el comienzo del próximo curso escolar.

Tras un largo debate que se prolongó hasta pasada la medianoche, los diputados franceses han dado su respaldo a la medida con 130 votos a favor frente a 21 en contra.

Este proyecto, presentado por un procedimiento de urgencia, tendrá ahora que tener la luz verde del Senado para que entre en vigor a partir del próximo 1 de septiembre.

Durante los debates, la diputada oficialista Laure Miller, una de las promotoras del proyecto de ley, ha justificado la necesidad de la prohibición "porque no se puede dejar que un niño tenga que gestionar algo adictivo (las redes) por sí solo".

Miller ha citado los algoritmos que llevan a los menores a contenidos de tendencias suicidas y de automutilación y puso el acento en TikTok.

"Prometía incentivar la creatividad y la alegría y ha sucedido todo lo contrario", ha señalado la parlamentaria, quien ha dicho que los estudios científicos demuestran que, por culpa de las redes, los menores "duermen menos, se mueven menos, leen menos y se comparan más" entre ellos.

Entre las intervenciones, ha destacado la del ministro de Educación de Francia, Edouard Geffray, quien saludó la restricción de teléfonos móviles prevista en los institutos, tras la prohibición decretada en 2018 en secundaria (entre 12 y 16 años), primaria y preescolar.




Páginas: [1] 2 3 4 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines