Нужен низкоуровневый программер
10792
16
Доброго дня!
Тем кто помнит что такое com-порты, есть сообщение.
У меня есть в наличии некое оборудование. Оно управляется программой, все это крутится на винде xp.
Оборудование подключено через COM порты - их расширено до 6-ти штук количество.
Изготовитель оборудования, он же изготовитель ПО - успешно обанкротился и исчез.
А нужно изменить софт.
Софт заново мы напишем сами. Но вот протокол обмена ПО с оборудованием через COM-порты - нужно изучить и расписать.
В общем нужен человек который поставит сканер COM-портов на комп, и играясь с работающей на железе программой - отсканирует все запросы-ответы при различных действиях, и на выходе даст нам документацию на протоколы обмена, чтобы мы могли на её основе воссоздать ПО работы с железом самостоятельно.
На некоторых портах одно устройство - кнопка допустим, нажали - софт среагировал.
Есть порты на которых при помощи хитрых контроллеров подключено последовательно несколько однотипных устройств, имеющийся софт кидает туда комманды, и нужное устройство из последовательно включеных - выполняет комманду и сообщает в ответ успешно ли у него это получилось, или нет.
В общем я думаю понятно что и как.
Мне в личку все вопросы, оценки вашей работы в деньгах и так далее.
Удаленно работать не получится - ибо кто на кнопки будет нажимать? Но думаю что более чем реально приходить раз в день на час/два и спокойно все это разгрести за недельку )
Сэймэй
Но думаю что более чем реально приходить раз в день на час/два и спокойно все это разгрести за недельку )
Сомневаюсь!!!
Вы не сказали что за оборудование.
АФМ
я не сомневаюсь. я за это время сделать могу ) поэтому так и оцениваю
оборудование уникальное. программно-аппаратный комплекс )
Сэймэй
А исходники проги не сохранились штоле? И вроде, декомпильнуть прогу можно, ток там на ассемблере все будет, как раз для низкоуровневого программера.
Сэймэй
я не сомневаюсь. я за это время сделать могу
Наихудшая ситуация - заказчик, который считает себя бывшим программистом. Заранее обречено на гору проблем.
ХочуСпросить
Наихудшая ситуация - заказчик, который считает себя бывшим программистом. Заранее обречено на гору проблем.
извини, но я 18-ть лет программировал
и сейчас в критических ситуациях быстро сам правлю код не дожидаясь пока аутсорсеры сделают работу
так что гора проблем только у тебя в голове
Sawfish
исходников программы и не было ни когда. завод изготовитель успешно разорился.
про декомпеляцию шутку понял, но это не тот вариант
там надо-то, поставить сканер портов, потыркать прогу, потом логи внимательно проанализировать.
Сэймэй
про декомпеляцию шутку понял, но это не тот вариант
Дану, без декомпиляции любой протокол будет бессмысленныи набором цифр. Скажу как занимавшийся реверсинжинерингом, потребуется и протокол обмена и декомпиляция, причем для последней есть неплохой инструмент в виде IDA + пару плагинов привращающий тонну ассемблерного листинга в псевдоси код, которой читается куда как легче .)
Mozepiy
COM порт
комманд на устройство подается - всего одна. и получается ответ успешно или нет.
все более чем уныло и просто
тупо смотрим лог общения и понимаем в каком формате кидается комманда на ком-порт, там должен быть номер устройства которому комманда предназначена, и параметр собственно который подлежит исполнению
и смотрим как в ответ летит сообщение о том что комманда выполнена, или что ошибка выполнения комманды
чего тут дизасемблировать? зачем усложнять себе жизнь
ХочуСпросить
Ситуация для подрядчика патовая.
Если заказчик считает, что делов на час, потому что "он за час сделает" - сразу бежать, тебе все равно заплатят только за час вне зависимости от реальной сложности работ.
Нафик нафик.
Что характерно, будут непременно искать подрядчика вместо того, чтобы выделить этот час и сделать.
(по делу сказать нечего, я не с ходу умею требуемого)
Сэймэй
Ну если все так просто, то что мешает сделать сниф своими силами ? Лень, или всетаки, невсе так просто, как вы пишете ?
KSergey
Вот и я про то же. Сразу - нефиг связываться.
Сэймэй
у тебя
Мы уже успели где-то когда-то выпивать вместе? :umnik:
Сэймэй
Есть опыт работы и с самодельными протоколами, и с промышленными. На деле может оказаться совсем не то, что казаться. А если действительно там всё просто, тоже считаю, быстрее сами всё сделаете, чем кого-то найдете и он вам сделает. ИМХО
Сэймэй
я не сомневаюсь. я за это время сделать могу ) поэтому так и оцениваю
Ну а чего не сделаешь?
Сэймэй
На первый. Была у меня похожая задачка в году 95-м. Понятно, щас уже по этим протоколам нифига не помню, поэтому и не возьмусь. Но, хочу присоединиться к тем кто вопрошает "ежели всё так просто - почему не сам?" Потому што:

Тогда, была железяка (полумедицинская), которая также управлялась по порту. Отдаешь команду - получаешь чиселку. Или две-три... типа величины кожного сопротивления... при сканировании "вдруг" как бы выяснилось, что команды ДОСовский драйвер подает не токмо по команде проги, а ишо дополнительно "как бы между прочим" по таймеру от поданной команды ишо (ответ уже получен). Выяснилось это - далеко не сразу. Железяка буржуинская, вроде как примитивная - датчик и АЦП.

В итоге, помучавшись, подписав НДА на 15 лет, получили описание внутренностей... и исходник проги микро-контроллера железки (он там был!). Так вот, драйвер отдавал команду на чтение, читал данные и через тайм-аут (со случайной! задержкой) писал в контроллер код переинициализации. Вариантов переинициализации оказалось несколько (но немного). Как результат - отдаваемая чиселка - перекодировалась каждый раз по своему...

Вот такой "простой" датчик с АЦП оказался. Запрашивали "нафига". Ответ - дабы не сосканировали.:улыб:
Сэймэй
Есть аналогичная задачка. Решил продолжить в этом топе.
Суть в следующем. Имеются промышленные весы, которые общаются по com порту с компом. Взаимодействие происходит в режиме вопрос- ответ. Нужно проснифить обмен и реализовать выгрузку значение веса в текстовый файл через заданный интервал. Далее 1С периодически опрашивает этот файл. Описание протокола от разработчика имеется. Переписать программу обмена нужно в связи с тем, что драйвер привязывается к конфигурации компа и перенос на другой комп выполняется за отдельные деньги, причем для этого нужно вызывать спеца из другого города. Для бизнеса такая ситуация не приемлема, т.к. в случае поломки компа процесс останавливается. Решить вопрос по другому не получилось.
Если есть интерес, пишите в личку, обсудим.