Как записать в EXE из него самого - VB

Узнай цену своей работы

Формулировка задачи:

Как записать в EXE из него самого ? Можно на API, asm, С.

Решение задачи: «Как записать в EXE из него самого»

textual
Листинг программы
Dim Arr() As Byte, i%, j%, str$, FN%, pos%, find As Byte
Private Sub Command1_Click()
    pos = UBound(Arr)
    str = "!!!" & Text1.Text
    ReDim Preserve Arr(1 To pos + Len(str))
    For i = pos + 1 To UBound(Arr)
        Arr(i) = Asc(Mid(str, i - pos, 1))
    Next
    FN = FreeFile
    Open "t.exe" For Binary As #FN
        Put #FN, , Arr
    Close #FN
    Open "t.bat" For Output As #FN
        Print #FN, "del 1.exe" & vbCrLf & "rename t.exe 1.exe" & vbCrLf & "start 1.exe" & vbCrLf & "del t.bat"
    Close #FN
    Shell "t.bat"
    End
End Sub
Function Opening()
    FN = FreeFile
    Open "1.exe" For Binary As #FN
        ReDim Arr(1 To LOF(FN))
        Get #FN, , Arr
    Close #FN
    pos = UBound(Arr)
    For i = 1 To pos
        If Chr(Arr(i)) = "!" Then
            find = find + 1
        Else
            find = 0
        End If
        If find = 3 Then
            str = ""
            For j = i + 1 To pos
                str = str & Chr(Arr(j))
            Next
            Text1.Text = str
            ReDim Preserve Arr(1 To pos - 3 - Len(str))
            Exit For
        End If
    Next
End Function
Private Sub Form_Load()
    Form1.Show
    Opening
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы