Apprendre le Hack Index du Forum
Apprendre le Hack

 
Apprendre le Hack Index du ForumFAQRechercherS’enregistrerConnexion

:: Questions sur les codage crypteur ::

 
Poster un nouveau sujet   Répondre au sujet    Apprendre le Hack Index du Forum -> A trié
Sujet précédent :: Sujet suivant  
Auteur Message
Inf3rnus
Administrateur

Hors ligne

Inscrit le: 22 Aoû 2011
Messages: 196

MessagePosté le: Dim 11 Déc - 23:59 (2011)    Sujet du message: Questions sur les codage crypteur Répondre en citant

MOI

Salut à tous comme beaucoup je me casse la tete pour crée mon crypteur mais avant de tenté a nouveau d'en rendre FUD

J'aurai trois petite question ça fait un moment que je bloque la dessus je voudrais bien comprendre avant tout ^^ ...

Dans le principe pas de soucis je différencie bien le crypter scantime du runtime mais au niveau codage c'est autre chose^^

Si alien ou quelqu'un de calé la dessus pouvais nous faire un petit tuto explicatif sur la différence de codage entre ces deux chose ce serai sympa ....Car je voudrais savoir si on peut modifié le code d'un scantime en runtime...

Ensuite des petites choses sur l'encryption je sais que rc4 XOR rijindaal sont différents possibilitées de cryptage laquelle serai la mieux ...

Et dernière petite chose le stub je sais que c'est lui qui fait le serveur crypté mais des fois je voie des crypteur stub inclus et des fois un stub à part toujours pareil quel différence cela fait t'il ...

Voila c'est pas énorme mais ca m'éclairerai beaucoup et je serai surement pas le seul à trouvé ca utile si quelqu'un veut bien prendre un peu de temps sur ce sujets ce serait sympa


Merci d'avance a celui qui se creusera la tête pour nous expliqué ...

ALIEN

Un crypter SCANTIME utilise le cryptage d'un fichier de sorte qu'il n'est pas le même que le fichier original. à l'exécution le fichier est décrypter, cela signifie que le fichier devient non-crypté et donc détectables à l'exécution.

Un crypter Runtime injecte le fichier exécutable dans la mémoire au lieu des fichiers décrypté. Parce que l'AV ne peut pas analyser la mémoire de l'injection, il n'est pas détecté.

donc une crypter Runtime est évidemment mieux, et si un fichier est crypté Runtime, alors il est aussi SCANTIME.

MOI

Oui merci mais cette différence la je le savais en fait c'est ce que je voulais dire par Dans le principe pas de soucis je différencie bien le crypter scantime du runtime

Cest surtout au niveau du code que ma question porte mais c'est vrai que j'ai pas était très claire ^^

Par exemple dans un code scantime montré la partie du code qui fait que c'est scantime et pareil pour le runtime ..

Tu voie ce que je veux dire ?

MOI

Huuuuuuuum bon a force de me bouffé des codes j'ai encore des questions  des questions ^

Alors le stub ok je sais a quoi il sert et son fonctionnement mais un stub y en a un dans un runtime ou pas ? si oui il est integré au code du crypteur ou externe comme sur beaucoup de crypteur scantime ?

Ensuite quel algo mettre ? Xor rinjdael ou RC4 ? 

Et encore une une question Runpe = runtime soit injection en mémoire ok mais j'arrive pas a trouvé quel parti dans le code correspond a cette  injection .... les codes que je trouve sont trop garni pour que j'arrive a bien dissocié ...

quelqu'un aurait moyen de mettre la base d un code runpe qu'il suffirait ensuite d'ajouté a nos code ?

Donc voila dans un code ce que j'ai isolé comme étant ce qui fait que le crypter est runtime

Code:

    <DllImport("kernel32.dll")> _
    Private Shared Function ResumeThread(ByVal hThread As IntPtr) As UInt32
    End Function
    <DllImport("kernel32.dll")> _
    Private Shared Function GetThreadContext(ByVal hThread As IntPtr, ByRef lpContext As CONTEXT) As Boolean
    End Function
    <DllImport("kernel32.dll")> _
    Private Shared Function SetThreadContext(ByVal hThread As IntPtr, ByRef lpContext As CONTEXT) As Boolean
    End Function

    <DllImport("kernel32.dll")> _
    Private Shared Function LoadLibraryA(ByVal lpLibFileName As String) As Integer
    End Function
    <DllImport("kernel32.dll")> _
    Private Shared Function CreateProcess(ByVal lpApplicationName As String, _
    ByVal lpCommandLine As String, ByRef lpProcessAttributes As SECURITY_ATTRIBUTES, _
     ByRef lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Boolean, _
    ByVal dwCreationFlags As UInt32, ByVal lpEnvironment As IntPtr, ByVal lpCurrentDirectory As String, _
   <[In]()> ByRef lpStartupInfo As STARTUPINFO, _
   <[Out]()> ByRef lpProcessInformation As PROCESS_INFORMATION) As Boolean
    End Function

    <DllImport("kernel32.dll", _
    SetLastError:=True, _
    CharSet:=CharSet.Auto, _
    EntryPoint:="WriteProcessMemory", _
    CallingConvention:=CallingConvention.StdCall)> _
 Shared Function WriteProcessMemory( _
 ByVal hProcess As IntPtr, _
 ByVal lpBaseAddress As IntPtr, _
 ByVal lpBuffer As Byte(), _
 ByVal iSize As Int32, _
 <Out()> ByRef lpNumberOfBytesWritten As Int32) As Boolean
    End Function
    <DllImport("kernel32.dll", _
SetLastError:=True, _
CharSet:=CharSet.Auto, _
EntryPoint:="WriteProcessMemory", _
CallingConvention:=CallingConvention.StdCall)> _
Shared Function WriteProcessMemoryI( _
ByVal hProcess As IntPtr, _
ByVal lpBaseAddress As IntPtr, _
ByVal lpBuffer As IntPtr, _
ByVal iSize As Int32, _
<Out()> ByRef lpNumberOfBytesWritten As Int32) As Boolean
    End Function
    <DllImport("kernel32.dll", EntryPoint:="ReadProcessMemory")> _
    Public Shared Function ReadProcessMemory(ByVal hProcess As IntPtr, _
    ByVal lpBaseAddress As Integer, _
    ByRef lpbuffer As IntPtr, _
    ByVal size As Integer, _
    ByRef lpNumberOfBytesRead As Integer) As Int32
    End Function
    <DllImport("ntdll.dll")> _
    Public Shared Function ZwUnmapViewOfSection(ByVal hProcess As IntPtr, ByVal BaseAddress As IntPtr) As Long
    End Function

    <DllImport("kernel32.dll", SetLastError:=True, ExactSpelling:=True)> _
    Public Shared Function VirtualAllocEx(ByVal hProcess As IntPtr, ByVal lpAddress As IntPtr, _
    ByVal dwSize As UInteger, ByVal flAllocationType As UInteger, _
    ByVal flProtect As UInteger) As IntPtr
    End Function
    <DllImport("kernel32", CharSet:=CharSet.Auto, SetLastError:=True)> _
    Public Shared Function VirtualProtectEx(ByVal hProcess As IntPtr, ByVal lpAddress As IntPtr, ByVal dwSize As UIntPtr, ByVal flNewProtect As UIntPtr, <Out()> ByVal lpflOldProtect As UInteger) As Integer
    End Function


es la bonne parti ou bien y en a trop ou il en manque ..?

EOF ok je voie a peu pres aussi ce que c'est mais dans un crypter son utilité ? je voie pas trop .. 


Ensuite RC4 voila dans un code ce qui pour moi correspond au cryptage RC4

Code:
Public Class rc4
    Public Shared Function rc4(ByVal message As String, ByVal password As String) As String
        Dim i As Integer = 0
        Dim j As Integer = 0
        Dim cipher As New StringBuilder
        Dim returnCipher As String = String.Empty
        Dim sbox As Integer() = New Integer(256) {}
        Dim key As Integer() = New Integer(256) {}
        Dim intLength As Integer = password.Length
        Dim a As Integer = 0
        While a <= 255
            Dim ctmp As Char = (password.Substring((a Mod intLength), 1).ToCharArray()(0))

            key(a) = Microsoft.VisualBasic.Strings.Asc(ctmp)
            sbox(a) = a
            System.Math.Max(System.Threading.Interlocked.Increment(a), a - 1)
        End While
        Dim x As Integer = 0
        Dim b As Integer = 0
        While b <= 255
            x = (x + sbox(b) + key(b)) Mod 256
            Dim tempSwap As Integer = sbox(b)
            sbox(b) = sbox(x)
            sbox(x) = tempSwap
            System.Math.Max(System.Threading.Interlocked.Increment(b), b - 1)
        End While

        a = 1

        While a <= message.Length
            Dim itmp As Integer = 0
            i = (i + 1) Mod 256
            j = (j + sbox(i)) Mod 256
            itmp = sbox(i)
            sbox(i) = sbox(j)
            sbox(j) = itmp
            Dim k As Integer = sbox((sbox(i) + sbox(j)) Mod 256)
            Dim ctmp As Char = message.Substring(a - 1, 1).ToCharArray()(0)
            itmp = Asc(ctmp)
            Dim cipherby As Integer = itmp Xor k
            cipher.Append(Chr(cipherby))
            System.Math.Max(System.Threading.Interlocked.Increment(a), a - 1)
        End While

        returnCipher = cipher.ToString
        cipher.Length = 0

        Return returnCipher

    End Function
End Class


Es que c'est bien cette parti la qui fait l'encryption? si oui je peut la collé tel quel dans tout mes crypter ?

Même question mais rinjdael dans la source saddam crypter j'isole ca

Code:
Function secure(ByVal data As Byte()) As Byte()
        Using sa As New System.Security.Cryptography.RijndaelManaged
            sa.IV = New Byte() {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7}
            sa.Key = New Byte() {7, 6, 5, 4, 3, 2, 1, 9, 8, 7, 6, 5, 4, 3, 2, 1}
            Return sa.CreateEncryptor.TransformFinalBlock(data, 0, data.Length)
        End Using

    End Function
    Public Function encrypt(ByVal message As Byte(), ByVal password As String) As Byte()
        Dim passarr As Byte() = System.Text.Encoding.Default.GetBytes(password)
        Randomize()
        Dim rand As Integer = Int((255 - 0 + 1) * Rnd()) + 1
        Dim outarr(message.Length) As Byte
        Dim u As Integer
        For i As Integer = 0 To message.Length - 1
            outarr(i) += (message(i) Xor passarr(u)) Xor rand
            If u = password.Length - 1 Then u = 0 Else u = u + 1
        Next
        outarr(message.Length) = 112 Xor rand
        Return outarr
    End Function


Es que c'est la bonne parti du code pour encrypter en rinjdael ? et si oui comme le RC4 je peux collé ca dans tout mes crypter ?



Ca m'aiderai a comprendre et je pense que ca aiderai d'autre ...

Voila si quelqu'un peu m'éclairer ca serai cool et si je peut aidé en retour Very Happy

ALIEN

Désolé pour le temps de réponse, je vais essayer de faire vite parce que je dois partir bosser.

Runpe = lancer en pré environnement.

pour le cryptage oui c'est la bonne partie et tu peux soit le copier tel quel soit en modifier une partie mais avant il faut quand même apprendre les fonction de cryptage.

Pour le code isolé ça m'a l'air bon mais je l'ai juste survolé et non testé

EOF = end of file


Revenir en haut
Publicité






MessagePosté le: Dim 11 Déc - 23:59 (2011)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre le Hack Index du Forum -> A trié Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  




Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com