Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: lessionone en 17 Abril 2012, 16:06 pm



Título: Encriptacion Xor ¿como se descifra?
Publicado por: lessionone en 17 Abril 2012, 16:06 pm
Hola buenas, he cogido la idea de cifrar una cadena con xor pero creo que no se descifrar la cadena porque no sale igual. Pongo el codigo:
 'LEEMOS UN EJECUTABLE
Código:
        Dim cadenaarellenar As String
        Dim canallibre As Integer
        canallibre = FreeFile()
        FileOpen(canallibre, "C:\Users\Administrador\Desktop\b.exe", OpenMode.Binary)
        cadenaarellenar = Space(LOF(canallibre))
        FileGet(canallibre, cadenaarellenar)
        FileClose(canallibre)
'GUARDAMOS EL EJECUTABLE EN UN ARRAY MEZCLADO CON LA PALABRA "HOLA"
'CADA VEZ QUE CADENA1 LE TOCA LA ULTIMA POSICION EN EL MID PUES VUELVE A LEER LA PRIMERA POSICION
Código:
        Dim z As Char = ""
        Dim x As Char = ""
        Dim contador As Integer = 0
        Dim bitconbit As Integer
        Dim cadena1 = "hola"
        Dim resultado As Integer = 0
        Dim contadormultiplicacion As Integer = 1
        Dim contadorcaracteresz As Integer = 0
        Dim matriz(16383) As Integer 'el tamaño de bytes del archivo es de 16384
        Dim indice As Integer = 0
        For contadorA = 1 To 16384

            resultado = Len(cadena1) * contadormultiplicacion

            If contador = resultado + 1 Then
                contadormultiplicacion = contadormultiplicacion + 1
                contadorcaracteresz = 0
            End If
            contador = contador + 1
            contadorcaracteresz = contadorcaracteresz + 1
            z = Mid("hola", contadorcaracteresz, 1)
            x = Mid(cadenaarellenar, contadorA, 1)
            Dim ascii1 As Integer = Asc(z)
            Dim ascci2 As Integer = Asc(x)
            byteconbyte = (ascii1 Xor ascci2) ' de aqui sale un entero
            matriz(indice) = byteconbyte
            indice = indice + 1
 
       Next
'
 ' CREAMOS EL ARCHIVO "AS.EXE" Y LO RELLENAMOS CON EL ARRAY ANTERIOR        
Código:
Dim rutadelarchivonuevo As String = "C:\Users\Administrador\Desktop\as.exe"
        FileOpen(1, rutadelarchivonuevo, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
        FilePut(1, matriz)
        FileClose(1)
        MsgBox("Realizado")
    End Sub

Me gustaria saber si esta bien echo esto para luego poneros lo que he echo para desencriptarlo pero hay algo que esta mal en este codigo o a la hora de desencriptarlo porque no sale.
Gracias adelantadas por parar a mirar el codigo


Título: Re: Encriptacion Xor ¿como se descifra?
Publicado por: Keyen Night en 23 Abril 2012, 22:24 pm
Te invito a usar FileStream, StreamWriter y StreamReader. Estas clases pueden leer el archivo byte a byte, XOR tiene la particularidad de que cumple su misma función inversa, de tal modo que:

Código
  1. 5 XOR 10 = 15
  2.  
  3. 15 XOR 5 = 10
  4. 15 XOR 10 = 5