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


 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección.


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14
1  Programación / Ingeniería Inversa / Re: algoritmo de desencriptación en: 3 Noviembre 2015, 14:45
Gracias!. Algo más práctico y rápido porque el tiempo apremia va a ser crearme un proyecto VFP con esa función, genero una nueva clave y hago un update a la tabla usuario con la clave cifrada. Tuve que dormir para despejarme  :xD
2  Programación / Ingeniería Inversa / algoritmo de desencriptación en: 3 Noviembre 2015, 03:18
Buenas noches tengo que acceder a un sistema VFP del cual no tienen la clave, entré a las tablas usuario y la clave se encuentra cifrada con un algoritmo que no es md5, sha1, etc.

La contraseña cifrada es la siguiente:
Citar
ø»ôj̇

Eh decompilado el .EXE y he encontrado la función cifrar:
Código
  1. PARAMETER dato, encript, long
  2. peso = CHR(57) + CHR(51) + CHR(53) + CHR(49) + CHR(52) + CHR(50) + CHR(47) + CHR(41) + CHR(73) + CHR(99) + CHR(62) + CHR(70) + CHR(57) + CHR(51) + CHR(53) + CHR(49) + CHR(52) + CHR(50) + CHR(33) + CHR(14) + CHR(31) + CHR(90) + CHR(67) + CHR(51) + CHR(56) + CHR(90) + CHR(51) + CHR(54) + CHR(43) + CHR(74) + CHR(90) + CHR(34) + CHR(57) + CHR(42) + CHR(44) + CHR(49) + CHR(42) + CHR(60) + CHR(39) + CHR(84) + CHR(77) + CHR(75) + CHR(47) + CHR(23) + CHR(34) + CHR(54) + CHR(56) + CHR(59) + CHR(93) + CHR(34)
  3. consta = ASC(SUBSTR(dato, 2, 1))
  4. FOR x = 3 TO long STEP 2
  5.     consta = consta + ASC(SUBSTR(dato, x, 1))
  6. ENDFOR
  7. consta = consta / 7
  8. IF consta < 17
  9.     consta = 17
  10. ENDIF
  11. FOR x = 1 TO long
  12.     decena = VAL(SUBSTR(STR(ASC(SUBSTR(dato, x, 1))), 10, 1))
  13.     entero = consta * VAL(SUBSTR(peso, x, 1))
  14.     DO WHILE entero > 255
  15.          entero = entero - 33
  16.     ENDDO
  17.     newchr = entero + decena + ASC(SUBSTR(dato, x, 1))
  18.     DO WHILE newchr > 255
  19.          newchr = newchr - 19
  20.     ENDDO
  21.     IF x = 1
  22.          encript = CHR(newchr)
  23.     ELSE
  24.          encript = encript + CHR(newchr)
  25.     ENDIF
  26. ENDFOR
  27. RETURN encript
  28. ENDFUNC
  29. *
  30. *
  31.  


Alguien puede ayudarme ha descifrar esa clave?, no he programado en el lenguaje VFP... o en todo caso decirme si se puede hacer ingeniería inversa a ese algoritmo para meterme a estudiar el lenguaje.

Gracias.
3  Programación / .NET (C#, VB.NET, ASP) / Re: Pasar Items de un ListBox a otro en un formulario diferente .net en: 6 Diciembre 2012, 03:16
copiar los items.

Código:
For Each item As Object In Me.ListBox1.Items

Me.ListBox2.Items.Add(item)

Next
4  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda! Separadores en un textbox en: 17 Julio 2012, 04:38
puedes utilizar replace
5  Programación / .NET (C#, VB.NET, ASP) / Re: Diferencia entre manera de programar en: 3 Julio 2012, 22:55
Las dos opciones que pones trabajan en una sola capa

Código:
comando = "SELECT campo FROM tabla WHERE fila = " & valor

Código:
comando = "SELECT campo FROM tabla WHERE fila = @param"

es decir son sentencias que se vuelven a validar en el motor de base de datos buscando que no haya problemas de sintaxis en las consultas que se mandan como texto plano, lo  que no pasaría si trabajaras a dos capas, es decir usando los store procedures los que ya no tienen que validarse si no simplemente se ejecutan porque son estructuras de código ya definidas en la base de datos.

en el siguiente ejemplo le mandas parámetros a un store procedure que previamente tienes que tener creado en tu base de datos

Código:
    Public Function mantenimiento(ByVal cnn As SqlClient.SqlConnection, ByVal tipo As tipo_mantenimiento) As Integer
        Dim comando As New SqlClient.SqlCommand, parametro As New SqlClient.SqlParameter
        comando.Connection = cnn

        If tipo = tipo_mantenimiento.insertar Then
            comando.CommandText = "[sp_SIAF_EXPEDIENTE_Insertar]"
        End If

        comando.CommandType = CommandType.StoredProcedure

        parametro = comando.Parameters.Add("@ano_eje", SqlDbType.Char, 4)
        parametro.Value = Me.ano_eje
        parametro = comando.Parameters.Add("@expediente", SqlDbType.Char, 10)
        parametro.Value = Me.expediente
        parametro = comando.Parameters.Add("@tipo_operacion", SqlDbType.Char, 2)
        parametro.Value = Me.tipo_operacion
        parametro = comando.Parameters.Add("@modalidad_compra", SqlDbType.Char, 2)
        parametro.Value = Me.modalidad_compra
        parametro = comando.Parameters.Add("@sec_ejec", SqlDbType.Char, 6)
        parametro.Value = Me.sec_ejec

        return comando.ExecuteScalar()

    End Function
6  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda con Programa C# Conexion a Oracle en: 30 Junio 2012, 22:37
es recomendable que crees el store procedure en la base de datos.
7  Programación / .NET (C#, VB.NET, ASP) / Re: cifrar/descifrar archivos en: 28 Junio 2012, 04:27
le vas a dar una utilidad en especial?, o es solamente por conocimiento.
8  Programación / .NET (C#, VB.NET, ASP) / Re: Como podria hacer esto? en: 28 Junio 2012, 04:22
yo tampoco entendí bien lo que quieres hacer.
9  Media / Diseño Gráfico / tipo de archivo recomendado en: 13 Julio 2011, 03:55
Resulta que quiero meter unas imágenes escaneadas a un sistema, que tipo de archivos me recomiendan utilizar que no sea muy pesado y que sobre todo los archivos digitalizados sean visibles cuando se vuelvan a imprimir.

Que piensan del formato TIF.
10  Comunicaciones / Redes / Re: no puedo asignar puerto a camara ip en: 3 Diciembre 2010, 14:39
voy a hacer las pruebas con la ip pública, gracias por responder... y si tiene clave.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines