Модератор
Эксперт .NET
 Аватар для Yury Komar
4378 / 3448 / 512
Регистрация: 27.01.2014
Сообщений: 6,268

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

07.02.2014, 20:59. Показов 5218. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru