1 (23.03.2011 13:44:19 отредактировано linux-guru)

Задумал написать опен-сурс аналог WebMoney Keeper Classic http://webmoney.ru для *НИКСОВ. XML-интерфейсы запросов к серверам WebMoney открытые, их можно найти здесь: http://www.webmoney.ru/rus/developers/i … ndex.shtml. После реализации интерфейса X9 решил проверить, что мне ответит сервер.
Запрос:

<?xml version="1.0" encoding="windows-1251"?>
<w3s.request>
    <reqn>1300872303000</reqn>
    <wmid>264127507701_</wmid>
    <sign>06d13bf8f4615ba9bb2af6fd23a0f8b9ebc285fa5a1c887b7136015d92dd83c41ed06101a36d77819720e82e84381732ec66ef9e6f2a56927db679dec73eab480184</sign>
    <getpurses>
        <wmid>264127507701_</wmid>
    </getpurses>
</w3s.request>

(Не обращайте внимание на символ подчеркивания в конце номера wmid, без него текст на форуме выводится некорректно)
Ответ:

HTTP/1.1 200 OK
Date: Wed, 23 Mar 2011 09:24:59 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 143
Content-Type: text/xml; Charset=windows-1251
Expires: Wed, 23 Mar 2011 09:24:59 GMT
Set-Cookie: ASPSESSIONIDQSTQSQBS=KDLKNCGBKPFNOLICJGHMCLFJ; path=/
Cache-control: private

<?xml version="1.0"?><w3s.response><reqn>1300872303000</reqn>
<retval>110</retval>
<retdesc>Server Error step=13</retdesc>
</w3s.response>

Здесь видно, что подпись сформирована правильно, но на сервере произошла какая-то ошибка. ТехПоддержка WebMoney сотрудничать со мной отказалась. После поиска в google наткнулся на статью Криса Касперского (http://it-geek.ru/265). В статье сказано, что Keeper Classic передает на сервер информацию об имеющемся оборудовании, сервер сравнивает эту информацию с той, которая была передана в предыдущем сеансе, и если она не совпадает, нужно заново аутентифицировать Keeper. На сайте webmoney об этом, естественно, ничего не написано. Возник вопрос: как мне передать информацию об оборудовании? Пользоваться Ida Pro я не умею, ассемблер не знаю. Просьба всем, кто знаком с "внутренностями" Keeper Classic выложить здесь имеющуюся информацию. Также буду благодарен за любую информацию о WebMoney для разработчиков.

2

эх... нечего мне сказать... мну опять забанят?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

drBatty,  smile

На мясокомбинате я работаю свиньёй.

4

Как перенести тему в раздел Программирование?

5

linux-guru пишет:

Как перенести тему в раздел Программирование?

написать лично модератору, а лучше - админу.

я уже решил эту задачу, подробнее поговорим в "программировании", ну или на этом форуме, в этой теме.

да, ассемблер тут не нужен.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

6

Нет, не выйдет каменный цветок.
Суть проблемы вот в чем: для корректной обработки запросов к WM-интерфейсам как минимум надо связываться с Webmoney и просить разрешения работать данному конкретному WMID с данного конкретного IP-адреса. Так что Keeper Classic реализовать не выйдет. Есть еще вариант с кипером мини, но там свои заморочки.
Кроме того, если я правильно помню, Server Error step=13 - это косяк в подписи, хотя тут могу и ошибаться.

7

UncleRus пишет:

Суть проблемы вот в чем: для корректной обработки запросов к WM-интерфейсам как минимум надо связываться с Webmoney и просить разрешения работать данному конкретному WMID с данного конкретного IP-адреса.

ну и что? curl это умеет.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

8 (27.03.2011 22:41:35 отредактировано UncleRus)

А курл-то тут при чем?
Я говорю про то, что желающий использовать подобный самопальный клиент должен будет:
а) иметь статический белый IP-адрес;
б) связаться с техподдержкой ВебМани и подать заявление, что он желает использовать WM-интерфейсы для работы со своими кошельками.

И вот только после этого (и то не факт) WebMoney разрешит использовать интерфейсы для конкретного WMID с конкретного IP-адреса.

И кстати, именно эту проблему мы тут и наблюдаем:
Server error step=13 - признак ошибки на этапе проверки прав доступа к интерфейсам.
ошибка 110 (тег retval) - нет доступа к интерфейсу.

9

UncleRus пишет:

а) иметь статический белый IP-адрес;

причём тут клиент?

UncleRus пишет:

б) связаться с техподдержкой ВебМани и подать заявление, что он желает использовать WM-интерфейсы для работы со своими кошельками.

повторить? curl умеет отправлять на http-сервер информацию и методом POST и методом GET. И умеет получать ответ. Как браузер. Для сервера, curl не отличим от браузера. Потому вы можете сделать клиент, который для сервера будет браузером, который работает как mini.

UncleRus пишет:

И вот только после этого (и то не факт) WebMoney разрешит использовать интерфейсы для конкретного WMID с конкретного IP-адреса.

ну посмотрите, как работает вендовый клиент, и заставьте curl отправлять тоже самое. Тогда никто не догадается, что у вас curl в линуксе, а не клиент в Windows. Просто curl должен вести себя точно так-же.

Можете конечно написать свой curl, но зачем?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

10

У WM Mini есть существенные ограничения по суммам, которыми можно рулить. Не более 5000р на кошелек. А у WM Keeper и WM Light нету такого. Поэтому конечно лучше было бы их клонировать. Очень жаль что администрация платежной системы не идет навстречу. Хотя возможно они просто имели глупость связать себя каким-нибудь договором с m$....

11 (11.04.2011 20:42:26 отредактировано mycetophylax)

drBatty пишет:

причём тут клиент?

Его разработка и подразумевается, нет?

drBatty пишет:

Для сервера, curl не отличим от браузера. Потому вы можете сделать клиент, который для сервера будет браузером, который работает как mini.

А кто-то говорил про кастрированный миник? Разговор шел про классик.

drBatty пишет:

Можете конечно написать свой curl, но зачем?

У вас какие-то сложные отношения с libcurl, что вы в него так вцепились-то?

12 (29.03.2011 18:05:53 отредактировано shumomer)

Х9 - это для сайтов. И действительно - работа возможна только с одного, определенного ИП. Там-же написано, прямо на сайте:

Этот интерфейс доступен только зарегистрированным клиентам. Для регистрации перешлите по внутренней почте на WMID (Техническая поддержка) краткую информацию о проекте, URL сайта, IP-адрес с которого будут отсылаться запросы, цель и способ использования интерфейса.

Т.е. даже если и будет программа реализующая это - каждому кто ее установит придется проходить эту процедуру регистрации, и ему, кстати говоря, откажут.

13

UncleRus пишет:

Его разработка и подразумевается, нет?

при чём тут "белый статический IP"?
и как это усложняет/упрощает разработку клиента?

UncleRus пишет:

Не хамите, парниша.

вы поняли написанное мной? да/нет? почему тогда curl не подходит на роль клиента?

UncleRus пишет:

А кто-то говорил про кастрированный миник? Разговор шел про классик.

почему curl не может работать как классик?

UncleRus пишет:

У вас какие-то сложные отношения с libcurl, что вы в него так вцепились-то?

нет. просто я не понимаю, зачем нужно делать велосипед, если у нас уже есть мотоцикл? Очевидно, что-то в этом нашем мотоцикле-курле вам не нравится. Вопрос - что?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

14

shumomer пишет:

Т.е. даже если и будет программа реализующая это - каждому кто ее установит придется проходить эту процедуру регистрации, и ему, кстати говоря, откажут.

1)кто мешает зарегиться в венде?
2)откуда они узнают, что работает клон?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

15

В данном случае регистрация - это не регистрация нового кошелька. Это зарегистрировать сайт и ИП для того что-бы хмл-интерфейсы (в т.ч. и Х9) разрешили с этого ИП. Думаю теперь вам уже понятен и ответ на второй вопрос - да по ИП и узнают. Точнее - даже не надо клона детектить - просто не будет работать, т.к. для данного ИП не разрешен доступ к хмл-интерфейсам (регистрация не пройдена).

16

shumomer пишет:

В данном случае регистрация - это не регистрация нового кошелька. Это зарегистрировать сайт и ИП для того что-бы хмл-интерфейсы (в т.ч. и Х9) разрешили с этого ИП. Думаю теперь вам уже понятен и ответ на второй вопрос - да по ИП и узнают.

ещё раз помедленнее для идиотов: как можно отличить curl работающий с 11.22.33.44, от клиента-классик работающего с 11.22.33.44?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

17

drBatty, перечитай слова топикастера и вникни в суть bx. Он те о Фоме, а ты ему о Ереме. Вот так вот получается  oO .

18

linux-guru пишет:

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

elve пишет:

перечитай слова топикастера и вникни в суть

ответ: воспользоваться каким-нить монитором в венде(NetMon?), посмотреть, что передаётся, и отправить это curl'ом.
всё.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

19 (30.03.2011 11:02:17 отредактировано shumomer)

drBatty пишет:

ещё раз помедленнее для идиотов: как можно отличить curl работающий с 11.22.33.44, от клиента-классик работающего с 11.22.33.44?

Для идиотов говоришь? Ну тогда начнем с того, что официальный клиент работает НЕ через хмл-интерфейсы (даже то что идет хмл - не через эти). Продолжать?

ЗЫ В принципе прога эмулирующая оф.клиент - возможна (и можно для этого заюзать твой любимый курл). Но тогда обо всех открыто описанных интерфейсах надо забыть и заниматься реверс-инженерингом. А потом по какой-то ерунде отловят использование левого клиента и залочат кошелек. И кому это надо - так рисковать?

ЗЗЫ Зачем вообще это надо? Лайт прекрасно работает с любой платформы.

20

shumomer пишет:

Для идиотов говоришь? Ну тогда начнем с того, что официальный клиент работает НЕ через хмл-интерфейсы (даже то что идет хмл - не через эти). Продолжать?

да.

shumomer пишет:

ЗЫ В принципе прога эмулирующая оф.клиент - возможна (и можно для этого заюзать твой любимый курл). Но тогда обо всех открыто описанных интерфейсах надо забыть и заниматься реверс-инженерингом. А потом по какой-то ерунде отловят использование левого клиента и залочат кошелек. И кому это надо - так рисковать?

именно эта задача изложена в первом посте.

shumomer пишет:

Зачем вообще это надо? Лайт прекрасно работает с любой платформы.

именно им я и пользуюсь.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

21

drBatty пишет:

именно эта задача изложена в первом посте.

А перечитай-ка первый пост. Там вопрос совершенно конкретный - почему не работает Х9. Там человек запутался что когда применяется. Он почему-то решил что кипер работает через эти хмл-интерфейсы. Ему и ответили, что в качестве клиентской программы ЭТО работать не будет. И курл тут никак не поможет.

А вот ты увидел только последнюю часть сообщения - и уцепился за нее.

Обрати внимание - твой пост от 2011-03-26 15:43:21 - уже не в тему. Человек говорит о хмл-интерфейсах, а ты о чем?

Получилось как тут уже сказали - тебе про фому а ты про ерему.

22

shumomer пишет:

Он почему-то решил что кипер работает через эти хмл-интерфейсы.

а... ну да...  :rolleyes:

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

23 (10.04.2011 22:17:19 отредактировано UncleRus)

drBatty, вы - удивительный человек.
Как, черт побери, может быть линуксоидом человек, не умеющий толком читать и лезущий в любое обсуждение без малейшего представления о предмете?
Поразительно.

24

UncleRus пишет:

drBatty, вы - удивительный человек.
Как, черт побери, может быть линуксоидом человек, не умеющий толком читать и лезущий в любое обсуждение без малейшего представления о предмете?
Поразительно.

ну вы ещё подеритесь горячие финские парни ! ag

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

25

UncleRus пишет:

Как, черт побери, может быть линуксоидом человек, не умеющий толком читать и лезущий в любое обсуждение без малейшего представления о предмете?
Поразительно.

на самом деле, задача была чётко поставлена - сделать клиент под Linux'ом для WM.

Крис поковырял версию для венды, и вот что он пишет:

Заключение

Мы выяснили, что Keeper Classic не только собирает (и отсылает) приватную информацию, но и отличается крайне агрессивным поведением. Скрываясь под аляповатым интерфейсом прикладной программы, он пробивает тоннель к самому центру операционной системы и делает это настолько некорректно, что у ряда легальных пользователей появляются серьезные проблемы.
Я категорически не рекомендую устанавливать эту штуку на свой компьютер. Вот если бы Keeper распространялся в открытых текстах с полностью специфицированными протоколами… Компания ничего бы не потеряла, наоборот, только приобрела. Эксперты указали бы на ошибки, армия LINUX-пользователей не трахалась бы с Windows-эмуляторами, а спокойно переносила Keeper’а на настольные и мобильные системы, добавляя миллионы новых клиентов. Почему же этого до сих пор не сделано?! Уж не потому ли, что Keeper’у есть что скрывать?!

давайте ковырять дальше - если расковыряем, то можно создать полностью функциональный аналог, используя исходники curl'а (а скорее всего - сам curl без всякой модификации). Нам необходимо и достаточно просто отвечать серверу точно так-же, как делает вендовый клиент.

О чём я и говорил. Лично мне этим заниматься недосуг, ибо в процессе экспериментов могут быть закрыты мои кошельки (во всяком случае, я не смогу ими пользоваться). Кроме того, ковырять вендовую версию я не могу и не хочу. Но если у кого-то будет желание - вперёд: узнайте чё там передаётся и принимается, а я с лёгкостью реализую это в Linux. Ибо уже решал похожие задачи. Причём - успешно.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

26

Дабы не создавать новую тему: кто как пользуется в Linux'е WebMoney'нями? Я Light-клиентом, но ограничение на СМС-авторизацию в сутки и доп. коммисия не нравится.

27

emlsch пишет:

кто как пользуется в Linux'е WebMoney'нями? Я Light-клиентом, но ограничение на СМС-авторизацию в сутки и доп. коммисия не нравится.

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

28

drBatty пишет:
emlsch пишет:

кто как пользуется в Linux'е WebMoney'нями? Я Light-клиентом, но ограничение на СМС-авторизацию в сутки и доп. коммисия не нравится.

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

Мне интересно чем люди пользуются.
Вот вы, к примеру, чем?

29

emlsch пишет:

Мне интересно чем люди пользуются.
Вот вы, к примеру, чем?

а чем я ещё могу пользоваться?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

30

drBatty пишет:
emlsch пишет:

Мне интересно чем люди пользуются.
Вот вы, к примеру, чем?

а чем я ещё могу пользоваться?

Способов авторизации Light-клиента куча.