Обсуждение версии 5.11.2.0

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 152
Благодарностей
5 809
Баллы
113
Вопросы, комментарии и предложения по новой версии 5.11.2.0.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 535
Баллы
113
[+] Добавлено ручное редактирование HTML кода BotUI.
Это означает возможность добавления и JS кода? То есть можно ли уже сейчас построить ту самую банальную зависимость во входящих настройках о которых вторит молва, когда выбрано одно значение - другое меню скрывается и т.д.

[+] Добавлена возможность подмены содержимого запросов и ответов с помощью методов ChangeRequest и ChangeResponse.
Верно ли я понимаю, что это то о чём я когда-то писал, но только без брейкпоинтов?
То есть теперь перед отправкой определенного запроса браузером, можно подменить отправляемые данные?
Если это действительно так, то это...

[+] Улучшенная обработка подключений подробности читайте в этой статье.
Спасибо!
 

vovain

Client
Регистрация
31.07.2015
Сообщения
183
Благодарностей
2
Баллы
18
Это означает возможность добавления и JS кода? То есть можно ли уже сейчас построить ту самую банальную зависимость во входящих настройках о которых вторит молва, когда выбрано одно значение - другое меню скрывается и т.д.


Верно ли я понимаю, что это то о чём я когда-то писал, но только без брейкпоинтов?
То есть теперь перед отправкой определенного запроса браузером, можно подменить отправляемые данные?
Если это действительно так, то это...


Спасибо!
А как это юзать?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 152
Благодарностей
5 809
Баллы
113
Это означает возможность добавления и JS кода? То есть можно ли уже сейчас построить ту самую банальную зависимость во входящих настройках о которых вторит молва, когда выбрано одно значение - другое меню скрывается и т.д.


Верно ли я понимаю, что это то о чём я когда-то писал, но только без брейкпоинтов?
То есть теперь перед отправкой определенного запроса браузером, можно подменить отправляемые данные?
Если это действительно так, то это...


Спасибо!
Добавлять JS можно. Да, новые методы реализуют то, о чем вы писали без брейкпоинтов.

А как это юзать?
Ссылки на методы даны в описании.
 
  • Спасибо
Реакции: ibred

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 535
Баллы
113
Добавлять JS можно. Да, новые методы реализуют то, о чем вы писали без брейкпоинтов.
Это просто бомба! Я в восторге!
Огромная благодарность всей команде разработчиков и администрации.
 
  • Спасибо
Реакции: VladZen

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 535
Баллы
113
Ещё один вопрос: если я создал шаблон с BotUI в котором у меня размещен скрипт или свое оформление через правку HTML в ручном режиме, и скинул его клиенту с версией ниже, чем 5.11.2.0, но поддержкой BotUI. Будут ли работать и корректно отображаться все то, что я прописал в BotUI?
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 504
Благодарностей
990
Баллы
113
[+] Добавлена возможность подмены содержимого запросов и ответов с помощью методов ChangeRequest и ChangeResponse.
Ура сделали, то что я года 2 назад предлагал, но пришлось делать через Proxomitron, правда без https поддержки :(
 

Sobesednic

Client
Регистрация
24.12.2012
Сообщения
391
Благодарностей
77
Баллы
28
Ещё один вопрос: если я создал шаблон с BotUI в котором у меня размещен скрипт или свое оформление через правку HTML в ручном режиме, и скинул его клиенту с версией ниже, чем 5.11.2.0, но поддержкой BotUI. Будут ли работать и корректно отображаться все то, что я прописал в BotUI?
Логично предположить что нет
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 152
Благодарностей
5 809
Баллы
113
Ещё один вопрос: если я создал шаблон с BotUI в котором у меня размещен скрипт или свое оформление через правку HTML в ручном режиме, и скинул его клиенту с версией ниже, чем 5.11.2.0, но поддержкой BotUI. Будут ли работать и корректно отображаться все то, что я прописал в BotUI?
Должны отображаться, но не гарантируем.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 535
Баллы
113
Логично предположить что нет
В прошлых версиях BotUI просто закрыт для ручного редактирования, а сейчас его открыли. Поэтому Ваше "логично" не логично :-)
Должны отображаться, но не гарантируем.
Буду проверять, спасибо.
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
987
Благодарностей
388
Баллы
63
[+] Добавлена возможность подмены содержимого запросов и ответов с помощью методов ChangeRequest и ChangeResponse.
Ура сделали, то что я года 2 назад предлагал, но пришлось делать через Proxomitron, правда без https поддержки :(
это значит что с яндекс или ВК и т.д. такая подмена не прокатит?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 152
Благодарностей
5 809
Баллы
113
Я там не понимаю ничего
Открываете окно Траффик в ProjectMaker. в браузере заходите на сайт с которым работаете и смотрите контент запросов в браузере.
Вот пример замены контента запроса:
Код:
instance.ChangeRequest(@"(?<=https://mc\.yandex\.ru/webvisor/).*", new List<string> { @"(?<=wv-data=).*" }, new List<string> { "NODATA" }, true);
Здесь в первом параметре ищется URL запроса, во втором ищутся данные запроса, в третьем подставляются новые данные вместо найденных.
А затем при навигейте на страницу контент подменяется.
Код:
Tab tab = instance.ActiveTab;
if ((tab.IsVoid) || (tab.IsNull)) return -1;
if (tab.IsBusy) tab.WaitDownloading();
tab.Navigate("lessons.zennolab.com", "");
if (tab.IsBusy) tab.WaitDownloading();
 
  • Спасибо
Реакции: vovain

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 504
Благодарностей
990
Баллы
113
  • Спасибо
Реакции: Sanekk

Artamosa

Client
Регистрация
31.01.2016
Сообщения
59
Благодарностей
4
Баллы
8
Господа, подскажите нубу, как запустить BotUI?
Я сделал небольшой UI из нескольких элементов, но не могу понять, как теперь его запустить и как оно может менять пепеменные (и может ли?)?
 

Danny

Client
Регистрация
29.09.2014
Сообщения
711
Благодарностей
154
Баллы
43
Открываете окно Траффик в ProjectMaker. в браузере заходите на сайт с которым работаете и смотрите контент запросов в браузере.
А можно какие-то пару примеров для чего можно или нужно использовать подмену контента запросов и ответов?
 

up_lvl

Client
Регистрация
02.09.2014
Сообщения
130
Благодарностей
52
Баллы
28
Сделайте пожалуста instance.ChangeRequest более универсальным:
instance.ChangeRequest(string Regexp, Action<string, string> requestBodyAction), где requestBodyAction (string requestBody) возвращает тело запроса.
Точно так же и с ChangeResponse.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 152
Благодарностей
5 809
Баллы
113
Господа, подскажите нубу, как запустить BotUI?
Я сделал небольшой UI из нескольких элементов, но не могу понять, как теперь его запустить и как оно может менять пепеменные (и может ли?)?
BotUI запускается двойным кликом по проекту в ZennoPoster или из контексного меню, которое открывается по правому клику на проекте.

Сделайте пожалуста instance.ChangeRequest более универсальным:
instance.ChangeRequest(string Regexp, Action<string, string> requestBodyAction), где requestBodyAction (string requestBody) возвращает тело запроса.
Точно так же и с ChangeResponse.
Поясните пожалуйста, что значит более универсальным. Заголовки запроса не меняются.
 

up_lvl

Client
Регистрация
02.09.2014
Сообщения
130
Благодарностей
52
Баллы
28
Поясните пожалуйста, что значит более универсальным. Заголовки запроса не меняются.
Заголовки? Что? Хотя... Заголовки тоже не помешало бы )
Сейчас этот метод работает только на изменение. Что делать если нужно что-то взять-вытащить? Что делать если нужны более сложные условия изменения? Если не понимаете, ну и ладно, забейте.
 

up_lvl

Client
Регистрация
02.09.2014
Сообщения
130
Благодарностей
52
Баллы
28
я достаточно ясно сформулировал мысль, грамотно описал метод и входящие данные для него. Если не понимаете, забейте точно так же.
Отличный способ объяснить свою мысль, которую не можешь сформулировать.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 152
Благодарностей
5 809
Баллы
113
Заголовки? Что? Хотя... Заголовки тоже не помешало бы )
Сейчас этот метод работает только на изменение. Что делать если нужно что-то взять-вытащить? Что делать если нужны более сложные условия изменения? Если не понимаете, ну и ладно, забейте.
Взять- вытащить - это просто распарсить запрос. Причем ту подмена контента? Просто поясните на примере, что хотите предложить и мы попробуем сделать. а не возмущайтесь.
 

up_lvl

Client
Регистрация
02.09.2014
Сообщения
130
Благодарностей
52
Баллы
28
Взять- вытащить - это просто распарсить запрос. Причем ту подмена контента? Просто поясните на примере, что хотите предложить и мы попробуем сделать. а не возмущайтесь.
Пример на аудиокапче рекапчи2 которая уже у всех забанена но все таки:
Когда прогружается капча, аудио уже есть в ответе от сервера и не нужно нажимать на кнопку "скачать". При нажатии на кнопку сервер уже понимат что аудио слушать не будут, а только скачивают.
Возвращаемся к первому запросу - этот запрос выходит из ифрейма, то есть его перехвататить на стороне javascript нельзя, но можно перехватить черезе mitm proxy со своим сертификатом, что не есть особо удобно так как он еще должен хендлить внешний прокси исходящий от инстанса.
Есть ли в Зенопостере методы которые могут перехватить это запрос по регулярке как в instance.ChangeRequest, чтобы можно было вытащить из этого запроса аудиодорожку?
 

up_lvl

Client
Регистрация
02.09.2014
Сообщения
130
Благодарностей
52
Баллы
28
Еще пример, попроще:
Есть тело изходящего запроса, тип данных - json. Его нужно десериализовать, поменять, сериализовть, и выдать серверу как будто так и было. Есть ли в Зенопостере метод который это сможет сделать? (без использования js-иньекций)
 
  • Спасибо
Реакции: vitorrio и Dmffmd

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 152
Благодарностей
5 809
Баллы
113
Пример на аудиокапче рекапчи2 которая уже у всех забанена но все таки:
Когда прогружается капча, аудио уже есть в ответе от сервера и не нужно нажимать на кнопку "скачать". При нажатии на кнопку сервер уже понимат что аудио слушать не будут, а только скачивают.
Возвращаемся к первому запросу - этот запрос выходит из ифрейма, то есть его перехвататить на стороне javascript нельзя, но можно перехватить черезе mitm proxy со своим сертификатом, что не есть особо удобно так как он еще должен хендлить внешний прокси исходящий от инстанса.
Есть ли в Зенопостере методы которые могут перехватить это запрос по регулярке как в instance.ChangeRequest, чтобы можно было вытащить из этого запроса аудиодорожку?
Еще пример, попроще:
Есть тело изходящего запроса, тип данных - json. Его нужно десериализовать, поменять, сериализовть, и выдать серверу как будто так и было. Есть ли в Зенопостере метод который это сможет сделать? (без использования js-иньекций)
Это как раз более сложные и частные вещи. У нас скорее общий функционал. Подумаем над реализацией такого.
По JSON хотелось бы конкретный пример такого запроса, который нужно обработать и выдать.
 

up_lvl

Client
Регистрация
02.09.2014
Сообщения
130
Благодарностей
52
Баллы
28
По JSON хотелось бы конкретный пример такого запроса, который нужно обработать и выдать.
Зачем привязываться к примеру? Я написал метод который нужен, он универсальный
instance.ChangeRequest(string Regexp, Action<string, string> requestBodyAction), где requestBodyAction (string requestBody) возвращает тело запроса.
в requestBodyAction происходят все манипуляции с телом запроса\ответа, и возвращается это самое тело изменненое либо нет (когда нужно что-то взять из тела и положить в зп переменную, например).
 

freeman

Client
Регистрация
31.07.2010
Сообщения
130
Благодарностей
138
Баллы
43
Появление данной фичи, пусть даже в таком урезанном виде - уже прогресс. Реально хотелось бы иметь полный контроль над запросами, что-то вроде этого.
Код:
public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
{
    if (!callback.IsDisposed)
    {
        using (callback)
        {
            if (request.Method == "POST" && Regex.IsMatch(request.Url, @"del"))
            {
                using (var postData = request.PostData)
                {
                    if (postData != null)
                    {
                        var elements = postData.Elements;
                        var charSet = request.GetCharSet();

                        foreach (var element in elements)
                        {
                            if (element.Type == PostDataElementType.Bytes)
                            {
                                var body = element.GetBody(charSet);
                                if (body.Contains("del") && body.Contains("del"))
                                {
                                    body = Regex.Replace(body, @"del", "del");
                                    body = Regex.Replace(body, @"del", "del");

                                    element.Bytes = Encoding.Default.GetBytes(body);

                                    var headers = request.Headers;

                                    if (headers["Cookie"] != null)
                                    {
                                        var cookie = headers["Cookie"];
                                        if (Regex.IsMatch(cookie, @"del"))
                                        {
                                            cookie = Regex.Replace(cookie, @"del", "del");
                                            headers["Cookie"] = cookie;
                                        }
                                    }

                                    request.Headers = headers;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    return CefReturnValue.Continue;
}
 

Konstantin777

Client
Регистрация
03.11.2015
Сообщения
5
Благодарностей
0
Баллы
1
Подмена запросов и ответов радует.
 
Последнее редактирование:

burhanov88

Client
Регистрация
08.04.2015
Сообщения
69
Благодарностей
23
Баллы
8
Ребят, подскажите. Раньше когда щенка зависала при старте из за, того что много было источников и самих проксей, можно было удалить файл и проблема решалась. Сейчас это пофиксили.
Но я бывало удалял этот файл для того что бы прокси чекер встроенный мог заново добавлять старые источники которые я удалил.
А то на одном х проектах удалишь, а потом для других проектов не более 200 источников из них 10-20% с более менее прокси. Удалял файл и он искал куда больше источников.
Где есть эта база с источниками?
Или я ошибаюсь?
 

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