А если делать сервис (не понимаю, что мешает для себя один раз сгенерить хеш на странице для каждого номера и сидеть, ждать вместо того, чтобы постоянно смотреть на страницу трекинга), то подключить скрипт прямо с их сайта и не надо изобретать ничего.
Если переписывать, например, на PHP, надо всего лишь подправить мелочи синтаксиса на местные и подобрать альтернативы стандартным функциям. У Си (с которым я, к сожалению, плохо дружу) тоже синтаксис похож.
Если обфускация — это «упаковка», то она хорошо вскрывается Dragonfly'ем Opera'ы. Смотрите ссылку на pastebin выше. Как домой попаду, надо будет переписать на чем другом попробовать.
Ajax'ом они запрашивают результаты трекинга, используя хеш, сгенерированный у клиента. Выглядит как мелочь для отпугивания не шибко настоичивых повадившихся использовать их ресурсы без просмотра рекламы (там ведь реклама, да, за теми анимациями загрузки?). А сильно настойчивым мешать бессмысленно.
Иначе как бы хеш можно было получить просто функцией на JS в браузере? Еще, если вы заметили, в адресе запроса JSON есть параметр lo=www.17track.net , который по идее заполняется из домена страницы (не помню имя самой переменной). Если убрать этот параметр, придет JSON с ошибкой, вроде что-то типа «NotAllowed». Однако если подставить нужный вариант, никаких проверок даже по реферреру не будет произведено.
Восток — дело тонкое. Нам понять этого не дано.
pastebin.com/nAknzDgg
Такие дела. А можно не париться и подключать 17track.net/scripts/hs.js (похоже, он нужен), тем более что так есть некоторая гарантия, что ничего не сломается при смене алгоритма генерации хеша.
А вообще, по хорошему и ошибки ловить надо.
lo=www.17track.net
, который по идее заполняется из домена страницы (не помню имя самой переменной). Если убрать этот параметр, придет JSON с ошибкой, вроде что-то типа «NotAllowed». Однако если подставить нужный вариант, никаких проверок даже по реферреру не будет произведено.Восток — дело тонкое. Нам понять этого не дано.
Такие дела. А можно не париться и подключать 17track.net/scripts/hs.js (похоже, он нужен), тем более что так есть некоторая гарантия, что ничего не сломается при смене алгоритма генерации хеша.