Формат .srv файла (MT4)

 

Приветствую всех.

Кто-нибудь ковырял формат srv? 

Для себя пока нашел следующее:

0000 Server name (ASCIIZ)
0040 Company name (ASCIIZ)
00C0 (1 byte) 00 - live, 01 - demo (фактически скорее всего 2 или 4 байта целого числа)
00D8 <IP address/DNS name>:<port> (ASCIIZ) 

И еще вопрос, кто знает когда эти .srv файлы обновляются? Брокер по-любому меняет сервера иногда, вводит новые в эксплуатацию. 

Спасибо 

 
elugovoy:

Приветствую всех.

Кто-нибудь ковырял формат srv? 

Для себя пока нашел следующее:

И еще вопрос, кто знает когда эти .srv файлы обновляются? Брокер по-любому меняет сервера иногда, вводит новые в эксплуатацию. 

Спасибо 

Здравствуйте,

Я не ковырял, но те кто меняют IP те обычно ставять переадресацию, и в будущем сохранять за собой предыдущие IP - это из личного опыта не по этой сфере. Полагаю в сфере финансов это также применимо, даже по строже.  

 
izzatilla:

Здравствуйте,

Я не ковырял, но те кто меняют IP те обычно ставять переадресацию, и в будущем сохранять за собой предыдущие IP - это из личного опыта не по этой сфере. Полагаю в сфере финансов это также применимо, даже по строже.  

Это вряд ли. Проверял, для "старых" серваков еще DNS существует, а они уже погашены, .srv содержат новые IP'шки.

У меня интерес использовать один и тот же установленный терминал, но менять брокеров периодически и номера счетов. Как вариант хранить .srv файлики от каждого брокера и заменять их в MT4 при смене брокера.

Но .srv могут устаревать... и нужен механизм для обновления моих .srv

 

Зачем все эти танцы? МТ сам прекрасно разбирается со своими серверами и обновляет их список, когда в этом есть необходимость.

Зачем колупать srv? 

 
komposter:

Зачем все эти танцы? МТ сам прекрасно разбирается со своими серверами и обновляет их список, когда в этом есть необходимость.

Зачем колупать srv? 

Андрей, есть задачка такая ))) порядка 1000 терминалов выводить в онлайн и каждый под нужного брокера. Список брокеров фиксирован (порядка 30).

Поэтому нужно иметь всегда свежие srv от каждого брокера в наличии, вдруг серверов добавит и начнет регить на них юзеров, а у меня не будет сведений о сервере.

Наверное один терминальчик припасу для таких технических нужд (обновлений и т.п.) и проверок.

 
Пожалуйста, не занимайтесь реверс инжинирингом. Вы нарушаете лицензионное соглашение, принятое Вами при установке клиентского терминала.
 
elugovoy:

Андрей, есть задачка такая ))) порядка 1000 терминалов выводить в онлайн и каждый под нужного брокера. Список брокеров фиксирован (порядка 30).

Поэтому нужно иметь всегда свежие srv от каждого брокера в наличии, вдруг серверов добавит и начнет регить на них юзеров, а у меня не будет сведений о сервере.

Наверное один терминальчик припасу для таких технических нужд (обновлений и т.п.) и проверок.

Все равно не понимаю, зачем колупать файл.

Подключился терминал к серверу - значит в файле актуальная информация. Берем его и подсовываем другим терминалам. 

 
stringo:
Пожалуйста, не занимайтесь реверс инжинирингом. Вы нарушаете лицензионное соглашение, принятое Вами при установке клиентского терминала.

+++

Чукча

Гав

Не гавкай, покорми собак и ради бога ничего не трогай :) 

 
stringo:
Пожалуйста, не занимайтесь реверс инжинирингом. Вы нарушаете лицензионное соглашение, принятое Вами при установке клиентского терминала.

Задача не относится к реверс инжинирингу, никакого рода декомпиляций не производится и лицензионное соглашение не нарушается. IP адрес брокера нужен лишь для штатного пинга сторонним ПО с целью проверить состояние сервера online/offline.

Ну, а подмена в терминале .srv файлов от другого брокера... я бы не стал называть копирование файлов реверс инжинирингом.

 

Лучше обратите внимание на такие вещи как:  https://www.mql5.com/ru/code/10447 находящиеся в CodeBase, а именно использование внутреннего сообщения терминала:

int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");  

О котором, кроме как реверсом, и не узнать. 

Пересканирование сервера
Пересканирование сервера
  • 2011.09.08
  • Акаунт удален
  • www.mql5.com
Скрипт выставляется автоматически советником, делает пересканирование сервера, и перелогин.
 
komposter:

Все равно не понимаю, зачем колупать файл.

Подключился терминал к серверу - значит в файле актуальная информация. Берем его и подсовываем другим терминалам. 

Ну те вещи что я описал, лежат просто в открытом виде,

А что дальше закодировано может быть... чисто спортивный интерес. для задачи не нужно, но если кто знает было бы полезно быть и мне в курсе. 

 
elugovoy:

 

Лучше обратите внимание на такие вещи как:  https://www.mql5.com/ru/code/10447 находящиеся в CodeBase, а именно использование внутреннего сообщения терминала:

О котором, кроме как реверсом, и не узнать. 

В своё время (лет 7 назад) это мы открыли немного информации. В том числе структуру hst-файла. Так что это никакой не реверс инжиниринг, а использование информации из легальных источников. (кстати, открытый источник - это не всегда легальный источник)

Реверс инжениринг - это не только дизассемблирование, декомпиляция и изучение сетевых пакетов. Но также и раскрытие структур данных.

Вы, конечно, можете на свой страх и риск заниматься исследованиями. Но это обсуждение на форуме выглядит примерно так же, как если бы на лестничной площадке перед моей квартирой собрались несколько человек, которые публично обсуждают конфигурацию ключа от замка моей же двери.

Причина обращения: