Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2011, 19:56   #1
TriV
 
Регистрация: 07.02.2010
Сообщений: 8
По умолчанию Работа с exe файлом программы в самой программе

Здраствуйте.
Необходимо в программе реализовать проверку целостности(язык С/С++). То есть программа должна при запуске проанализировать свой exe файл. Сам анализ файла не представляет сложностей, НО как его открыть? Программа должна считать весь exe целиком и иметь возможность записать данные в оверлейм.

Обычный способ открытия (fopen) не помогает, винда блокирует доступ к файлу так как он уже используется самой программой

Единственный способ который я вижу это создание после запуска нашей программы(назовем ее 1.ехе) другой программы 2.ехе
затем первая прога запускает вторую и завершается сама.
После 2я прога проводит весь анализ и вновь запускает первую
1я теперь удаляет 2.ехе
Но у этого метода куча минусов Например если мы не имеем прав на создание файлов то все это громко рухнет

Помогите пожалуйста идею как это реализовать не прибегая к физическому созданию новых файлов. Или если это невозможно то подскажите как запустить сторонний exe файл средствами языка С++.
TriV вне форума Ответить с цитированием
Старый 10.03.2011, 22:00   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Через fopen можно открывать файл, если запрашивать доступ только на чтение.
Son Of Pain вне форума Ответить с цитированием
Старый 11.03.2011, 20:11   #3
TriV
 
Регистрация: 07.02.2010
Сообщений: 8
По умолчанию

Спасибо это уже немного легче, но мне надо записать результат анализа в конец exe файла, а для этого надо открыть для записи. Что посоветуете?
TriV вне форума Ответить с цитированием
Старый 11.03.2011, 20:28   #4
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

ну попробуйте открыть через режим "a" или "a+" или "r+" (но указатель надо будет поставить на конец)
onewho вне форума Ответить с цитированием
Старый 11.03.2011, 20:45   #5
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Цитата:
Сообщение от TriV Посмотреть сообщение
Спасибо это уже немного легче, но мне надо записать результат анализа в конец exe файла, а для этого надо открыть для записи. Что посоветуете?
Если в конец этого же файла, то возможно у Вас ничего не выйдет.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook

Последний раз редактировалось xwicked; 11.03.2011 в 20:51.
xwicked вне форума Ответить с цитированием
Старый 11.03.2011, 21:06   #6
TriV
 
Регистрация: 07.02.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение
ну попробуйте открыть через режим "a" или "a+" или "r+" (но указатель надо будет поставить на конец)
Файл просто не открывается. То есть в случае "r" все хорошо а при a, a+, r+ fopen возвращает NULL. Видимо создание копии и передача управления ей, а затем ее удаление - единственный вариант....
TriV вне форума Ответить с цитированием
Старый 11.03.2011, 22:08   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

TriV, да, по сути это так.
На форуме был пример соответствующего кода, поищите...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать ссылку для открывания сайта в webbrowser самой программы , а не обычных браузерах gefest58 Общие вопросы Delphi 1 14.11.2010 22:44
Узнать название exe файла программы из самой программы Crystallon Общие вопросы Delphi 9 09.09.2010 16:22
Из программы 1.exe создаем пустой файл 2.exe. Как из программы 1 внести API функции в программу 2? X-LEV-X Общие вопросы Delphi 7 09.03.2010 08:33
Взаимодействие с посторонним exe файлом Anekdot Общие вопросы Delphi 1 09.09.2009 15:30
Проблемы с .exe файлом Neadekwat Паскаль, Turbo Pascal, PascalABC.NET 2 15.06.2009 13:22