GetPlugins Method

zombie

Client
Регистрация
14.08.2012
Сообщения
480
Благодарностей
119
Баллы
43
Код:
// get plugins
var plugins = instance.GetPlugins();
// name of first plugin
string name = "";
if (plugins != null)
{
    if(plugins.Count() > 0)
    {
        name = plugins[0].Name;
    }
}
Никак не могу обратиться к действующим плагинам и, соответственно, их спрятать.

Пробовал заменить
Код:
name = plugins[0].Name;
на
Код:
return plugins[0].Name;
- даже так ошибка :(

Что я делаю неправильно?
 

zombie

Client
Регистрация
14.08.2012
Сообщения
480
Благодарностей
119
Баллы
43

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
Так список плагинов реально подменить? А список шрифтов?
 

Dozer009

Client
Регистрация
26.11.2012
Сообщения
156
Благодарностей
6
Баллы
18
Круто прям двоём заинтересовались данным вопросом ! телепаты чт оли?)
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
Так актуально ж) https://panopticlick.eff.org/ палит шрифты еще. Если плагины и заголовки навигатора можно тупо отключить, то здесь кажись посложнее.
 

Dozer009

Client
Регистрация
26.11.2012
Сообщения
156
Благодарностей
6
Баллы
18
Код:
User Agent  
22.37+
  
5407555
    Mozilla/5.0 (Windows NT 7.0; Win64; rv:32.0) Gecko/20100101 Firefox/32.0
HTTP_ACCEPT Headers  
3.59
  
12.08
    text/html, */* gzip, deflate en-US,en;q=0.5
Browser Plugin Details  
21.37
  
2703777.5
    Plugin 0: NVIDIA 3D VISION; NVIDIA 3D Vision Streaming plugin for Mozilla browsers; npnv3dvstreaming.dll; (npnv3dvstreaming; application/mozilla-3DV-streaming-plugin; rts). Plugin 1: NVIDIA 3D Vision; NVIDIA 3D Vision plugin for Mozilla browsers; npnv3dv.dll; (JPEG-based stereo image; image/jps; jps) (PNG-based stereo image; image/pns; pns) (Multi-Picture Format image; image/mpo; mpo). Plugin 2: Silverlight Plug-In; 3.0.40818.0; npctrl.dll; (npctrl; application/x-silverlight; scr) (; application/x-silverlight-2; ).
Time Zone  
5.35
  
40.74
    -180
Screen Size and Color Depth  
4.58
  
23.94
    1280x1024x24
System Fonts  
2.3
  
4.94
    No Flash or Java fonts detected
Are Cookies Enabled?  
0.43
  
1.35
    Yes
Limited supercookie test  
0.86
  
1.81
    DOM localStorage: Yes, DOM sessionStorage: Yes, IE userData: No
у меня вот что выдал
 

Dozer009

Client
Регистрация
26.11.2012
Сообщения
156
Благодарностей
6
Баллы
18

zombie

Client
Регистрация
14.08.2012
Сообщения
480
Благодарностей
119
Баллы
43
Так я отключаю

Код:
var PluginList = instance.GetPlugins().ToList();
for (int i = 0; i < PluginList.Count; i ++){
var plugin = PluginList[i].ToString();
var regExp = new Regex(@"(?<=(^|¶)).+?(?=(¶|$))");
var item1 = regExp.Matches(plugin)[0].ToString();
var item2 = regExp.Matches(plugin)[1].ToString();
var item3 = regExp.Matches(plugin)[2].ToString();
var item4 = regExp.Matches(plugin)[3].ToString();
instance.HidePlugin(new ZennoLab.CommandCenter.PluginItem(item1,item2,item3,item4));
}
Так подключаю нужный плагин

Код:
instance.ShowPlugin(new ZennoLab.CommandCenter.PluginItem("Название","Длл","Описание","Версия"));
Так список плагинов реально подменить?
Тестировал в whoer.net - подменяется.

P.S. То ли я тупанул, то ли код в хелпе неверный.
 

zombie

Client
Регистрация
14.08.2012
Сообщения
480
Благодарностей
119
Баллы
43
Кстати, со шрифтами... можно как-то подменять, кто знает?
 

Dozer009

Client
Регистрация
26.11.2012
Сообщения
156
Благодарностей
6
Баллы
18
что то код по отключению не сработал!! хмм...

и по включению ...
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
  • Спасибо
Реакции: zombie

zombie

Client
Регистрация
14.08.2012
Сообщения
480
Благодарностей
119
Баллы
43

Dozer009

Client
Регистрация
26.11.2012
Сообщения
156
Благодарностей
6
Баллы
18
просто тот код что выше вставляю в виджет и запускаю

что за символы в рег выражении ^|¶

вот что пишет...
для кода
Код:
instance.ShowPlugin(new ZennoLab.CommandCenter.PluginItem("DRR","edit.dll","descrption","v5.0"));
Код:
Тип    Время    Сообщение
    21:03:07    Компиляция кода  Ошибка в действии "CS1061" ""ZennoLab.CommandCenter.Instance" не содержит определение для "ShowPlugin". Не удалось найти метод  расширения "ShowPlugin", принимающий первый аргумент типа "ZennoLab.CommandCenter.Instance"  (пропущено использование директивы или ссылка на сборку?)". [Строка: 2; Cтолбец: 10]
Код:
Тип    Время    Сообщение
    21:03:07    Компиляция кода  Ошибка в действии "CS0234" "Имя типа или пространства имен 'PluginItem' отсутствует в пространстве имен 'ZennoLab.CommandCenter' (пропущена ссылка на сборку?)". [Строка: 2; Cтолбец: 48]
 
Последнее редактирование:

zombie

Client
Регистрация
14.08.2012
Сообщения
480
Благодарностей
119
Баллы
43
Не
Код:
^|¶
, а
Код:
это просто разделитель, которым у меня разделяется содержимое о плагине.
А вообще, по-моему, вам нужно обновиться - это всё доступно, насколько я знаю, с версии 5.8.0.0
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Ребят, а что в плагинах интересного то? Приведите хоть один пример)
 

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 812
Благодарностей
1 187
Баллы
113

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113
вот пытаюсь подключить плагин:
в обычном браузере он виден так:
Код:
Shockwave Flash; Shockwave Flash 18.0 r0; pepflashplayer.dll; (Shockwave Flash; application/x-shockwave-flash; swf) (FutureSplash Player; application/futuresplash; spl)
а если его подключаю через зенно:
Код:
instance.ShowPlugin(new ZennoLab.CommandCenter.PluginItem("Название","Длл","Описание","Версия"));
то получаю:
Код:
Shockwave Flash; (Shockwave Flash; application/x-shockwave-flash; swf) (FutureSplash Player; application/futuresplash; spl); pepflashplayer.dll;.
получается нестандартный вывод инфы + нет версии - так и должно быть?
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113
и еще получается что подключенные плагины не сохраняются вместе с профилем
Вопрос как тогда сними работать? к каждому профилю нужно еще сохранять список его плагинов, и при каждом заходе нужно их подключать ?
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113
так еще вопрос - почему не отключаются плагины - экшен отключения стоит
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
"Загрузка плагинов в том же окне" - это другое. Вам нужен пункт Flash/Java/Silverlight в том же экшене, либо

Код:
var PluginList = instance.GetPlugins().ToList();
for (int i = 0; i < PluginList.Count; i ++){
var plugin = PluginList[i].ToString();
var regExp = new Regex(@"(?<=(^|¶)).+?(?=(¶|$))");
var item1 = regExp.Matches(plugin)[0].ToString();
var item2 = regExp.Matches(plugin)[1].ToString();
var item3 = regExp.Matches(plugin)[2].ToString();
var item4 = regExp.Matches(plugin)[3].ToString();
instance.HidePlugin(new ZennoLab.CommandCenter.PluginItem(item1,item2,item3,item4));
}
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
Тут еще проблема в том, что правильно отображаются только те плагины, которые есть в системе.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
а если его подключаю через зенно:
Код:
instance.ShowPlugin(new ZennoLab.CommandCenter.PluginItem("Название","Длл","Описание","Версия"));
то получаю:
Код:
Shockwave Flash; (Shockwave Flash; application/x-shockwave-flash; swf) (FutureSplash Player; application/futuresplash; spl); pepflashplayer.dll;.
получается нестандартный вывод инфы + нет версии - так и должно быть?
а какие значения у вас?
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
Я вот тоже пробую подключить плагин, допустим, Adobe Reader. Если версия эмулируемого плагина совпадает с версией плагина в системе, то определяется как положено, вместе с MIME-типами и т.п. А если не совпадает, то отображается лишь строчка с описанием и версией (уникальность браузера в этом случае - 1 на 5,5 миллионов), и некоторые хитрющие сайты весьма легко это дело секут. Получается, для того чтобы эмулировать различные версии, нужно еще и подменять dll-файлы на файлы с необходимой версией?
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113
ну так вот
Shockwave Flash; Shockwave Flash 18.0 r0; pepflashplayer.dll; (Shockwave Flash; application/x-shockwave-flash; swf) (FutureSplash Player; application/futuresplash; spl)
но дело в том что его нет в системе и поэто наверно он неправильно отображается
 

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
Код:
var PluginList = instance.GetPlugins().ToList();
for (int i = 0; i < PluginList.Count; i ++){
var plugin = PluginList[i].ToString();
var regExp = new Regex(@"(?<=(^|¶)).+?(?=(¶|$))");
var item1 = regExp.Matches(plugin)[0].ToString();
var item2 = regExp.Matches(plugin)[1].ToString();
var item3 = regExp.Matches(plugin)[2].ToString();
var item4 = regExp.Matches(plugin)[3].ToString();
instance.HidePlugin(new ZennoLab.CommandCenter.PluginItem(item1,item2,item3,item4));
}
Зачем так извращаться? существующие плагины можно вот так спрятать.
C#:
var PluginList = instance.GetPlugins().ToList();
for (int i = 0; i < PluginList.Count; i ++){
    instance.HidePlugin(PluginList[i]);
}
про mime тип плагинов посмотрим.
 

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
со шрифтами отдельный гимор, т.к. они через Flash берутся и там надо перекраивать системные вызовы.
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 730
Баллы
113
хмммм.... надо попробовать, возможно даже не реестр, а папку c:\windows\fonts эмулиривать.
 
  • Спасибо
Реакции: Wzor, Dozer009 и rostonix

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)