Есть немного погуглить, то становится ясно, что простого пути для создания собственного анализатора HTTP (не путать с TCP, который на уровень ниже того что надо было мне) нет. Простой и понятный код в свободном доступе отсутствует. Я постоянно напарывался на программы, которые мега разработчики хотят толкать за бабло. Ну есть нет бесплатно, то придется реверсить…
Почему TCP снифер не то что снифер для HTTP?
TCP это уровень ниже, чтобы получить полный пакет HTTP, еще предстоит огромное количество работы: определить заголовки, отфильтровать пакеты и выстроить их в цепочку. Это рутинный геморрой, на который бесплатно и сразу согласится разве что школьник.
Реверсим готовое
Так как я уже (к сожалению) не школьник, будем искать готовое. Жадины программисты, часто забывают скрыть код от посторонних глаз, пренебрегая даже банальной обфускацией. Большое вам на этом спасибо. И так, с такими инструментами как Reflector и плагином File Disassembler, программа превращается (конечно не превращается, а экспортируется) в код.
Что говорит код программы?
В программе много классов, часть (вместе с зависимости) отбрасываем. Задача просто, выдрать голый функционал, а позднее и переписать, чтобы не было проблем с копирайтингом и нарушением лицензий. Если честно, написано много и по уму. Не удивительно что автор не переходит на GNU.
Есть много функционала с ключевым словом Persistent, а пространство имен — Perst… Вбиваем в поисковик, (да я настолько ленив, что даже код разбираю вместе с гуглом 😉 ) и получаем интересный результат. Это свободная, одно-файловая база данных с индексами и ключами.
Приятно узнавать новое, раньше я считал, что SQLite это единственный свободный выход для хранения массива данных в Windows формах на C#.
Пробиваем дальше… Вбиваем код в поисковик дальше:
public SocketPair(Socket socket, byte[] buffer){this.IPSocket = socket;this.Buffer = buffer;}
Вот это да, ссылка на CodePRoject HSSniffer, именно того функционала, который я на мог найти с самого начала. Совпадение? Наверно, в виду того, что программа под реверсингом была опубликована до HSSniffer.
Еще один факт подтвердился, даже самая хорошая статья не будет давать заходов с поисковиков, если название не совсем соответствует тому, что хотели увидеть посетители.
В качестве заключения
Название первой программы я не расскажу, на это есть причины. Зато, могу рассказать, зачем я все это искал.
Уже давно делал программу YouTube View, может кто-то слышал. Сейчас эта программа уже не поддерживается и валяется на сайте в открытом коде. Так вот, естественно я просмотрел несколько программ, которые делают тоже самое. Прощупал рынок, так сказать и напоролся на одну интересную фишку. Одна из программ показывала значек в трее, для закачки ролика, не зависимо от того, какой браузер использовался. Смею предположить, что это сделано с помощью сканирования пакетов таким-же образом как это делает сниффер. Теперь, в своих программах я (и конечно вы) могу использовать ту-же фишку.
Метки:реверсинг, авторские программы
Похожие статьи
- 23 сентября 2009 -- YouTube View теперь OpenSource (2)
- 31 августа 2009 -- CRUD на SQLite (5)
20 февраля, 2010 at 10:17
Приятно узнавать новое,
20 февраля, 2010 at 10:19
Большое вам на этом спасибо.
26 октября, 2010 at 13:10
Header статьи в теге h1 очень важен для поисковика.