Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263

Перенос программы в память и ее запуск

04.12.2013, 05:20. Показов 1814. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Может кто поможет или наставит на путь истинный. Нужно сделать следующее:
1. есть файл с данными (ini), нужно поместить его в память и там с ним выполнять действия (шифровать/расшифровывать/изменять);
2. есть основная программа, она должна переносить в память другую программу и там ее запускать;

Кто знает как это можно реализовать, или подскажите где про это можно почитать?
Просто сам пока даже не знаю как подойти к решению этих вопросов.

Заранее спасибо за ответы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.12.2013, 05:20
Ответы с готовыми решениями:

Запуск программы на оперативную память без создания файла (exe) в жесткий диск
Необходимо создать скрипт в котором будет HEX код любой программы, необходимо не создавая файл запустить его. У меня имеется пример...

Запуск программы без создания окна. Запуск фоновой программы
Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли. Т.е. запустился процесс, но визуально ничего не...

Запуск студией и запуск самой виндой. Разница работы программы
Итак, проблема такова: есть проект, который замечательно работает при нажатии F5 в студии. При компиляции в релиз-режиме и запуске...

16
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
04.12.2013, 09:26
TStringList, TIniFile, TMemIniFile, CreateProcess
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
04.12.2013, 09:32
Вдогонку к первому пункту: INI - Загрузка и сохранение настроек
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
04.12.2013, 11:02
Цитата Сообщение от AlexAngel Посмотреть сообщение
1. есть файл с данными (ini), нужно поместить его в память и там с ним выполнять действия (шифровать/расшифровывать/изменять);
- использовать fstream , взять в него файл (ini), записать в буфер (char*), обрабатывать... .
Цитата Сообщение от AlexAngel Посмотреть сообщение
2. есть основная программа, она должна переносить в память другую программу и там ее запускать;
- такой подход в принципе не верен... - перед запуском любой программы в ОС Windows система организует ее размещение в памяти компьютера, формирует абсолютные адреса переходов и еще много чего; передать эти функции своей программе - очень самонадеянно, не зная всей "кухни" этих процедур.
0
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
04.12.2013, 13:16  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
- использовать fstream , взять в него файл (ini), записать в буфер (char*), обрабатывать... .
а можно пример?

Цитата Сообщение от nick42 Посмотреть сообщение
- такой подход в принципе не верен... - перед запуском любой программы в ОС Windows система организует ее размещение в памяти компьютера, формирует абсолютные адреса переходов и еще много чего; передать эти функции своей программе - очень самонадеянно, не зная всей "кухни" этих процедур.
Я впринципе думал так же, но как тогда шифровать файл и расшифровывать его в памяти, для дальнейшего запуска?

Добавлено через 2 минуты
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Вдогонку к первому пункту: INI - Загрузка и сохранение настроек
Как работать с INI файлами я знаю, интересует реализация следующей возможности: есть на диске шифрованный INI (пусть будет MyFile.INI). Все в этом файле перемешенно (для простоты обычным XOR). Как именно тогда считывать настройки файла, функциями работы с INI ?
0
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
04.12.2013, 13:25
AlexAngel, очевидно же, что для того, чтобы попить из бутылки, надо сначала её открыть. Сначала расшифровать ini-файл, а потом работать с ним, как с обычным ini-файлом.
0
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
04.12.2013, 13:31  [ТС]
Цитата Сообщение от c0rvax Посмотреть сообщение
AlexAngel, очевидно же, что для того, чтобы попить из бутылки, надо сначала её открыть. Сначала расшифровать ini-файл, а потом работать с ним, как с обычным ini-файлом.
Хороший ответ... Чтобы расшифровать INI-файл, его расшифрованную копию нужно где-то хранить? Тут два варианта (на мой взгляд, если не прав, то прошу поправить):
1. на диске ввиде файла
2. в памяти

Вариант №1 (на диске) не выдерживает никакой критики, так как ничего не мешает этот файл просто скопировать
а вот как реализовать вариант №2, я себе не представляю, поэтому и спрашиваю совета у мудрых людей.
0
91 / 91 / 22
Регистрация: 02.07.2013
Сообщений: 332
04.12.2013, 13:37
AlexAngel, мудрые люди уже порекомендовали считать файл в буфер, расшифровать и обрабатывать. Кстати, расшифровать на диск во временный файл, загрузить настройки и сразу файл удалить - вполне жизненный вариант.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
04.12.2013, 13:41
AlexAngel, у вас система такая (поправьте меня, если что):
Одно приложение составляет файл, шифрует его и сохраняет. Второе приложение должно этот файл взять и обратно расшифровать, чтобы считать данные. По сути вы хотите сделать передачу шифрованных данных посредством файла.
0
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
04.12.2013, 13:43  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
AlexAngel, у вас система такая (поправьте меня, если что):
Одно приложение составляет файл, шифрует его и сохраняет. Второе приложение должно этот файл взять и обратно расшифровать, чтобы считать данные. По сути вы хотите сделать передачу шифрованных данных посредством файла.
Все правильно! В самую точку! Можете подсказать как это реализуется?
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
04.12.2013, 14:07
Ну как. Берете алгоритм шифрования, которым вы зашифровывали этот файл, который зашит в первую программу, и засовываете его во вторую. Ну точнее не его, а соответственно алгоритм расшифровки. Все.

Схема будет такова:
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
04.12.2013, 14:09
Когда вторая программа загрузит шифрованный файл он уже поместится в ее область памяти.
0
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
04.12.2013, 14:16  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Ну как. Берете алгоритм шифрования, которым вы зашифровывали этот файл, который зашит в первую программу, и засовываете его во вторую. Ну точнее не его, а соответственно алгоритм расшифровки. Все.

Схема будет такова:
Вложение 336928
Я может не четко объяснил. Попробую еще раз.
Есть шифрованный ini-файл. Я должен считать его в некий буфер (как только это реализовать, чтобы функции работали для ini-файла?) В самом буфере его расшифровать и уже этот буфер подсовывать для работы с ini.

Для примера чтения из простого INI:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 
 TIniFile *Ini = new TIniFile("INICFG.ini");
 
AnsiString MyUser=Ini->ReadString("CFG","CFG1","");
AnsiString MyFirm= Ini->ReadString("CFG","CFG2","");
AnsiString MyTextVIS= Ini->ReadString("CFG","CFG3","");
AnsiString MyDateCFG= Ini->ReadString("CFG","CFG4","");
 
 
Edit1->Text = CFG1;
Edit2->Text = CFG2;
Edit3->Text = CFG3;
Edit4->Text = CFG4;
 
}
как это нужно изменить, чтобы это все работало не с самим ini-файлом, а с его шифрованной копией?
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
04.12.2013, 14:21
Цитата Сообщение от AlexAngel Посмотреть сообщение
как это нужно изменить, чтобы это все работало не с самим ini-файлом, а с его шифрованной копией?
Считывайте его как простой файл. Не ini.
0
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
05.12.2013, 08:43  [ТС]
Спасибо всем! С этим вопросам разобрался!
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
05.12.2013, 09:38
Цитата Сообщение от AlexAngel Посмотреть сообщение
С этим вопросам разобрался!
Было бы интересно узнать как.
0
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
05.12.2013, 11:02  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Было бы интересно узнать как.
Да все просто. Записываю стандартными функциями работы с INI уже шифрованные данные.
Конечно, имена переменных не шифрованы, а шифруются только данные, но думаю это уже мелочи (например что даст название переменных NN1, NN2, NN3....?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2013, 11:02
Помогаю со студенческими работами здесь

Запуск из программы с админскими привилегиями внешней программы без прав админа
Нужно в программе которая запущенна под амином запустить другую программу без прав админа.

Как удалить ссылку на запуск программы при удалении программы
Всем привет! Для установки - удаления программ использую такие пакеты как InstallShield и Advanced Installer. Они чётко справляются со...

Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт
Здравствуйте. Подскажите, как сделать "Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт." То...

Запуск файла, спроецированного в память, через стороннее приложение.
Граждане, поиск по форуму ничего не дал, поэтому не обессудьте. Текстовый файл (text.txt) спроецирован в память обычным образом....

Запуск внешней программы программы из коммнадной строки
Здравствуйте, есть программа D:\user\start.exe Как средствами excel vba вызвать командную строку и запустить программу из коммандной...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru