Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Блокировка сайтов в Windows 7 
:(
    Опции темы
snakesoft
Дата 21.7.2011, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 26.5.2007

Репутация: нет
Всего: нет



2 Чучмек

А в самом AdvApiHook.pas можно что-то изменить, чтобы в IE на семерке всё заработало?
PM MAIL   Вверх
Чучмек
Дата 21.7.2011, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



А тут уже не вAdvApiHook.pas проблема. 
С пустой Nsend IE нормально работает ?
Код

function Nsend(s: TSocket; Buf: pChar; len, flags: Integer): Integer; stdcall;
begin
  Result := Tsend(s, buf, len, flags);
end;
 
Цитата(Чучмек @  21.7.2011,  08:57 Найти цитируемый пост)
Попробуй ввести в яндексе этот самый 'google.ru'
 Проверял?



--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
snakesoft
Дата 22.7.2011, 05:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 26.5.2007

Репутация: нет
Всего: нет



2 Чучмек.

Да, с пустой NSend нормально работает.

Всё разобрался с NSend. Спасибо.

Это сообщение отредактировал(а) snakesoft - 22.7.2011, 09:29
PM MAIL   Вверх
Чучмек
Дата 22.7.2011, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Код

function Nsend(s: TSocket; Buf: pChar; len, flags: Integer): Integer; stdcall;
var ln,socktype:integer;
begin
ln:=sizeof(socktype);
if (0=getsockopt(S,SOL_SOCKET,SO_TYPE,@socktype,ln))and(socktype=SOCK_STREAM)then
  begin
  //Твой код
  end else Result := Tsend(s, buf, len, flags);
end;

Вот так должно работать.
Но учти, что блокировать надо не все запросы. 
А только ПЕРВЫЙ send в соединении.
И только вслучае если он содержит строку вида:
#13#10+'Host:google.ru'+#13#10


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Akella
Дата 22.7.2011, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Цитата(snakesoft @  20.7.2011,  15:22 Найти цитируемый пост)
В архиве прилагаю рабочий пример для Windows XP (блокирует доступ к google.ru)

даже если программа запущена от обычного пользователя?
PM MAIL   Вверх
snakesoft
Дата 22.7.2011, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 26.5.2007

Репутация: нет
Всего: нет



2 Akella
На ограниченной учётной записи не проверял. На учётной записи с правами администратора всё ОК

2 Чучмек
Ок.Понял

Это сообщение отредактировал(а) snakesoft - 22.7.2011, 13:10
PM MAIL   Вверх
Akella
Дата 22.7.2011, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Цитата(snakesoft @  22.7.2011,  13:09 Найти цитируемый пост)
2 Akella
На ограниченной учётной записи не проверял. На учётной записи с правами администратора всё ОК

Я тебе намекнул, что не работает из-за того, что винда не даёт программе достаточно прав. На семёрке нужно запрашивать повышения прав (UAC).
PM MAIL   Вверх
snakesoft
Дата 22.7.2011, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 26.5.2007

Репутация: нет
Всего: нет



2 Akella
Скажи пожалуйста, у тебя случайно нет манифеста, который можно прикрутить к своей программе, чтобы она запускалась с правами администратора в Windows 7?

Это сообщение отредактировал(а) snakesoft - 22.7.2011, 17:54
PM MAIL   Вверх
Akella
Дата 22.7.2011, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Неа. Но, думаю, что найти его через гуголь или взять у любой другой  программы не проблема.

Добавлено @ 22:41
В крайнем случае в ярлыке запуска можно включить "Запускать с правами администратора". И не путать с термином "от имени администратора".

Добавлено @ 22:49
тут есть манифест:
http://forum.oszone.net/thread-197803.html
http://krez0n.org.ua/archives/318

здесь есть примеры на дельфи, как без манифеста запросить у пользователя разрешение на поднятие прав:
http://www.delphimaster.net/view/15-1281636818/0-39
http://forum.codeby.net/topic42048.html

и это полезно:
http://windows.microsoft.com/ru-RU/windows...nch-in-Windows7

Добавлено @ 22:50
Как видишь, 10 минут в гугле и куча инфы как на ладони ;)

Добавлено @ 22:53
Цитата(snakesoft @  22.7.2011,  17:39 Найти цитируемый пост)
Скажи пожалуйста, у тебя случайно нет манифеста, который можно прикрутить к своей программе, чтобы она запускалась с правами администратора в Windows 7?

Программа не будет запущена сразу с правами админа, т.к. для начала винда покажет пользователю соответствующий запрос. И уже пользователь будет решать, запускать программу или нет smile

Кстати, ещё интересный момент. Можно сделать так, что даже если пользователь нажмёт НЕТ при запросе, то программа всё равно запуститься, но без прав админа. Не знаю как это реализовать, посмотри примеры, может там есть.
PM MAIL   Вверх
snakesoft
Дата 25.7.2011, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 26.5.2007

Репутация: нет
Всего: нет



2 Akella

Тебя понял, спасибо, поизучаю. Да, здесь дело в UAC. Кстати заметил следующую интересную тенденцию:

Если при включенном UAC запускаю свою программу - она блокирует список сайтов во всех браузерах кроме IE.
Если выключаю UAC - после перезагрузки программа блокирует сайты и в IE.

В принципе парадоксален лишь один факт. Почему при включенном UAC блокирует во всех браузерах кроме IE?

Насколько я понял IE использует Tsend, а все остальные браузеры - TWSASend, или, возможно я ошибаюсь?
Но код блокировки в функции перехвата Tsend идентичен коду в перехвате TWSASend, тогда в чём загвоздка?

И если при включенном UAC захожу в свойства -> совместимость -> уровень прав и выставляю галочку "Выполнять эту программу от имени администратора" в IE сайты не блокируются всё равно, только если отключаешь UAC перезагружаешься, тогда всё OK

На XP соответственно всё работает нормально, как в IE так и во всех других браузерах...

Это сообщение отредактировал(а) snakesoft - 25.7.2011, 03:00
PM MAIL   Вверх
Akella
Дата 28.7.2011, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 4
Всего: 329



Цитата(snakesoft @  25.7.2011,  02:57 Найти цитируемый пост)
На XP соответственно всё работает нормально, как в IE так и во всех других браузерах...

даже, если работать от имени простого пользователя?
PM MAIL   Вверх
snakesoft
Дата 28.7.2011, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 26.5.2007

Репутация: нет
Всего: нет



2 Akella

Да, специально для этого создал учетную запись с ограниченными правами и проверил.
PM MAIL   Вверх
Чучмек
Дата 29.7.2011, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



snakesoft, В таком виде (AdvApiHook),для серьезных программ, перехват WinAPI не годится.
Подключи две dll перехватывающие одну и ту же функцию...
Если у пользователя уже стоит нечто подобное(в плане перехвата WinAPI) - он удалит твою программу сразу после установки.


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.