![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Доброго дня.
Не когда не стояло такой задачи, но тут она встала. Нужно модифицировать свой EXE. На ХР как то писал самоудаление помогала функция UnmapViewOfFile(0х400000); //при штатном распределении памяти CloseHandle(4); Но в семерке встала проблема с данными действиями. Уже в место UnmapViewOfFile пробовал FreeLibrary возвращает 1. Взял программу HANDLE не одного открытого дескриптора с данным файлом не нашел да и с другими приложениями тоже. Кто по глубже знает систему. Ведь при старте процесса он открывается с помощью CreateFile, потом отображается в память. Должны быть дескрипторы. За ранее спасибо. |
|||
|
||||
_zorn_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Что это за набор мыслей ? Я где то когдато что делал ?
Озвучь проблему. Что хочешь сделать и что не получается. |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Прошу прощения за столь сумбурно заданный вопрос. Хочу написать счетчик запуска программы и счетчик времени работы. Не чего не пришло в голову как перезапись самого ехе файла. В системе ХР я бы воспользовался функцией: UnmapViewOfFile CloseHandle(4); Все бы сработало. Пробую данную манипуляцию на 7-ке - выходит болт. Пытаюсь найти кто держит файл в заблокированном состояние. Для данных манипуляций воспользовался утилитой HANDLE не каких десткрипторов удерживающих файл она мне не показала. Кто на момент работы приложения все таки удерживает файл приложения в заблокированном состоянии. |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
А почему обязательно экзешник? Вариант с переменной в реестре (отдельном файле и т.д.) не подходит?
Сама система и держит (делает ему memory map на чтение). Если EXE запущен, то модификация его запрещена. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
bass |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Сейчас и остановился на реестре. Система звучит как то размыто. Координаты по точнее требуются. Вот в ХР сам процесс и держал данный файл. При такой манипуляции:
Система отпускала файл, есть нюансы что при этом выгрузиться имидж самого отгружаемого модуля. Но вопрос с отгруженным куском исполняемой памяти решается. И делай все что угодно со своим файлом. Что в семерке изменилось??? |
||||
|
|||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
Скорее всего, закрыли это недоразумение. Это какой-то хакерский приём с непонятными последствиями (судя по всему, плохими). Правильно сделали, что прикрыли))) -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
disputant |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 28.11.2011 Репутация: 1 Всего: 3 |
А ведь в добрые старые времена вирусы именно так и работали...
![]() |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Короче поиски меня не к чему не привели, судя по ответам не кто мне не подскажет суть этого явления.. ))))
Будем придумывать что то... |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Process Explorer покажет, кто держит открытым дескриптор
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Не показал, все дескрипторы связанные с данным процессом закрывал и файлом. Дискрипторы открытого процесса были даже в системных процессах (Именно процесса а не файла). Закрывал все!!!!!! Выход из своей ситуации я то нашел, прикрепил ключи гуардант а здесь уже интерес разобрал. Хотел маленькую защитку от копирования сделать, файл сверяет свои временные метки перезаписывает свой модуль, одновременно уменьшает счетчик запуска. Конечно это все мертвому припарки но в библиотечке хотелось бы иметь защитку от дурака. |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
...защиту от дурака?
а чем не устраивают классические методы: http://forum.vingrad.ru/forum/topic-289403/view-all.html ? Guardant - круто, правильно! -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
Да просто со старой работы завалялись ключики...)))) Парочку оприходывал.))))Щ Стандартные методы ?????? По сути в той ветке процесс удаления файлов. А мне нужен процесс перезаписи. Через бат файл как-то данное дияние неохото совершать. Инжект встанут проблемы с АВП, длл рядом с ЕХЕ модулем. Запуск дочернего процесса не должно спровоцировать АВП. Создать виртуальный диск запихнуть из ресурсов патчЕХЕ. Запустить сторонний процесс из памяти. Есть еще вариант хукнуть стороннее приложение и далее с помощью релоков распеделить код в стороннем процессе., длл должна рядом с EXE модулем лежать. На какой метод будут срабатывать АВП пока мне не ясно. Хотел малой кровью отделаться - Ключи на разумнешее решение..)))) Только вот с флешкой еще и ключик придется вставлять, устанавливать драйвера хотя можно в HID режиме ключики запустить.. Да даже знаменитая программа UNlocker не справилась с данным заданием, уж так интересно стало чего накалякали специалисты Microsoft для совершения данной подлянки... ))))) Это сообщение отредактировал(а) bass - 27.8.2015, 17:25 |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 13 Всего: 85 |
||||
|
||||
bass |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 5.8.2007 Репутация: 2 Всего: 2 |
ProcessExplorer правда не нашел данного дескриптора. Но можно и под учетной записью системы запуститься..... Боюсь не исправит данное действие картину.... Мне кажется дело где-то глубже зарыто например в драйвере файловой системы. Это сообщение отредактировал(а) bass - 27.8.2015, 18:31 |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 9 Всего: 45 |
Боже мой, да простой if в коде unmap уровня ядра:
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |