Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
Модератор
Эксперт .NET
 Аватар для Yury Komar
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268

Сохранить и прочитать данные напрямую в/из EXE файла

07.02.2014, 20:59. Показов 5212. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно —сохранить и прочитать данные напрямую в/из EXE файла минуя всякие дополительные файлы жля сохранения настроек и конечно же реестр...
Чтобы, когда приходится таскать программку с компа на комп, носить только одиг файл а не папку с кучей внутри...
Вобщем всякие там альтернативы типа SFX архивов меня не устраивают... Мне нужен именно этот вариант...

Мини описание:
========================
Ha Form_Unload запустится BAT-ник и удалится оригинал EXEшника, заменяя его нашим файлом с дописанными в него данными.

ЗАДАЧА ТАКОВА: Мне необходимо дописать в ЕХЕшник — сгенерированный .INI файл с какими лиобо параметрами. - это всё получается....
Но как этот мой .INI файл оттуда выковырять и прочитать - незнаю...
Открыть файл как For Input as #<номер> не получается почему-то...

PS: при первом запуске ЕХЕшника программа скидывает в реестр свой изначальный размер файла чтобы знать где его конец и от этого конца уже считать наши данные постоянно... хотя ренстр можно опустить так как при переносе с уже сохраненными параметрами прога их просто не прочтет. Вобщем проблема не в этом. А в том как выдернуть мою часть текста из файла EXE.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.02.2014, 20:59
Ответы с готовыми решениями:

Как прочитать exe файл, а затем сохранить его?
подскажите как прочитать exe файл, затем хранить его как некий набор символов, а затем восстановить файл из этих данных пробовал...

Сохранить данные о книге в файл и прочитать
Данные о книге представлены в виде записи с тремя полями: автор, название и количество. Нужно записать данные в типизированный файл, а...

Как сохранить и прочитать из файла содержание всего ListView
Привет всем))) Помогите с кодом не могу написать что бы: SUBItems в listView сохранялось в месте с items: Dim path As String =...

41
 Аватар для dzug
695 / 236 / 18
Регистрация: 17.01.2011
Сообщений: 583
Записей в блоге: 1
10.02.2014, 16:55
Студворк — интернет-сервис помощи студентам
Вот тема на эту тему, извините за каламбур:

Как вставить внешнюю программу в свой ехе'шник
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
12.02.2014, 01:23
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Готовые решения и полезные коды на Visual Basic 6.0
2
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
12.02.2014, 16:46
Цитата Сообщение от The trick Посмотреть сообщение
Готовые решения и полезные коды на Visual Basic 6.0
Молодец, Анатолий, ..вот! самое оно то и есть, что надо, я рад что попал на этот форум, и обнаружил столь полезную статью

Добавлено через 1 минуту
Скачал, и накопировал у себя чтоб ничего не не потерялось

Добавлено через 14 часов 27 минут
Анатолий, а что если сделать так:
все файлы пришить
<Стартовый Exe><Командный сценарий с фикс-ым размером><Основной Exe><дополнительные файлы>
а в памяти запустить Командный сценарий и Основной Exe

Добавлено через 10 минут
Тоесть, на диск скопируются только дополнительные файлы
всем этим займётся командный сценарий, который проверит скопирует на диск,
зарегестрирует, и передаст управление основному Exe ?
1
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
12.02.2014, 22:07
Можно по-разному сделать, трабла будет с запуском EXE. У любой VB6 программы есть секция импорта и загрузчик изначально, еще до запуска этого EXE проходит и загружает нужные библы. Для VB6 обязательно должна быть msvbvm (про системные само-собой). Также сама msvbvm импортирует функции из других библиотек, и загрузчик их тоже грузит. Правильно ты говоришь, надо запускать стартовый EXE, но он не должен быть привязан к не системным библиотекам, на VB6 в принципе это можно сделать, если пропатчить EXE, но это будет очень ограниченный код, даже ограниченней чем без инициализации рантайма. Смысла в этом нет особого, только если для себя делать в качестве тренировки. Самое интересное начнется с запуском EXE из памяти, в принципе можно в своем же EXE все поменять, загрузить библиотеки, настроить релоки, все инициализировать и перейти в Entry point, можно в SUSPEND-mode запустить тот же cmd, и поменять ему кишки, также предварительно загрузив библы и передать управление в EntryPoint. Вариант - писать свой загрузчик, других я пока не вижу. И не важно где его делать в своем АП или чужом. Траблы с релоками могут быть.
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
12.02.2014, 22:28
Спасибо за подробное и нормальное изложение

ну пришиваемые файлы могут быть и не в такой последовательности
я исходил из своих доводов, как их лучше рассположить
причем может быть еще и такой вариант
<Стартовая><Фиксированная Cmd><Сжатые EXE и прочие файлы>

Добавлено через 8 минут
не слишком пере-мудрил ?
мне кажется получится супер троян
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
12.02.2014, 22:35
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
не слишком пере-мудрил ?
мне кажется получится супер троян
Я не люблю хранить файлы где-то в конце файлов и т.п. Я храню всегда в ресурсах, просто это очень удобно и можно в любом редакторе просмотреть содержимое. Основной EXE должен быть распаковщиком
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
12.02.2014, 23:25  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Я храню всегда в ресурсах
а я в ресурсе хранил ocx компонент и выдергивал его и регил во время инициализации формы... выдавала ошибку. при следующем запуске все запускалось...
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
12.02.2014, 23:26
Цитата Сообщение от Юрий Комар Посмотреть сообщение
а я в ресурсе хранил ocx компонент и выдергивал его и регил во время инициализации формы... выдавала ошибку. при следующем запуске все запускалось...
Я уже написал почему так бывает.
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
12.02.2014, 23:31
4-х байтное выравнивание

Добавлено через 2 минуты
The Trick тоесть длина хранения файла должна быть кратной 4, верно ?
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
12.02.2014, 23:33
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
4-х байтное выравнивание Добавлено через 2 минуты The Trick тоесть длина хранения файла должна быть кратной 4, верно ?
Нет, ресурс должен быть кратен 4 байтам, но не сам файл в ресурсе. Просто 1-м DWORD'ом нужно хранить длину файла, а ресурс сам изменяет размер как надо. Но у него не из-за этого не работало, а из-за причины описанной в посте про загрузчик.
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
12.02.2014, 23:38
вот нашол еще инфу, думаю будет очень даже в тему
Некорректная распаковка ресурсов проекта
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
12.02.2014, 23:39  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Я уже написал почему так бывает.
Toest' budet proshe snachala Registratsiyu provesti chtob ne muchit'sy...
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
12.02.2014, 23:47
да, Ocx нужно регестрировать

вот пример как это производится из командной строки
только формат записи должен быть OEM (досовский)
тихая регистрация:
Bash
1
2
3
4
5
@Echo Off
CLS
 
regsvr32 /s "C:\Program Files\Информационные технологии\MyBut.ocx" 
regsvr32 /s "C:\Program Files\Информационные технологии\LibHELP.dll"
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
12.02.2014, 23:51  [ТС]
Цитата Сообщение от Юрий Комар Посмотреть сообщение
Я уже написал почему так бывает.
Da, no eto tol'ko pri pervom zapuske, v moment pervogo zapuska ona ego kopiruet i registriruet - a na vtorom zapuske vse rabotaet kak nado

Добавлено через 1 минуту
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
да, Ocx нужно регестрировать
kak eto delaetsya ya znayu. No kak pri starte EXE sperva zaregistrirovat', a potom uzhe gruzit' progu s uzhe imeyushimsya v sysyteme OCX ili DLL?
0
12.02.2014, 23:52

Не по теме:

Цитата Сообщение от Юрий Комар Посмотреть сообщение
Toest' budet proshe snachala Registratsiyu provesti chtob ne muchit'sy...
я вас понял транслитерировал это
Если получится Тоесть будет проще сначала Регистратцию провести чтоб не мучиться

0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
12.02.2014, 23:54
Цитата Сообщение от Юрий Комар Посмотреть сообщение
a, no eto tol'ko pri pervom zapuske, v moment pervogo zapuska ona ego kopiruet i registriruet - a na vtorom zapuske vse rabotaet kak nado
Конечно, так как при первом запуске она еще не зарегистрирована. Чтобы работало при первом запуске можно сделать проще, используя динамические загрузку и размещение ActiveX контролов. Смотри как я тут размещал CommonDialog Control и ToolBar, таким способом ты можешь загружать контролы, предварительно зарегистрировав их. Главное зарегистрировать до использования и создания.
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
12.02.2014, 23:56
Цитата Сообщение от Юрий Комар Посмотреть сообщение
как ето делаетсyа yа знаyу. Но как при старте ЕXЕ сперва зарегистрироват', а потом уже грузит' прогу с уже имеyушимсyа в сyсyтеме ОCX или ДЛЛ?
ты в том же батнике можеш и дописать Start "" "Имя программы"

произведется регистрация и запуск, вот мы с The Trick- ом об этом и говорим
когда я упомянул фиксированный Cmd
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
12.02.2014, 23:57  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
CommonDialog Control и ToolBar, таким способом ты можешь загружать контролы, предварительно зарегистрировав их.
to est' mozhno na druguyu formu perekinut', kotoraya eshe ne zagruzhena?
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
12.02.2014, 23:58
Цитата Сообщение от Юрий Комар Посмотреть сообщение
to est' mozhno na druguyu formu perekinut', kotoraya eshe ne zagruzhena?
Это не важно. Ты код сначала посмотри.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268
13.02.2014, 00:07  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Это не важно. Ты код сначала посмотри.
toest' na moment INITIALIZE etix kontrolov prosto net na forme - tozhe variant... poetomu ne rugaetsya?
Visual Basic
1
2
3
4
5
6
7
8
9
10
 Licenses.Add "MSComctlLib.ToolBar"
    Licenses.Add "MSComDlg.CommonDialog"
    Set Tbr = Me.Controls.Add("MSComctlLib.ToolBar", "tbr")
    Set Img = Me.Controls.Add("VB.Image", "img")
    Set Lst = Me.Controls.Add("VB.ListBox", "lst")
    Set Cdlg = Me.Controls.Add("MSComDlg.CommonDialog", "cdlg")
    Tbr.object.Buttons.Add(, , "Предыдущий", tbrButtonGroup).Value = tbrPressed
    Tbr.object.Buttons.Add , , "Cледующий", tbrButtonGroup
    Tbr.object.Buttons.Add , , "Добавить", tbrDefault
    Tbr.object.BorderStyle = vbFixedSingle
vot tut - oni poyavlyautsya tolk'ko v moment zagruzki from1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2014, 00:07

Как прочитать иконки из ресурсов exe файла?
Как прочитать иконки из ресурсов exe файла. Например как проводник Windows находит первую иконку в файле.

Нужно сохранить и прочитать динамический массив структур из бинарного файла
struct city{ char name_city; char metro; int year_city; int naselenie; };

Как сохранить список в бинарный файл, и затем прочитать его из файла?
как сохранить список в бинарный файл, и затем прочитать его из файла???

Прочитать данные из файла.
Программисты помогите пожалуйста. не могу разобраться с задачей. Конкретнее, не могу прочесть данные вещественного типа в переменную...

Прочитать данные из файла
Есть файл, созданный в программе PRO100. в котором хранится описание 3D модели мебельного изделия (корпусная мебель). Подскажите как мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru