Russian Qt Forum
Октябрь 01, 2024, 20:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: WinAPI запуск файла с памяти и перехват API  (Прочитано 15733 раз)
bixbit
Гость
« : Апрель 12, 2012, 21:20 »

Есть файл
нужно открыть файл ы изменить в нем даные (например сделать xor для файла)
ы не сохраняя даные в входящий файл, а в идеале не сохрання на диск запустить на исполнение ассоциированой прогарммой
пробовал експерементировать с времеными файлами ы проекцией файла в память, но не добился результата (не смог запустить файл имея только хендл)
« Последнее редактирование: Апрель 18, 2012, 20:23 от bixbit » Записан
V1KT0P
Гость
« Ответ #1 : Апрель 12, 2012, 21:25 »

Есть файл
нужно открыть файл ы изменить в нем даные (например сделать xor для файла)
ы не сохраняя даные в входящий файл, а в идеале не сохрання на диск запустить на исполнение ассоциированой прогарммой
пробовал експерементировать с времеными файлами ы проекцией файла в память, но не добился результата (не смог запустить файл имея только хендл)
RAM disk спасет тебя =).
Записан
bixbit
Гость
« Ответ #2 : Апрель 12, 2012, 21:55 »

RAM disk спасет тебя =).
так он смонтирует раздел, но проблема останется
или я не так понял?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Апрель 13, 2012, 11:11 »

записывай временный файл
Записан
bixbit
Гость
« Ответ #4 : Апрель 13, 2012, 16:12 »

записывай временный файл
я уже делал так, но как мне его запустить на выполнение имея HANDLE?
тоесть мне нужно, чтоб файл нельзя был открыть в другой программе пока моя программа запущена, но можно было б передать на исполнение конткретной программе только для чтения
« Последнее редактирование: Апрель 13, 2012, 16:21 от bixbit » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Апрель 13, 2012, 16:25 »

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

Если уж все равно придется копаться в WinAPI, то есть смысл посмотреть: LoadModule/LoadLibrary имеет возможность (одну из опций) грузить но не выполнять. Может там удастся проскочить (хотя шансов мало)
Записан
V1KT0P
Гость
« Ответ #6 : Апрель 13, 2012, 17:34 »

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

Как уже тебе сказали ты можешь через права ограничить доступ к файлу. Другое дело что той программе которой подсунешь может отказаться его принимать если захочет с доступом на чтение. Ты просто хочешь чего-то странного.
Чем тебе не нравится писать в RAM диск с одним и тем-же именем? Если ты хочешь реверснуть программа или протокол то лучше используй IDA, OllyDbg и т.д. А то впечатление складывается что ты хочешь "удалить зуб через жопу".
Записан
bixbit
Гость
« Ответ #7 : Апрель 13, 2012, 17:52 »

Ну извращаться с правами доступа, запускать все равно через имя файла.
да я уже понял что через хендл не получится(
Если уж все равно придется копаться в WinAPI, то есть смысл посмотреть: LoadModule/LoadLibrary имеет возможность (одну из опций) грузить но не выполнять. Может там удастся проскочить (хотя шансов мало)
LoadModule/LoadLibrary не подошли The parameter is incorrect/The process cannot access the file because it is being used by another process
может в сторону хуков надо смотреть?
Как уже тебе сказали ты можешь через права ограничить доступ к файлу. Другое дело что той программе которой подсунешь может отказаться его принимать если захочет с доступом на чтение. Ты просто хочешь чего-то странного.
Чем тебе не нравится писать в RAM диск с одним и тем-же именем? Если ты хочешь реверснуть программа или протокол то лучше используй IDA, OllyDbg и т.д. А то впечатление складывается что ты хочешь "удалить зуб через жопу".
как именно организовать ограничение прав?
я не совсем поимаю роботу с рам диском

так ничего станного я не хочу
надо открыть файл
разшыфровать его и не сохрання в первичный запустить асоциированой програмой
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Апрель 13, 2012, 18:13 »

LoadModule/LoadLibrary не подошли The parameter is incorrect/The process cannot access the file because it is being used by another process
Что-то слишком быстро они "не подошли". Удастся запустить или нет - но как минимум загрузка должна пройти без ошибки. Откуда взялся тот "another process"? Что-то не так
Записан
V1KT0P
Гость
« Ответ #9 : Апрель 13, 2012, 18:16 »

Ну извращаться с правами доступа, запускать все равно через имя файла.
да я уже понял что через хендл не получится(
Если уж все равно придется копаться в WinAPI, то есть смысл посмотреть: LoadModule/LoadLibrary имеет возможность (одну из опций) грузить но не выполнять. Может там удастся проскочить (хотя шансов мало)
LoadModule/LoadLibrary не подошли The parameter is incorrect/The process cannot access the file because it is being used by another process
может в сторону хуков надо смотреть?
Как уже тебе сказали ты можешь через права ограничить доступ к файлу. Другое дело что той программе которой подсунешь может отказаться его принимать если захочет с доступом на чтение. Ты просто хочешь чего-то странного.
Чем тебе не нравится писать в RAM диск с одним и тем-же именем? Если ты хочешь реверснуть программа или протокол то лучше используй IDA, OllyDbg и т.д. А то впечатление складывается что ты хочешь "удалить зуб через жопу".
как именно организовать ограничение прав?
я не совсем поимаю роботу с рам диском

так ничего станного я не хочу
надо открыть файл
разшыфровать его и не сохрання в первичный запустить асоциированой програмой

А ну теперь хоть стала ясна задача, так бы сразу и написал что хочешь обеспечить защиту шифрованных файлов.
На WinApi могу посоветовать перехватывать функции работы с файлами и директориями. И через перехват эмулировать наличие файла, но давать доступ только тому приложению которому разрешено.
Но сразу скажу средний специалист легко перехватит расшифрованный файл. А достаточно опытные еще и разберут алгоритм расшифровки. Тут нет 100% способов защиты. Ты можешь два месяца вешать разной степени сложности защиты, а программа будет взломана за пару дней. Хорошим примером служат игры, какие защиты не вешают все взламывается.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Апрель 13, 2012, 20:00 »

разшыфровать его и не сохрання в первичный запустить асоциированой програмой
А какой смысл расшифровки данных для ассоциированого приложения? Ну напр "секретная картинка" (крутые писи-сиси) открывается для вьюера который имеет выбор сохранить ее в неск форматах. И чего добились шифрованием исходного файла?  Улыбающийся


Записан
bixbit
Гость
« Ответ #11 : Апрель 13, 2012, 20:34 »

Что-то слишком быстро они "не подошли". Удастся запустить или нет - но как минимум загрузка должна пройти без ошибки. Откуда взялся тот "another process"? Что-то не так
Да я пробовал запустить файл, уже открытый через хендл  Улыбающийся
В других случаях я б использовал ShellExecute
разшыфровать его и не сохрання в первичный запустить асоциированой програмой
А какой смысл расшифровки данных для ассоциированого приложения? Ну напр "секретная картинка" (крутые писи-сиси) открывается для вьюера который имеет выбор сохранить ее в неск форматах. И чего добились шифрованием исходного файла?  Улыбающийся
Мы б добились того, что перед запуском можно спросить пароль


А ну теперь хоть стала ясна задача, так бы сразу и написал что хочешь обеспечить защиту шифрованных файлов.
На WinApi могу посоветовать перехватывать функции работы с файлами и директориями. И через перехват эмулировать наличие файла, но давать доступ только тому приложению которому разрешено.
Но сразу скажу средний специалист легко перехватит расшифрованный файл. А достаточно опытные еще и разберут алгоритм расшифровки. Тут нет 100% способов защиты. Ты можешь два месяца вешать разной степени сложности защиты, а программа будет взломана за пару дней. Хорошим примером служат игры, какие защиты не вешают все взламывается.
Да я знаю, что идеальной защиты нет. Задание больше в целях ознакомления с системами защиты средствами API, чем в целях безопасности.
А почему просто не перехвытовать открытие, перемищение и копирование?
Читаю тут в Рихтера про хуки, но почему-то пример LastMsgBoxInfo приведеный в книжке не работает  Обеспокоенный
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #12 : Апрель 13, 2012, 20:51 »

Хмм.. ну критиковать легко, спрашивать "а как же звучит задание" и.т.п. - долгие разборки но (как правило) без всякого полезного результата.

Хорошо, а если зайти с др стороны - повесить "фильтр/хук" просто на чтение файла?  Мои познания в WinAPI давно устарели, но, по идее, это "должно быть". Вызывающий наш - делаем напр хоr (получаем хорошие данные) иначе нет.
Записан
bixbit
Гость
« Ответ #13 : Апрель 13, 2012, 21:31 »

Хмм.. ну критиковать легко, спрашивать "а как же звучит задание" и.т.п. - долгие разборки но (как правило) без всякого полезного результата.

Хорошо, а если зайти с др стороны - повесить "фильтр/хук" просто на чтение файла?  Мои познания в WinAPI давно устарели, но, по идее, это "должно быть". Вызывающий наш - делаем напр хоr (получаем хорошие данные) иначе нет.
В общих чертах задание звучит: "На любую манипуляцию файла спросить пароль. При открытии из-под другой ОС "каша" а не файл."
Такой вопрос какой самый простой вариант внедрения хука?
Записан
V1KT0P
Гость
« Ответ #14 : Апрель 13, 2012, 21:58 »

Хмм.. ну критиковать легко, спрашивать "а как же звучит задание" и.т.п. - долгие разборки но (как правило) без всякого полезного результата.

Хорошо, а если зайти с др стороны - повесить "фильтр/хук" просто на чтение файла?  Мои познания в WinAPI давно устарели, но, по идее, это "должно быть". Вызывающий наш - делаем напр хоr (получаем хорошие данные) иначе нет.
В общих чертах задание звучит: "На любую манипуляцию файла спросить пароль. При открытии из-под другой ОС "каша" а не файл."
Такой вопрос какой самый простой вариант внедрения хука?
Начни с статьи: "Ms-Rem - Перехват API функций в Windows NT (часть 1). Основы перехвата. ": http://wasm.ru/article.php?article=apihook_1
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.14 секунд. Запросов: 23.