singlepost

dll библиотека, чем и как вскрывать? << На главную или назад  

Ситуация такая: есть железка подлкючается по USB, к ней есть драйвер и API. API в dll вскрыл с помощью DLL EXPORT Viewer //img691.imageshack.us/img691/7048/dll.png
А как работать с этими функциями представляю смутно не видно параметров, передаваемых в функции, не возвращаемых значений.
Возможно ли это как то(методот научного тыка?) узнать информацию?
ЗЫ производитель железа дров и apiсторонний по этому и мучаюсь.

13 ответов в теме “dll библиотека, чем и как вскрывать?”

  1. 13
    Евгений кросовкин ответил:

    >>Очень пахнет HID девайсом…
    Ой прошу прощения? *Достает освежитель*
    Железка далеко не HID
    Драйвер написан нормально, и все прекрасно работает, люди опытные писали.
    #12 это в некотором роде уникальная железка в интернетах про нее найти информацию невозможно, а производитель отдаст доку за оооооочень большие деньги.

    Да и собственно проблема решилась тем что решили писать под альтернативную железку(на нее скудная, инфа, но имеется).

  2. 12
    Cyber Max ответил:

    >> Железка предназначена для сбора информации с системы телеметрии.
    Очень пахнет HID девайсом…

    >> В общем то это попытка избежать такого исхода – экономия ресурсов
    >> при разработке, возможно такой подход не актуален.
    Вообще при работе с USB – лучше все делать самому или с пустой болванки, т.к. малейшая неточность в драйвере который писался на стороне – приведет к недельным ступорам в вылавливании бага в своем коде… как не печально – но факт!!!

  3. 11
    Михаил Шаханов ответил:

    Может, все-таки легче как-нибудь найти документацию?
    Однажды писал менеджер устройства под QNX для юсб-видеокамеры, для расшифровки протокола используя монитор юсб трафика. Удовольствие еще то =) Причем на одном из этапов, введя в строке поиска характерную цепочку байт в передаваемом пакете (!), удалось нагуглить сходный алгоритм расшифровки =) Но у вас протокол, наверное попроще…

  4. 10
    Cyber Max ответил:

    >> О_о Как быстро летит время, ай-яй-яй. А почему не актуален – ведь
    >> под XP тоже была версия…

    О, здрасте Вам!!! уже как 4-й год прекратилась разработка и поддержка SoftIce.. да под ХР х86 он еще работает, а вот чтобы поотлаживать что то более новое и тем более x64 нужно переходить на WinDbg.

    >> фирма разорилась или чего?…
    А вы как думаете.. такие колосальные вложения в отладчик, а лицензионных пользователей раз два.. и обчелся.. все юзали взломанную версию… Проект не окупал себя.

  5. 9
    Евгений кросовкин ответил:

    #2 Задача писать прикладной софт под эту железку. А разбираться что делают функции, не сильно нужно ибо имена экспортных сами за себя говорят. Ну думаю знаний должно хватить.

    #3 Завтра планировал в действии эту штуку опробовать с мониторингом траффика по USB что нибудь конкретное посоветуйте?
    Железка предназначена для сбора информации с системы телеметрии.

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

  6. 8
    Евгений кросовкин ответил:

    #8 изучайте флеш, и не надо офтопить.

  7. 7
    Игорь Мендыбаев ответил:

    Всем привет. Хотел спросить совета.
    В контакте, моем мире есть всякие приложения.
    Какие языки и проги нужно знать, для создания
    подобного рода игрушек?

  8. 6
    Cyber Max ответил:

    SoftICE хоть и круче но уже не актуален :) ) WinDbg нужно изучать :)

  9. 5
    Константин Смотритель ответил:

    О_о Как быстро летит время, ай-яй-яй. А почему не актуален – ведь под XP тоже была версия… фирма разорилась или чего?…

  10. 4
    Константин Смотритель ответил:

    Посмотри не имена, а сигнатуры функций – для С или С++ функций сигнатуры включают список параметров по правилам линковщика данной ОС (как посмотреть сигнатуры – разбирайся со своим viewer, а с правилами именования параметров – Гугл).

    Однако, боюсь, что функции принимают как параметр какие-нибудь структуры, тогда использовать библиотеку не представляется возможным без реверс инжиринга (тут только SoftICE и иже с ним помогут, включая дизассемблер). Аналогичная ситуация 90% имеет место для функций типа RCU_WriteCmd – там команда наверняка какой-то enum, и ты просто не сможешь послать корректную команду без знания этого enum, даже зная параметры функции.

    Проще будет написать свой драйвер – если железо, конечно, распространено. Тем более, что для USB драйвера можно использовать стандартную заготовку. Ищи доки по железу.

  11. 3
    Константин Смотритель ответил:

    Поддерживаю идею с USB монитором – тоже кошерно.

  12. 2
    Cyber Max ответил:

    + есть куча USB мониторов, которые анализируют протокол. Если разобраться с протоколом обмена, то в приниципе API не нужно.. можно и самому спокойно работать с девайсом.
    Кстати что хоть за устройство?

  13. 1
    Cyber Max ответил:

    В таких случаях обращаются на прямую к производителю за документацией.

    Второе можно взять IDA и посмотреть более детально экспорт, но чтобы понять что делают функции опять же нужно хорошо разбиратся в дизассемблировании.

    Третье то что Вы написали – это пальцем в небо. Задачу конкретнее please.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.