Помогите разобраться с функционалом и принципом работы длл

Тема в разделе "WASM.RESEARCH", создана пользователем punxer, 19 июл 2010.

  1. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Длл и базу от иды прикладываю. (IDA 5.5) Либа представляет из себя мост ком порта на винсок, программа получала управление по ком порту, теперь от сервера, помогите понять как это реализовано в этом интрудере.
    http://www.rapidshare.ru/1579964

    Все что есть в базе я и так знаю. Мне не понятно как она 'эмулирует' ком порт, эмулирует ли или что делает.?

    Не проходите мимо))
     
  2. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Код (Text):
    1.  result = ((int (__stdcall *)(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD))(TrueCreateFileA + 48))(
    2.                  a1,
    3.                  a2,
    4.                  a3,
    5.                  a4,
    6.                  a5,
    7.                  a6,
    8.                  a7);
    9.     }
    как так?

    смотреть в иде.
     
  3. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Ну что Гуру трудно посмотреть?
     
  4. reversecode

    reversecode Guest

    Публикаций:
    0
    sub_10001310 - это оператор new
    а функцкия HookFn возращает указатель на класс
    тогда и

    Код (Text):
    1. res = ((int (__stdcall *)(_DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD, _DWORD))(TrueCreateFileA + 48))(
    2.                  a1,
    3.                  a2,
    4.                  a3,
    5.                  a4,
    6.                  a5,
    7.                  a6,
    8.                  a7);
    9.     }
    очевиден и понятен

    TrueCreateFileA это указатель на класс
    а TrueCreateFileA+48 это указатель на метод в классе

    дальше вы уже как нибудь сами