Вытащить данные СМС сервисов из зенки

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 644
Благодарностей
1 029
Баллы
113
Вопрос к разработчикам.
Как вытащить кодом или еще чем данные из вкладки СМС сервисов?
Нужно, для использования в кубике GET. Стандартный кубик СМС долго отрабатывает, а делать нагромождения во входных настройках то, что уже встроено в зенку - лишнее.

66532
 
  • Спасибо
Реакции: Kedr

Nord

Client
Регистрация
22.03.2012
Сообщения
2 401
Благодарностей
1 467
Баллы
113
Помню уже спрашивали, и ответ был - никак, типа так ты сможешь данные клиентов( апи кеи) отсылать себе сам.
Ну а вообще - через монитор трафика. Кеи каптчи точно можно доставать, смс не тестил.
Делаешь запрос на номер при первом выполнении шаблона, парсишь кей из монитора, сохраняешь в файл, откуда потом его берешь для работы.
Но это не точно, так как проверялось на кубике каптчи
 
Последнее редактирование:
  • Спасибо
Реакции: Gunjubasik

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 644
Благодарностей
1 029
Баллы
113

Nord

Client
Регистрация
22.03.2012
Сообщения
2 401
Благодарностей
1 467
Баллы
113
Какая-то левая отмазка
А не помнишь, тут как то был товарищ, который рассказывал, что продал хуллиард своих шаблонов, в каждый из которых был встроен какой то небольшой ботнет, не помню в чем суть была, то ли прокси тырил, толи еще данные зареганных акков передавал на сервер...
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 644
Благодарностей
1 029
Баллы
113
А не помнишь, тут как то был товарищ, который рассказывал, что продал хуллиард своих шаблонов, в каждый из которых был встроен какой то небольшой ботнет, не помню в чем суть была, то ли прокси тырил, толи еще данные зареганных акков передавал на сервер...
Да это понятно, что мудаки есть.
Я о том, что кубик - это просто обертка на код, который берет данные и выполняет.
Вот мне интересно, как получить доступ к этим данным?
Был бы в кубике СМС таймаут, таких вопросов бы не задавал.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 781
Благодарностей
2 442
Баллы
113
Есть тема о том, как создавать переменные с значением по умолчанию.
В этом теме есть человек legorange, который использовал рефлексию для поиска и вызова методов которые не описаны в документации.
Мы знаем, что например получить данные ключа RuCaptcha или Capmonstr2 можно было раньше таким кодом:
Код:
Type type_rucaptcha = AppDomain.CurrentDomain.GetAssemblies().First(x => x.FullName.IndexOf("Rucaptcha", StringComparison.OrdinalIgnoreCase) != -1).GetType("ZennoLab.RuCaptcha.RuCaptchaConfigurator");
string rucaptcha_key = type_rucaptcha.GetMethod("get_SecretKey").Invoke(Activator.CreateInstance(type_rucaptcha), null).ToString();
return rucaptcha_key;
Но, уже на версии 5.44 данный код не работает, так как библиотека Rucaptcha не находится в GetAssemblies.
Я написал legorange и amyboose - вдруг помогут разобраться с данной задачей (в целом нужно используя рефлексию понять как метод ZennoPoster.CaptchaRecognition("CapMonster2.dll", base64, ""); получает данные с входящих настроек Зеннопостера - и тогда можно будет самим получать эти данные. По аналогии думаю можно будет получать и данные с полей SMS активаторов.

Но... Разработчики Зеннопостера естественно не предоставлят инструмент получающий эти данные - приходится ухищряться и самим находить решение.
 
  • Спасибо
Реакции: zarufakis

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 781
Благодарностей
2 442
Баллы
113
Но, уже на версии 5.44 данный код не работает, так как библиотека Rucaptcha не находится в GetAssemblies.
Решил исправить своё сообщение.
Дело в том, что код отрабатывал с ошибкой потому, что в каждый конкретный момент времени совсем не факт что подгружена необходимая библиотека. Таким образом, чтобы обезопасить себя от ошибок видимо нужно явно подгружать библиотеку.
Пример кода ниже подтягивает указанную dll и уже потом извлекает ключик RuCaptcha и CapMonster2 получается без проблем.

CapMonster2:
string path = Path.Combine(Directory.GetCurrentDirectory(), "CapMonster2.dll");
System.Reflection.Assembly dll = System.Reflection.Assembly.LoadFrom(path);
Type dll_type = dll.GetType("ZennoLab.CapMonster2.CapMonster2Configurator");
return dll_type.GetMethod("get_SecretKey").Invoke(Activator.CreateInstance(dll_type), null).ToString();
Rucaptcha:
string path = Path.Combine(Directory.GetCurrentDirectory(), "Rucaptcha.dll");
System.Reflection.Assembly dll = System.Reflection.Assembly.LoadFrom(path);
Type dll_type = dll.GetType("ZennoLab.RuCaptcha.RuCaptchaConfigurator");
return dll_type.GetMethod("get_SecretKey").Invoke(Activator.CreateInstance(dll_type), null).ToString();
 
Последнее редактирование:
  • Спасибо
Реакции: 606 и Alexmd

legorange

Client
Регистрация
22.04.2020
Сообщения
13
Благодарностей
34
Баллы
13
//System.Reflection library is required

Methods for SMS 5sim:

1)insert new GAC references in your project.

2) go to C:\Program Files\ZennoLab\EN\ZennoPoster Pro\5.47.0.0\Progs from GAC references


3)Select file SmsActivate.dll


4)Insert new in your project : Using Directives and share code

5)write;

using SmsActivate;;


//for 5 Sim SMS Methods

Type sms = AppDomain.CurrentDomain.GetAssemblies().First(x => x.FullName.IndexOf("SmsActivate", StringComparison.OrdinalIgnoreCase) != -1).GetType("SmsActivate.SmsActivateConfigurator");

System.Reflection.MethodInfo[] methodInfos = sms.GetMethods(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);

string ConcatenateInfoParameters = "";
string resulFinal = "";
int NoLast = 0;

foreach (System.Reflection.MethodInfo methodInfo in methodInfos)
{
string zero = "MethodName = " + methodInfo.Name;
System.Reflection.ParameterInfo[] pars = methodInfo.GetParameters();
int last = methodInfo.GetParameters().Length;
foreach (System.Reflection.ParameterInfo p in pars){
string one = String.Format("{0}",p.Name);
string two = String.Format("{0}",p.ParameterType);
if (NoLast < last-1){
ConcatenateInfoParameters += "Name = " + one + ", Type = " + two + " ; ";
NoLast++;
}
else{
NoLast++;
}
if (NoLast == last){
ConcatenateInfoParameters += "Name = " + one + ", Type = " + two;
}
}
//Output to log
project.SendInfoToLog(zero + " With Parameters = (" + ConcatenateInfoParameters+ ")");
resulFinal += zero + " With Parameters = (" + ConcatenateInfoParameters+ ")" + "\r\n";
ConcatenateInfoParameters = "";
NoLast = 0;
}

//Output to windows clipboard
System.Windows.Forms.Clipboard.SetText(resulFinal);
project.SendInfoToLog("RESULTS COPIED TO THE CLIPBOARD");


//output
MethodName = get_AuthType With Parameters = ()
MethodName = get_ServiceName With Parameters = ()
MethodName = get_Login With Parameters = ()
MethodName = set_Login With Parameters = (Name = value, Type = System.String)
MethodName = get_Password With Parameters = ()
MethodName = set_Password With Parameters = (Name = value, Type = System.String)
MethodName = get_SecretKey With Parameters = ()
MethodName = set_SecretKey With Parameters = (Name = value, Type = System.String)
MethodName = get_AdditionalParameters With Parameters = ()
MethodName = set_AdditionalParameters With Parameters = (Name = value, Type = System.String)
MethodName = get_AdditionalParametersHint With Parameters = ()
MethodName = get_CreateAccauntLink With Parameters = ()
MethodName = get_Icon With Parameters = ()
MethodName = Equals With Parameters = (Name = obj, Type = System.Object)
MethodName = GetHashCode With Parameters = ()
MethodName = GetType With Parameters = ()
MethodName = ToString With Parameters = ()
 
  • Спасибо
Реакции: Kedr и BAZAg

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