Поменяй расширение с exe на txt.
Щелкаешь правой кнопкой мыши на файле, выбираешь "Переименовать", вместо exe пишешь txt. И наслаждайся какой ты крутой хакер!
Const FILE_BINARY = "Какой-то двоичный файл(уже есть)"
Const FILE_TEXT = "Какой-то текстовый файл(куда будем писать)"
Option Explicit
Sub main()
Dim btArray() As Byte, str As String
MsgBox "Начинаем писать текст"
'==Читаем двоичный, пишем - текст...
Open FILE_BINARY For Binary As #1
ReDim btArray(LOF(1) - 1)
Get #1, , btArray
str = TranslateBytesToString(btArray)
Close #1
Open FILE_TEXT For Output As #1
Print #1, str
Close #1
MsgBox "Текст записан!" & vbCrLf & "Делаем все в обратном порядке"
str = ""
'==Читаем текст, пишем - двоичный...
Open FILE_TEXT For Input As 1
Line Input #1, str
Close #1
TranslateStringToBytes str, btArray
Open FILE_BINARY & "(copy)" For Binary As #1
Put #1, , btArray
Close #1
MsgBox "Готово!"
End Sub
'==TranslateBytesToString - функция возвращает строку, а обрабатывает байтовй массив
Public Function TranslateBytesToString(ByRef bt() As Byte) As String
Dim I As Long
Dim rt As String
rt = Space(UBound(bt) * 2 + 1)
For I = 0 To UBound(bt)
Mid(rt, I * 2 + 1, 2) = IIf(bt(I) < &H10, "0", "") & Hex(bt(I))
Next
TranslateBytesToString = rt
End Function
'==TranslateStringToBytes - функция обрарбатывает строку, а результат помещает в массив bt
Public Sub TranslateStringToBytes(ByVal vl As String, ByRef bt() As Byte)
Dim I As Long
ReDim bt(Len(vl) \ 2 - 1)
For I = 0 To UBound(bt)
bt(I) = CByte("&H" & Mid(vl, (I * 2) + 1, 2))
Next
End Sub
Сейчас этот форум просматривают: Yandex-бот и гости: 49