2010-01-27 8 views
2

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

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

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

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

+0

Я не уверен в деталях, поэтому я размещаю это как комментарий. Я предполагаю, что протокол xml основан на http. Вы можете использовать объект XMLHttpRequest в любой языковой поддержке COM, включая Javascript в HTML. – Serguzest

+0

Аналогичный вопрос: http://stackoverflow.com/questions/15679883/how-to-reverse-engineer-an-http-api-call-using-rest-console – abbood

ответ

1

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

+0

Спасибо за ваш ответ !! Вот что я в итоге сделал в конце, хотя я надеялся найти метод, включающий меньшее кодирование или, по крайней мере, более поддерживаемое (т. Е. Большее разделение между самим кодом и обменом данными). Спасибо в любом случае !!! – Federico

+0

@Franci Penov это аналогичный вопрос: http://stackoverflow.com/questions/15679883/how-to-reverse-engineer-an-http-api-call-using-rest-console – abbood

0

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

Tamper Data

fiddler

+0

-1 Fiddler - абсолютная катастрофа. Я бы никогда не установил его на своем ПК. –

+1

Fiddler отлично работает в моем опыте. –

+0

Почему никто не упоминает хром [консоль отдыха] (https://www.google.com.lb/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDEQFjAA&url=https%3A%2F % 2Fchrome.google.com% 2Fwebstore% 2Fdetail% 2Frest-консоли% 2Fcokgbflfommojglbmbpenpphppikmonn% 3Fhl% 3Den & е = mixUUYPxG6-Q7Aaum4GIBw & USG = AFQjCNF2Go6z48pDc2QhPiOueVfStSNKBA & Sig2 = 2uqo2-AzC3dHPigHiBm73A & BVM = bv.44342787, d.ZGU)? – abbood

 Смежные вопросы

  • Нет связанных вопросов^_^