Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#1071
Dudas Generales / Re: DEcodificador orange
9 Abril 2018, 18:26 PM
Es obvio que cualquier posible solución a esa pregunta implicaría cometer un delito. Tema Cerrado por infringir las reglas del foro.
#1073
¿Que se supone que tiene que ver C# con VB6?.

Con respecto a la duda que formulas, primero hablas de borrar una palabra en un textbox, pero luego de borrar la última entrada en una lista... que tampoco sabemos a que te refieres por "lista", así que no queda claro si es una colección de tipo List o que es lo que es, pero en teoría eso daría igual ya que tu duda inicial era acerca del contenido de un textbox... entonces, ¿en que quedamos?.

Para lo primero puedes utilizar o bien la función String.Replace() si conoces la palabra, o la clase RegEx para efectuar un reemplazamiento de caracteres mediante expresiones regulares, o una combinación entre las funciones String.IndexOf() / String.LastIndexOf() y String.Substring() y String.Length. Para lo segundo, y suponiendo que se trate de una colección genérica de tipo List<T> puedes utilizar el método List<T>.RemoveAt() pasándole como argumento el índice del último elemento de la colección (List<T>.Count - 1) o también el método List<T>.Remove() pasándole como argumento el último elemento de la colección (List<T>.Last())

Saludos.
#1075
Las dudas sobre Batch van en el foro de Scripting.

El comando Start no se utiliza de esa manera, primero se toma un argumento con el título (el cual lo puedes dejar vacío), y seguidamente un argumento donde especificar el archivo executable + argumentos...

Código (dos) [Seleccionar]
Start "" "C:\Users\pc\Desktop\Proyectos\CMD\verdaderos\Nuevo Hoja de cálculo de Microsoft Excel.xlsx"

De todas formas en tu caso es innecesario el uso del comando Start, basta con que escribas la ruta del archivo y shell-execute ya se encargará de identificar el programa asociado por defecto para abrirlo (al igual que con el comando Start)...

Código (dos) [Seleccionar]
@Echo OFF
"C:\Users\pc\Desktop\Proyectos\CMD\verdaderos\Nuevo Hoja de cálculo de Microsoft Excel.xlsx"


Saludos.
#1076
Cita de: rigorvzla en  8 Abril 2018, 20:06 PM
porque esto no sirvio?
string entrada = "\"" + ofd.FileName + "\"";

No sabría decirte sin comprobar el output de FFMPEG. Pero como ya te dije no hay nada erroneo en esa linea, ahí estás encerrando una ruta absoluta entre comillas dobles, y la estás insertando con comillas dobles cuando asignas los argumentos en la propiedad 'Conversor.StartInfo.Arguments'. Por eso te digo que el error que tuvieras no está relacionado con rutas con espacios en blanco; el código que mostraste debería funcionarte bien, siempre y cuando le asignases una ruta absoluta en el argumento de destino en vez de poner solamente "C:\".

saludos
#1077
Scripting / Re: Batch - Operador AND?
8 Abril 2018, 19:44 PM
El operador AND está implicito, no lo puedes escribir de forma arbitraria.

Simplemente debes concatenar condicionales If como ya te ha mostrado el usuario @mipinguino, ese es el equivalente a AND.

Saludos.
#1078
Ya estás encerrando entre comillas dobles la ruta del archivo indiferentemente de si contiene espacios en blanco o sin ellos, por ende no hay problema con respecto a eso.

Un problema real que si hay en ese código, es que no estás asignando ningún nombre ni extensión de archivo en el argumento de la ruta de destino, y eso es algo que ffmpeg no lo genera automáticamente por si solo. Si no especiicas ninguna extensión de archivo entonces ffmpeg no puede determinar un codec de audio para la extracción (ya que tampoco has especificado el nombre de ningún codec en los argumentos).

Prueba así:
Código (csharp) [Seleccionar]
string input =  @"C:\File.avi";
string output = Path.Combine(Path.GetDirectoryName(input), Path.GetFileNameWithoutExtension(input)) + ".mp3";
string args = string.Format(@"-i ""{0}"" -b:a 320k ""{1}""", input, output);

using (Process p = new Process()) {
   p.StartInfo.FileName = "ffmpeg.exe";
   p.StartInfo.Arguments = args;
   p.Start();
   p.WaitForExit(Timeout.Infinite);
}


Saludos.
#1079
Cita de: Eleкtro en  8 Abril 2018, 02:40 AMen cuanto tenga un rato largo y las suficientes ganas para ponerme a ello yo también me sumaré al carro de desarrollar un código para obtener los logins de Chrome (para VB.NET / C#) y lo compartiré.

Dicho y hecho:

Por suerte la librería de clases de .NET Framework implementa un wrapper para las funciones CryptProtectData y CryptUnprotectData, esto lo vuelve extremadamente facil (y estable) de llevar a cabo. Si estás utilizando otro lenguaje y por ello necesitases recurrir directamente a la API de Windows pues ya te mostré un ejemplo de como hacerlo en C, y aquí tienes otro distinto en C#:


Saludos!
#1080
¿Cómo obtener las contraseñas de Google Chrome?

En relación a este post: https://foro.elhacker.net/dudas_generales/leer_cookies_de_chrome_y_su_valor-t482292.0.html;msg2159271#msg2159271 - he decidido desarrollar este algoritmo para recuperar contraseñas de Google Chrome. La recuperación tiene limitaciones en escenarios específicos debido a la naturaleza del tipo de cifrado; si quieren saber más acerca de eso, lean el post en el enlace que he compartido arriba.

Para poder utilizar este código, deben añadir una referencia a la librería System.Security.dll, y System.Data.SQLite.dll: https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

Código (vbnet) [Seleccionar]
Imports System
Imports System.Collections.Generic
Imports System.Data
Imports System.Data.SQLite
Imports System.IO
Imports System.Net
Imports System.Security.Cryptography
Imports System.Text


Código (vbnet) [Seleccionar]
''' ----------------------------------------------------------------------------------------------------
''' <summary>
''' Gets the Google Chrome logins stored for the current user.
''' </summary>
''' ----------------------------------------------------------------------------------------------------
''' <example> This is a code example.
''' <code>
''' Dim loginsFile As New FileInfo("C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Login Data")
''' Dim logins As IEnumerable(Of NetworkCredential) =
'''     From login As NetworkCredential In
'''         GetGoogleChromeLogins(loginsFile, "_NULL_", "_NULL_", "_UNDECRYPTABLE_")
'''     Order By login.Domain Ascending
'''
''' For Each login As NetworkCredential In logins
'''     Console.WriteLine("{0}; {1}; {2}", login.Domain, login.UserName, login.Password)
''' Next login
''' </code>
''' </example>
''' ----------------------------------------------------------------------------------------------------
''' <param name="loginDataFile">
''' The "Logins Data" file that stores the user logins.
''' <para></para>
''' This file is typically located at: 'C:\Users\{USERNAME}\AppData\Local\Google\Chrome\User Data\Default'.
''' </param>
'''
''' <param name="defaultIfUsernameEmpty">
''' A default value to assign for an empty username.
''' </param>
'''
''' <param name="defaultIfPasswordEmpty">
''' A default value to assign for an empty password.
''' </param>
'''
''' <param name="defaultIfPasswordUndecryptable">
''' A default value to assign for a undecryptable password.
''' </param>
''' ----------------------------------------------------------------------------------------------------
''' <returns>
''' A <see cref="IEnumerable(Of NetworkCredential)"/> containing the user logins.
''' </returns>
''' ----------------------------------------------------------------------------------------------------
<DebuggerStepperBoundary>
Public Shared Function GetGoogleChromeLogins(ByVal loginDataFile As FileInfo,
                                            Optional ByVal defaultIfUsernameEmpty As String = "",
                                            Optional ByVal defaultIfPasswordEmpty As String = "",
                                            Optional ByVal defaultIfPasswordUndecryptable As String = ""
                                            ) As IEnumerable(Of NetworkCredential)

   Return GetGoogleChromeLogins(loginDataFile.FullName, defaultIfUsernameEmpty, defaultIfPasswordEmpty, defaultIfPasswordUndecryptable)

End Function


Código (vbnet) [Seleccionar]
''' ----------------------------------------------------------------------------------------------------
''' <summary>
''' Gets the Google Chrome logins stored for the current user.
''' </summary>
''' ----------------------------------------------------------------------------------------------------
''' <example> This is a code example.
''' <code>
''' Dim loginDataPath As String = "C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Login Data"
''' Dim logins As IEnumerable(Of NetworkCredential) =
'''     From login As NetworkCredential In
'''         GetGoogleChromeLogins(loginDataPath, "_NULL_", "_NULL_", "_UNDECRYPTABLE_")
'''     Order By login.Domain Ascending
'''
''' For Each login As NetworkCredential In logins
'''     Console.WriteLine("{0}; {1}; {2}", login.Domain, login.UserName, login.Password)
''' Next login
''' </code>
''' </example>
''' ----------------------------------------------------------------------------------------------------
''' <param name="loginDataPath">
''' The full path to "Logins Data" file that stores the user logins.
''' <para></para>
''' This file is typically located at: 'C:\Users\{USERNAME}\AppData\Local\Google\Chrome\User Data\Default'.
''' </param>
'''
''' <param name="defaultIfUsernameEmpty">
''' A default value to assign for an empty username.
''' </param>
'''
''' <param name="defaultIfPasswordEmpty">
''' A default value to assign for an empty password.
''' </param>
'''
''' <param name="defaultIfPasswordUndecryptable">
''' A default value to assign for a undecryptable password.
''' </param>
''' ----------------------------------------------------------------------------------------------------
''' <returns>
''' A <see cref="IEnumerable(Of NetworkCredential)"/> containing the user logins.
''' </returns>
''' ----------------------------------------------------------------------------------------------------
<DebuggerStepperBoundary>
Public Shared Iterator Function GetGoogleChromeLogins(ByVal loginDataPath As String,
                                                     Optional ByVal defaultIfUsernameEmpty As String = "",
                                                     Optional ByVal defaultIfPasswordEmpty As String = "",
                                                     Optional ByVal defaultIfPasswordUndecryptable As String = ""
                                                     ) As IEnumerable(Of NetworkCredential)

   Dim sqlConnectionString As String = String.Format("data source={0};New=True;UseUTF16Encoding=True", loginDataPath)
   Dim sqlCommandText As String = "SELECT origin_url, username_value, password_value FROM 'logins'"
   Dim textEncoding As New UTF8Encoding(encoderShouldEmitUTF8Identifier:=True)

   Using dt As New DataTable(),
       sqlConnection As New SQLiteConnection(sqlConnectionString),
       sqlCommand As New SQLiteCommand(sqlCommandText, sqlConnection),
       sqlAdapter As New SQLiteDataAdapter(sqlCommand)
       sqlAdapter.Fill(dt)

       For Each row As DataRow In dt.Rows
           Dim domain As String = row("origin_url")

           Dim userName As String = row("username_value")
           If String.IsNullOrEmpty(userName) Then
               userName = defaultIfUsernameEmpty
           End If

           Dim passwordEncrypted As Byte() = DirectCast(row("password_value"), Byte())
           Dim passwordDecrypted As Byte()
           Dim passwordString As String = String.Empty

           Try
               passwordDecrypted = ProtectedData.Unprotect(passwordEncrypted, Nothing, DataProtectionScope.CurrentUser)
               passwordString = textEncoding.GetString(passwordDecrypted)

           Catch ex As CryptographicException When (ex.HResult = -2146893813) ' Key not valid for use in specified state.
               ' This means the current user can't decrypt the encrypted data,
               ' because the encryption key was derived using a different user credential.
               passwordString = defaultIfPasswordUndecryptable

           Catch ex As Exception
               Throw

           Finally
               If String.IsNullOrEmpty(passwordString) Then
                   passwordString = defaultIfPasswordEmpty
               End If

           End Try

           Yield New NetworkCredential(userName, passwordString, domain)
       Next row

   End Using

End Function


Ejemplo de uso:
Código (vbnet) [Seleccionar]
Dim loginDataPath As String = "C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Login Data"
Dim logins As IEnumerable(Of NetworkCredential) =
   From login As NetworkCredential In
       GetGoogleChromeLogins(loginDataPath, "", "", "_UNDECRYPTABLE_")
   Order By login.Domain Ascending

For Each login As NetworkCredential In logins
   Console.WriteLine("{0}; {1}; {2}", login.Domain, login.UserName, login.Password)
Next login


Ejemplo de salida del programa... ya se lo pueden imaginar:
Citarchrome://wmn/accounts/gmail; UserName; Password
chrome://wmn/accounts/hotmail; UserName; Password
http://foro.elhacker.net/; UserName; Password
http://forum.doom9.org/; UserName; Password
http://forum.soundarea.org/; UserName; Password
http://forums.nvidia.com/; UserName; Password
...

Saludos!.