Протокол обратного инжиниринга / Воспроизвести диалог HTTP - PullRequest
2 голосов
/ 27 января 2010

Для конкретных нужд проекта я должен связать часть своего кода с другим закрытым исходным кодом. Моя идея состоит в том, чтобы понять, как исходное приложение взаимодействует, а затем имитировать поведение. Я уже сделал первый шаг, который анализирует некоторые обмены HTTP (выполненные с использованием запроса POST и ответов XML) с Wireshark . В конце обмена сервер выдает выходные данные, которые мне нужно записать.

Теперь мой вопрос: каков самый простой способ реплицировать поведение клиента с моими данными? то есть тот, который требует меньше кодирования? По сути, мне не нужно много «программирования», просто возможность анализировать некоторые переменные в ответах сервера и повторно использовать их в последующем запросе.

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

Любое предложение приветствуется! Спасибо

Ответы [ 2 ]

1 голос
/ 27 января 2010

Если вам не нужно масштабируемое решение, а вашему приложению нужно обрабатывать только определенные запросы / ответы, вы можете предварительно создать несколько запросов в виде больших двоичных объектов XML и просто обновить любые переменные в них, отправить их и выполнить базовый анализ XML в получить значения элементов XML с ответом. По сути, ваше приложение будет выступать в роли повторителя разговора, который вы записали с помощью Wireshark, и будет изменять пару значений.

0 голосов
/ 27 января 2010

Эти два работают с Firefox:

Данные тампера

стелька

...