Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 401
1

Запустить файл в оперативной памяти

19.03.2009, 14:38. Просмотров 1444. Ответов 2
Метки нет (Все метки)

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

З.Ы. в принцыпе если кто-то предложит другую логику работы приложения, я рассмотрю тоже с удовольствием)) начать реализовывать я планирую в эти выходные, счас пока собираю недостающие мне для этого знания +)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2009, 14:38
Ответы с готовыми решениями:

временный файл в оперативной памяти
Можно ли создать временный файл ! в оперативной памяти !, чтобы во время исполнения приложения в...

Есть ли способ запустить программу, ограничив время ее выполнения и потребность оперативной памяти?
Подскажите пожалуйста, есть ли способ из cmd запустить программу, при этом ограничив время...

Создать файл отчета по оперативной памяти
Прошу помощи В зависимости от введенной с экрана буквы создать файл отчета по оперативной памяти с...

Как извлечь файл из оперативной памяти?
На одном из сайтов есть около 100 страниц с апплетами Ява (расчеты в электронике) Из них только 6...

2
Gretskiy
20.03.2009, 14:32 2
Цитата Сообщение от Varlock Посмотреть сообщение
разработать програмку, обеспечивающую защиту любого другого приложения от копирования при помощи юсб ключа. Т.е. некоторая другая програмка должна запускаться только при наличии вставленной флешки с ключевым файлом.
Начнем с того, что юсб ключ!=флешке с ключевым файлом. Это совсем другое устройство. Юсб флешка с файлом - ущербный вариант с точки зрения безопасности, потому как может быть скопирована за десяток секунд. Если это исключительно учебная работа - так и быть, принимаем что надо флешка с файлом-ключем.

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

1. Проверяешь все removable диски на наличие у них по известному пути файла с предопределенным именем.
2. Не находишь - выкидываешь текст, что нефиг запускать без ключа и выходишь.
3. Проверяешь правильность ключа по твоему алгоритму.
4. Ключ неправильный - выкидываешь текст, что нефиг подсовывать лжеключи и выходишь
5. Делаем, что надо.

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

Как-то так
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 401
23.03.2009, 18:55  [ТС] 3
Цитата Сообщение от Gretskiy Посмотреть сообщение
Твоя идея понятна, но как-то все затянуто, можно проще.
Есть одна программа, которая должна что-то делать при наличии файлика и она же проверяет его правильность.
Собственно с одной стороны предложенное вами, конечно проще, но идея к сожалению не моя... от нас, насколько я понял со слов препода, хотят именно оболочку для защиты произвольной программы. Т.е. наша программа не сама должна запускаться при наличии ключа (это совсем халява), а должна обеспечивать защиту произвольного стороннего приложения(которое храниться в зашифрованном виде. наличие шифрования "полезного" кода тоже обязательное условие... над защитой кода самой оболочки разрешили не париться). Задание конечно чисто учебное, поэтому такие тонкости, как неравенство юсб с ключевым фалом и токена, мы опускаем, как и проверку наличия ключа в течении работы программы, нам даже разрешили опустить проверку всех съёмных носителей - сделать обращение по заранее забитому адресу(заранее изестно на какоймашине будем проверять работоспособность), и если там ничего нет, то отвечать отказом ))
поэтому мой вопрос остаётся в силе - как залить бинарник из некоторого массива в ОП и запустить его на исполнение?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2009, 18:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Файл подкачки вместо оперативной памяти
Ребята, помогите! Доживаю последние деньки на XP, постоянно сложности в работе. Работаю в After...

Файл подкачки только при 75% загрузки оперативной памяти
Как можно сделать , чтобы всё хранилось в опиративной памяти не используя файл подкачки, и как...

Как загрузить на сервер файл из оперативной памяти, не сохраняя его на диск?
Как загрузить на сервер файл из оперативной памяти, не сохраняя его на диск?

Использование оперативной памяти (вылетают игры из-за нехватки памяти)
Перезагружаю комп, играю часа 3-4 и вся память пропадает куда-то в результате чего игры...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.