Alexandr 13 Жалоба Опубликовано: 17 л Вот такая вот мыслишка пришла в голову. Не смотря на то что я уже давно не прыгаю скайдайв я считаю отсутствие опенсурс проги для снятия данных и учёта оных с Нептуна минусом. На мою просьбу прислать мне протокол передачи и стандарты по которым происходит данная передача информации с нептуна альти-2 ответили что не могут так как у них договор с паралогом. Может кто сможет? С удовольствием помогу в разработке программы. Так как я больше знаком с прикладным нежели с системным программированием. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pooh 10 Жалоба Опубликовано: 17 л Ну чисто теоретически (не учитывая возможные юридические барьеры) можно отсниферить обмен данных между девайсом и паралогом. Есть такие штуки для винды? Как альтернатива - линух. Правда paralog под линухом пока еще толком не заработал с нептуном. Недавно из паралога прислали, что нашли таки баг в стеке ирда, который не позволял им нормально работать. Поправка должна была выйти с очередной версией ваниллы. Номера патчей и ядра я еще не уточнял. Лично мне интересно нептун именно с линухом связать. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Igor 12 Жалоба Опубликовано: 17 л Если нужны снифферы под винду, то это прямая дорога с Русиновичу на http://www.sysinternals.com , где лежит куча снифферов под все, что только можно. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
соло 75 Жалоба Опубликовано: 17 л честно говоря, не помню на сисинтерналсах ничего сниферящего ЮСБшные устройства, но это, скорее всего, не сложная задача. во всяком случае когда речь идет о конкретном устройстве. я бы справился, но вопрос во времени и целесообразности. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Igor 12 Жалоба Опубликовано: 17 л Если у Русиновича нет, то можно взять здесь http://sourceforge.net/projects/usbsnoop/ и здесь http://benoit.papillault.free.fr/usbsnoop/doc.php.en Ну, а настоящие джедаи старой крэкерской школы, начинавшие еще во времена FIDO и Turbo Debugger, заюзают для этого WinIce Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Voland 4 Жалоба Опубликовано: 16 л А если такой вариант.. Берем Neptune Maintenance Utility.. в поставке несколько DLL в том числе для работы с IrCom импортируем список функций. И пробуем с ними разобраться. Просто рассуждая... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
соло 75 Жалоба Опубликовано: 16 л да не нужны здесь ни ВинАйс, ни особые логические измышления. паттерн "мэн ин зе миддл": пишется драйвер, регистрится под таким же именем, как нептуновский. родной драйвер переименовывается и загружается под низ. фсе. если там без драйверов, то пишется ДЛЛина, обзывается как нептуновская, родная переименовывается и подгружается. фсе. это проще, чем ковырять дебагером утилиту. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pooh 10 Жалоба Опубликовано: 16 л А мейтенанс разве че-нить с записями логбука делает? Драйверы девайсов, подключаемых к паралогу, вроде сделаны на яве, как и сам паралог. Девайс драйвера нет - все идет через стандартные средства ирда. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Voland 4 Жалоба Опубликовано: 16 л А мейтенанс разве че-нить с записями логбука Ну вообще он имеет достаточно общирный доступ к девайсу, и перепрошивка и конфигурация девайса.. наверняка есть доступ к логбуку Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pooh 10 Жалоба Опубликовано: 16 л для перепрошивки логбук не нужен а у меня в нем только перепрошивка доступна Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Voland 4 Жалоба Опубликовано: 16 л Посмотри внимательней.. функционал у утилиты достаточно богат. Я после прошивки не стал трахаться с кнопками а через NMU все отконфигурил. Блин под рукой ничего нет.. пойдет хоть implib.exe из делфей. список функций глянуть Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pooh 10 Жалоба Опубликовано: 16 л На сколько я понимаю, NMU полнофункционально работает с версиями >=3.x.x, а у меня 2.6.2 по-моему. При апгрейде до 3.x.x трется логбук, как пишут на форуме альти-2. А чтобы забэкапить логбук, нужен паралог с лицензией. А я не хочу покупать на него лицензию, пока он под линухом не заработает. Заколдованный круг Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Voland 4 Жалоба Опубликовано: 16 л WINE не пробывал? может через него получиться? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Igor 12 Жалоба Опубликовано: 16 л А если такой вариант.. Берем Neptune Maintenance Utility.. в поставке несколько DLL в том числе для работы с IrCom импортируем список функций. И пробуем с ними разобраться. Просто рассуждая... Проблема не в API (IDA Pro в руки и вперед), а в протоколе. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
соло 75 Жалоба Опубликовано: 16 л мне так кааца, что если есть ДЛЛина, которая выдает наружу АПИ интерфейс к устройству, то нунах этот протокол. мало ли чего они там поменяют. зачем с ним ковыряться, если есть высокоуровневый АПИ? если кому интересно, у меня есть сделанная мною же програмулинка, которая берет любую ДЛЛину, смотрит на нее и генерит 2 файла - .c и .def. если их скомпилять, то получится другая ДЛЛина, которая выдает наружу точно такой же интерфейс, как первая. при загрузке она подгружает оригинальную ДЛЛ, а сама играет роль прокси для доступа к ней. сделано было специально, чтобы легко писать сниферы вызовов разных длл-ек. внутри с-файла есть табличка, пользуясь которой можно подменять вызовы оригинальных функций. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
pooh 10 Жалоба Опубликовано: 16 л WINE не пробывал? А в линухе дело даже не в этом. Проблема в том, что ядро (драйвер ирда) некорректно работает с контроллером нептуна. Багу нашли. Жду, пока появится ядро для моего дистрибутива с этими исправлениями. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Igor 12 Жалоба Опубликовано: 16 л мне так кааца, что если есть ДЛЛина, которая выдает наружу АПИ интерфейс к устройству, то нунах этот протокол. мало ли чего они там поменяют. зачем с ним ковыряться, если есть высокоуровневый АПИ? Там скорее всего протокол на уровне LPBYTE ReadData (); BOOL WriteData (LPBYTE data); Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
соло 75 Жалоба Опубликовано: 16 л Igor ну даже если так, лучше хватать его за это место, чем за DeveiceIoControl. А ежели сама апликуха сделана на джаве, то дебугать ее нативным дебагером будет кисло... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alexandr 13 Жалоба Опубликовано: 16 л Так вот в связи с тем что системным программированием я не занимался. Может кто сможет помочь с протоколом если в нём затыка. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
соло 75 Жалоба Опубликовано: 16 л Alexandr извини, помог бы, но во-первых не располагаю подобным прибором во-вторых не понятно, что будет на выходе Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
oldcrow 6 Жалоба Опубликовано: 16 л А может проще паралог поломать ? Давно руки у меня на него чешутся... Кто-нибудь пробовал это дело. Не думаю, что там много сил на защиту потратили Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Voland 4 Жалоба Опубликовано: 16 л Дело не в паломать.. дело в open source странные dll.. попробывал Dependency Walker'ом получить имена функций и обломался... Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
соло 75 Жалоба Опубликовано: 16 л jspWin.dll - java Native extension DLL для коммуникации с портом. Как это понятно из названия, содержит имплементацию нативных функций из класса SerialPortLocal пакета Serialio вот список функций // szExportName nExportOrdinal pEntryPoint { "_Java_Serialio_SerialPortLocal_SerClosePort@12", 0x0001, NULL }, { "_Java_Serialio_SerialPortLocal_SerConfigure@12", 0x0002, NULL }, { "_Java_Serialio_SerialPortLocal_SerFlowTask@12", 0x0003, NULL }, { "_Java_Serialio_SerialPortLocal_SerGetByte@12", 0x0004, NULL }, { "_Java_Serialio_SerialPortLocal_SerGetData@20", 0x0005, NULL }, { "_Java_Serialio_SerialPortLocal_SerGetInstanceLock@8", 0x0006, NULL }, { "_Java_Serialio_SerialPortLocal_SerGetLibVer@8", 0x0007, NULL }, { "_Java_Serialio_SerialPortLocal_SerGetPortList@8", 0x0008, NULL }, { "_Java_Serialio_SerialPortLocal_SerGetStatusAPM@8", 0x0009, NULL }, { "_Java_Serialio_SerialPortLocal_SerGetTimeoutRx@12", 0x000a, NULL }, { "_Java_Serialio_SerialPortLocal_SerGetTimeoutTx@12", 0x000b, NULL }, { "_Java_Serialio_SerialPortLocal_SerOpenPort@12", 0x000c, NULL }, { "_Java_Serialio_SerialPortLocal_SerPutByte@16", 0x000d, NULL }, { "_Java_Serialio_SerialPortLocal_SerPutData@20", 0x000e, NULL }, { "_Java_Serialio_SerialPortLocal_SerRxFlush@12", 0x000f, NULL }, { "_Java_Serialio_SerialPortLocal_SerRxOverflow@12", 0x0010, NULL }, { "_Java_Serialio_SerialPortLocal_SerRxReadyCount@12", 0x0011, NULL }, { "_Java_Serialio_SerialPortLocal_SerSendBreak@16", 0x0012, NULL }, { "_Java_Serialio_SerialPortLocal_SerSetDTR@16", 0x0013, NULL }, { "_Java_Serialio_SerialPortLocal_SerSetInstanceLock@12", 0x0014, NULL }, { "_Java_Serialio_SerialPortLocal_SerSetRTS@16", 0x0015, NULL }, { "_Java_Serialio_SerialPortLocal_SerSetTimeoutRx@16", 0x0016, NULL }, { "_Java_Serialio_SerialPortLocal_SerSetTimeoutTx@16", 0x0017, NULL }, { "_Java_Serialio_SerialPortLocal_SerSigBreak@12", 0x0018, NULL }, { "_Java_Serialio_SerialPortLocal_SerSigCD@12", 0x0019, NULL }, { "_Java_Serialio_SerialPortLocal_SerSigCTS@12", 0x001a, NULL }, { "_Java_Serialio_SerialPortLocal_SerSigDSR@12", 0x001b, NULL }, { "_Java_Serialio_SerialPortLocal_SerSigFrameErr@12", 0x001c, NULL }, { "_Java_Serialio_SerialPortLocal_SerSigOverrun@12", 0x001d, NULL }, { "_Java_Serialio_SerialPortLocal_SerSigParityErr@12", 0x001e, NULL }, { "_Java_Serialio_SerialPortLocal_SerSigRing@12", 0x001f, NULL }, { "_Java_Serialio_SerialPortLocal_SerTxBufCount@12", 0x0020, NULL }, { "_Java_Serialio_SerialPortLocal_SerTxDrain@12", 0x0021, NULL }, { "_Java_Serialio_SerialPortLocal_SerTxFlush@12", 0x0022, NULL }, с таким раскладом трейсить обмен еще проще - надо подменить класс в jar архиве Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
соло 75 Жалоба Опубликовано: 16 л вот их Java декларации native int SerGetLibVer(); native int SerOpenPort(SerialConfig serialconfig); native int SerConfigure(SerialConfig serialconfig); native int SerClosePort(int i); native int SerPutByte(int i, byte i_32_); native int SerPutData(int i, byte[] is, int i_33_); native int SerGetByte(int i); native int SerGetData(int i, byte[] is, int i_34_); native int SerRxFlush(int i); native int SerTxFlush(int i); native int SerTxDrain(int i); native int SerRxReadyCount(int i); native int SerTxBufCount(int i); native int SerRxOverflow(int i); native int SerSetDTR(int i, boolean bool); native int SerSetRTS(int i, boolean bool); native int SerSendBreak(int i, int i_35_); native int SerSetTimeoutRx(int i, int i_36_); native int SerSetTimeoutTx(int i, int i_37_); native int SerGetTimeoutRx(int i); native int SerGetTimeoutTx(int i); native int SerSigCTS(int i); native int SerSigDSR(int i); native int SerSigCD(int i); native int SerSigFrameErr(int i); native int SerSigParityErr(int i); native int SerSigOverrun(int i); native int SerSigRing(int i); native int SerSigBreak(int i); Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах