перевод из .EXE в .TXT

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 11.01.2004 (Вс) 6:10

Поменяй расширение с exe на txt.
Щелкаешь правой кнопкой мыши на файле, выбираешь "Переименовать", вместо exe пишешь txt. И наслаждайся какой ты крутой хакер!

#HammeR#
Новичок
Новичок
 
Сообщения: 49
Зарегистрирован: 01.01.2004 (Чт) 12:09
Откуда: г.Краснодар

Сообщение #HammeR# » 11.01.2004 (Вс) 10:28

А может он имел в виду програмно?

FileCopy "C:\new.exe" , "C:\new.txt" :lol:

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 12.01.2004 (Пн) 19:56

Извини, но на ТАКОЙ вопрос ответ не кто не даст. Ибо не ясно, что тебе нужно.
Дело в том, что текст в принципе не отличается от другой двоичной информации.

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 12.01.2004 (Пн) 20:03

Человек хочет декомпиляцию и не находит. Вот и злится. Я его понимаю, сочувствую, но ничем помочь не могу. 8)

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 13.01.2004 (Вт) 1:10

Извините, но если речь идет о декомпиляции, то причем тут wav mp3 msi zip rar :?:
А декомпилировать программу в исходный текст практически невозможно, только дезассемблирование.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 13.01.2004 (Вт) 11:32

Афтар! Спасибо тебе! Ты меня просто вернул к жизни своим вопросом! :) Я уже отчаялся что либо предпринять для возвращения своего циничного чувства юмора к жизни, но тут ты явился и спас меня. За что тебе большое спасибо и две награды - за оформление топика и за ясность изложения мыслей.



ЗЫ. Подробнее бы хоть объяснил, зачем тебе ЕХЕ и ВАВ в текст переводить :)

Исходников ВБ все равно не получить, а тексты печен можно найти на www.lyricsdot.ru :lol:

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 13.01.2004 (Вт) 18:44

Ты сам-то понимаешь что тебе нужно? Уже все варианты тебе предложили. Форматы файлов, тех что на диске, в бинаром представлении ничем не отличаются. Разница только в их представлении различными программами. Например, договорились, что файлы с расширением exe будут исполняемыми, и, в соответствии с этим, обязаны иметь определённый формат. Но никто не мешает тебе открыть тот же файл в текстовом редакторе. Увидишь в нём кучу бекарасок и вкраплённый между ними текст констант. Всё что тебе для этого нужно - изменить расширение на txt.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 13.01.2004 (Вт) 20:23

Ох жуть...
Ну ладно ну тебя. Накрапал я тебе пример. Правда не пойму где такое может понадобится???

Вот:
Код: Выделить всё

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



Функция TranslateBytesToString преобразует двоичные байты в Hex-строку.
Функция TranslateStringToBytes делает наоборот

Для использования создаешь StandardEXE - проект, удаляешь форму, добавляешь модуль и пишешь в него це.

За сим все :lol:

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 14.01.2004 (Ср) 1:38

To ANDLL:
Ну ты даешь :shock: Оно тебе надо??? это похоже на перекладывание вещей с одного места на тоже самое :D
Не могу понять автора вопроса... разве ты ещё не понял что все файлы состоят из одного и того-же, пусть это exe, txt или wav! Просто текстовый файл содержит набор байт понятных для человека, exe для компьютера, wav для проигрывателя...
Например байт 1000001 в блокноте будет выглядеть как буква "A", в exe файле он же будет означать например операцию сложения а в звуковом файле частоту звука. Если всё это не укладывается в твоей голове - постарайся просто принять как неопровержимую истину. А переводить бинарный файл в текстовый всё-равно что перекрашивать забор из зеленого в зеленый!
Я кончил :D

SeRRg
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 343
Зарегистрирован: 25.11.2003 (Вт) 20:14
Откуда: Тюмень!

Сообщение SeRRg » 14.01.2004 (Ср) 10:15

Вы его не поняли. Он, наверное, так подумал, потому что
открыл в блокноте екзешник, сохранил и у него не запустилось.
Вот почему он и думает, что они разные.
P.S. я тоже раньше чуть ли не бесился, когда так получалось :)
VB - это звучит!

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 14.01.2004 (Ср) 20:19

Ну чтож, господа умные...

Если все так просто, то объясните почему код не работает???

Картинки и т.п. он пресует OK, а вот EXEшник переписывает неправильно.

В чем дело?

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 14.01.2004 (Ср) 21:04

Люди, вы меня извините, но можно ли как-нть перевести ActiveX Dll написанную на вб(знаем заранее) в код вб? или хотяб в тхт? :roll:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.01.2004 (Ср) 23:05

Короче! Вопросы декомпиляции и смежных тем уже обсуждались сто раз на old.vbstreets.ru



Кому охота - дуйте туда и читайте. Для новичков в этом вопросе скажу - ТАКОЙ ВОЗМОЖНОСТИ НЕТ.

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 15.01.2004 (Чт) 8:28

Мне кажется, что исходный вопрос связан с ресурсами, в которых и можно хранить всю запрошенную информацию.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 04.02.2004 (Ср) 17:42

Может имеется ввиду сериализация в XML?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 59

    TopList