![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Ребята. А как можно проверить "висит" ли в памяти моя длл или нет? И если нет то загрузить её опять? Заранее очень благодарен!
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Ты загружай, винда сама проверит. Если она загружена вернёт тебе её дискриптор или загрузит и вернёт дискриптор.
|
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Нет нет нет )))))) я имел другое. В ДРКБ нашел "убивалку" длл из памяти. А я просто не хочу чтобы против моей длл так пошли =)
|
|||
|
||||
| cemick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
||||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
о_О почему странное??? Если в ДРКБ есть "как убить" длл , а я хочу чтобы её не убивали =) Длл же привязывается к ехе. Хочется чтобы когда ехе завершалось, то и длл выгружалась, и никак иначе =)
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 1 Всего: 54 |
Даж не знаю как, но первая мысль (так, чтоб наверняка=)), ты убивай ддл-ку сам) и грузи ее снова)
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
почему? Добавлено @ 15:39 Я хозяин компа, я хозяин ОСи, я хочу выгрузить твою библиотеку из памяти, а она будет всяческих сопротивляться.... зачем мне такая программа со всем твоими библиотеками. Можно ещё предположить, что ты пытаешься написать вирус. Это сообщение отредактировал(а) Akella - 3.3.2009, 15:39 |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Ребята ))))) так смешно просто я задаю много вопросов по безопастности и все думают что я вирусню делаю ))) . Честно скажу вирус каждый из нас написал ))) всегда при изучении программирования 80% людей думают "А вот надо написать вирус" . Я тоже так думал ))))) сказал - написал. Ну протестить то надо было где то! А под рукой только свой компютер... ну чтож... спасибо )))) после формата харда и угробленой фат таблицы всякое желание писать вредоносные программки отпало ))))))
Так что не бойтесь это не вирь и не троян и т.д. Akella, да согласен. Ну так нажмите в программе на красный крестик! оО зачем убивать длл? ))) SneG0K, еммм да... вариант )))) но дело в том что длл же не просто "висит" в системе. А убивать и запускать ем...во первых будет ресурсов кушать много, если каждую секунду запускатся так, а ещё сама длл не хилая... там проверок много )))) Ребята. Или скажем чтобы при выгрузке длл чтобы мое приложение также вылетало. Как это можно сделать? |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Так и будет. Тот код, который ты видел, выгружает длл из памяти твоего (того процесса, который выполняет) длл. Этот код не позволяет выгружать длл из памяти чужого процесса. Теоретически, наверное, можно внедрить его в чужой экзешник и выгрузить длл из любого процесса, но от этого не застр###шься. Так же как и программно не застр###шься от выдёргивания кабеля питания системного блока. Если кто-то выгрузил твою длл-ку, то твоя программа не обязана работать корректно и тебе за это переживать не надо. А грубо внедряться в работу системы не этично. Добавлено через 13 минут и 59 секунд Проверять загружена ли длл. GetModuleHandle. |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Слово «застр###шься» считается не очень приличным на этом форуме.
Это сообщение отредактировал(а) Yanis - 3.3.2009, 16:14 |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: нет Всего: 2 |
Да я понимаю. Но на минутку представим что я делаю систему банкомата. Теперь представим... каждый человек подходит и снимает деньги... он не думает о безопасности. Приходит человек который хочет ограбить этот банкомат. И тут он выгружает мою длл из системы. Защита падает... он забирает себе деньги... после этого мы будем думать о этичности? )))) так кто же поступит не этично? Я когда грубо "ворвусь" в систему и не дам никому выгрузить длл из неё (пока не закроется главное приложение), или злоумышленник? Который заберет все деньги?
Просто я хочу только одного =) чтобы посторонние процессы не влияли на мою длл. Читал что ехе файлу можно дать права системы и тогда закрыть его будет то ли не возможно, то ли просто сложно... вот мне бы что то такое для длл. Т.к. ребята. Нынче юзер всегда прав. И даже в тех местах когда у юзера руки из попы или это просто хацкер, то не прав в первую очередь программист которое это допустил. Ведь я думаю лучше скажем в поле для ввода цифр позволить вводить только цифры, чем написать красным цветом "Тут вводить ТОЛЬКО цифры!". Мы же знаем когда нибудь кто то введет букву... и получит еррор... и скажет "эта программа плохая!" . Всё это называется "краш тест" когда программу просто проверяют на устойчивость. Ведь я думаю лучше щас это исправить, чем сидеть и думать "упадет\не упадет" ... Я просто не люблю "hot fix" я стараюсь сделать программу так чтобы она на 99% была без всяких глюков и оплошностей. Ребята да даже не грубо внедрятся... а просто как то убивать главный процесс когда кто то лезет к длл. Так сделать можно? |
|||
|
||||
| cemick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
молодо-зелено....
HINSTANCE hinstDll = GetModuleHandle("MyLib"); // подразумевается расширение .dll if (hinstDll == NULL) { hinstDll = LoadLibrary("MyLib"); Только ты всеравно не сможешь уберечь твои dll... Да и вообще не твоя это забота, что кто то убивает dll(всеравно найдется другой способ обойти защитуу, причем менее затратный), а забота админов настройки защиты системы... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
||||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 1 Всего: 54 |
ты можеш например, не сопротивляться, а при вызове функции из длл проверять, не убита ли она... если убита, знач сказать пользователю, что кто-то или что-то выгрузило длл. и спросить:" А не загрузить ли ее снова?". Желательно еще с галоской запомнить)
|
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |