Форум » » Костыль для Мегафона. » Ответить

Костыль для Мегафона.

leha3d: Может надо кому. Попробовал написать плагин для Мегафона (обновленный личный кабинет после ноября 2018г.) У меня, вроде, работает. https://yadi.sk/d/EMh15xKcdoB55w Видит только баланс и имя абонента.

Ответов - 222, стр: 1 2 3 4 5 6 7 8 9 10 11 12 All

y-greek: Хвастался я недавно (относительно), что смог разгадывать мегафоновскую каптчу с вероятностью 90%, а при трёх попытках это даёт 99,9%. Но не было времени прикрутить всё это к скрипту. А когда уже начал прикручивать - мегафон убрал капчу. Сейчас наконец доделал альфа-версию, очень сырую, но вроде-бы работает. При автоматической проверке если стоит галочка "автоматически производить повтор неудачных 2 раза", то как раз 3 раза и получается. MB-Megafon-captcha_solver20200106.zip

Vovaka1: y-greek, спасибо. Два номера дважды пробовал, все с первого раза распознались.

pasha: y-greek, спасибо! Проверил на двух номерах - отлично сработало, на одном с первого раза, на другом с третьего. Заметил, что дебаг остался включенным, отключил его.


level: y-greek А как его использовать ,подключил плагин ,а он открывает окно эксплорера для ручного ввода.

y-greek: level пишет: А как его использовать ,подключил плагин ,а он открывает окно эксплорера для ручного ввода. Папка Megafon с модулем решалки captcha.solver должна быть в папке программы. Если скрипт не находит модуль, то переходит в режим ручного ввода капчи. Также отключить попытку решать капчу можно изменив var solveCaptcha = 1; на 0 Если капчи на странице входа нет (мегафон опять отключил), то скрипт переходит в режим без капчи (как было совсем недавно). Чтобы IE всё делал невидимо надо var showIE = 1; заменить на 0. Собственно, так задумано, а работаем ли всё правильно пока не проверял.

xyz: У меня не заработало распознавание. Показывает окно IE. var showIE = 0; var solveCaptcha = 1; Плагин подключен и прописан к телефонам. Пути правильные? mobilebalance\MobileBalance.exe mobilebalance\Pluguns\megafon\megafon-captcha-solver.jsmb mobilebalance\Pluguns\megafon\Megafon\captcha.solver Заработало. Надо так: mobilebalance\MobileBalance.exe mobilebalance\Pluguns\megafon\megafon-captcha-solver.jsmb mobilebalance\Megafon\captcha.solver

y-greek: Функция чтения файла при относительном пути, а он 'Megafon/captcha.solver', ищет файл относительно папки программы (там где MobileBalance.exe). Сам скрипт (jsmb), кажется, может быть где угодно. У меня - там же где exe.

level: Да заработало ,я папку решалки засунул в папку с плагинами ,а надо в папку программы.

comprech: y-greek, спасибо за плагин с решалкой!!! Все работает От себя добавлю нюанс, из-за которого сначала не запускалась только решалка в плагине (браузер запускался, страница входа в нем открывалась, логин и пароль подставлялись корректно): для решалки критична текущая папка на момент запуска программы, она должна совпадать с папкой, где находится основной файл программы MobileBalance.exe. Почему-то пока не выходит несколько номеров мегафона подряд проверить, видно, проблема с кешем, пытаюсь разобраться..

y-greek: comprech пишет: для решалки критична текущая папка на момент запуска программы, она должна совпадать с папкой, где находится основной файл программы MobileBalance.exe. Пробовал запускать MobileBalance.exe из другой текущей папки, указывая для запуска полный путь. Всё равно переменная external.Path. которая используется для формирования полного пути, показывает папку с exe. Что-то не нашёл в таск-менеджерах способа определить текущую папку программы. Но если доказать, что external.Path не всегда указывает на папку программы, то можно будет попробовать для определения пути external.FullName, которая содержит полный путь exe. comprech пишет: Почему-то пока не выходит несколько номеров мегафона подряд проверить, видно, проблема с кешем, пытаюсь разобраться.. У меня подряд, в ручном и автоматическом режиме, работает. Проверка нескольких номеров два раза в день. Но в ручном режиме (в автоматическом повтор два раза) иногда какие-то глюки - то не запускается IE, то запустившись как будто перестаёт управляться скриптом...Собственно, и раньше, в скрипте с ручным вводом капчи так было. Определить что-где-когда так и не смог. Как и любой плавающий баг, он по-разному проявляется на разных системах - у кого-то почти никогда, у меня иногда, у кого-то почти всегда. Было бы здорово если кто-то локализует этот трабл... А то у меня слишком редко для отлавливания, да стимула поэтому нет. Попробовать в функции fin sleep(300) на 1000? (может ActiveX не успевает завершиться до следующего вызова? А может надо завершать сеанс как-то по другому, а не ie.quit()?)

y-greek: Проверил своё предположение о паузе между запросами, изменил ie.quit(); sleep(300); 300 на 2000 Кажется, ошибочных проверок стало меньше... (т.е. пока вообще не было, не считая ошибок распознавания капчи. А до этого регулярно выскакивали, без запуска IE)

comprech: y-greek пишет: Что-то не нашёл в таск-менеджерах способа определить текущую папку программы. Для определения текущего каталога использовал старый добрый "FAR Manager", в нем в любой из панелей (Alt+F1/F2) открываем "список процессов", находим нужный процесс и нажимаем просмотр (F3), в данных процесса будет раздел "Переменные окружения" именно просматриваемого процесса, где в самом начале этого раздела будут указаны текущие каталоги для каждого диска. y-greek Возможности JSMB позволяют выполнить произвольную команду командной строки? Думаю с ее помощью добавить в скрипт чистку временных файлов IE, с ними только по одному номеру удается проверить баланс, дальше без чистки временных файлов браузера все последующие попытки завершаются ошибкой. Еще по скрипту вижу, что помимо баланса и тариф и остатки получаются доп.запросами, но у меня упорно пока баланс в лучшем случае извлекается. В лог-файлах для всех остальных полей (тариф, остатки, ФИО и т.п.) якобы пустые ответы приходят. Попробовал сформировать сам строки для GET-запросов, отправляемых скриптом, и подставить в адресную строку браузера после ручного входа в ЛК, и действительно есть информация в формате JSON.

y-greek: comprech пишет: Для определения текущего каталога использовал старый добрый "FAR Manager" Действительно, старый добрый FAR позволяет посмотреть. Я использую Anvir Task manager, может там просто не нашёл. Но и far показывает current directory - папка программы (и туда же указывает external.Path), хотя для этого диска папку по умолчанию far показывает ту, из которой я стартовал. comprech пишет: Возможности JSMB позволяют выполнить произвольную команду командной строки? Я такой возможности не знаю. Может попробовать поиграться с compatibility mode mobilebalance.exe? И последняя ли версия mobilebalance (у меня 18.03)?

comprech: y-greek пишет: И последняя ли версия mobilebalance (у меня 18.03)? Нет, 17.12. Попробую на 18.03. А с возможностью выполнения произвольного кода предусмотрел сам автор: Настройки - Плагины - После запроса. Но с этой фичей пока тоже не до конца разобрался, в ней есть кнопка "Запустить", она успешно запускает скрипт (для тестовых целей), а в автоматическом режиме, при опросе нескольких номеров вижу, что не запускается. Но может это все перестанет быть нужным, если штатный вариант запуска плагина начнет стабильно получать информацию.

y-greek: Почистил код, добавил задержку 3 сек. после закрытия IE, а то при последовательной проверке часто следующий запрос завершался ошибкой без запуска IE Добавил Readme.txt в zip Папка Megafon с модулем решалки captcha.solver должна быть в папке программы. MB-Megafon-captcha_solver20200112.zip

comprech: y-greek пишет: Почистил код не нашел в коде плагина вызовов методов setCookie(), getCookie(), они точно нужны в коде?

y-greek: comprech пишет: не нашел в коде плагина вызовов методов setCookie(), getCookie(), они точно нужны в коде? Наверное и не нужны. Удаление куков помогает лк меньше заморачиваться с количеством неверных попыток ввода капчи и т.п. Весь набор функций работы с куками сграбил на w3school, да так и оставил, хотя используются только функции удаления.

Alex133: Я что-то видимо не понимаю. На телефоне у меня стоит AnyBalance, а на айпаде Balance Info - обе программы вообще не заметили включения капчи мегафоном, работа не прерывалась ни на полдня. А мобилебаланс работать перестал, и требуется обсуждаемое тут дополнение по подбору кода. Почему так? Другие приложения используют другие методы?

pasha: Alex133 пишет: Почему так? Другие приложения используют другие методы? Всё верно, разные методы.

Репейник: y-greek большой респект за костыль для мегафона. Все работает, поставил нолик и теперь все как прежде и с балансом.



полная версия страницы