Сейчас на форуме: tyns777, zds, JustLife, 2nd, morgot (+5 невидимых)

 eXeL@B —› Программирование —› Работа с неизвестным классом в чужом процессе.
Посл.ответ Сообщение

Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 июня 2009 10:59
· Личное сообщение · #1

Доброго времени суток!
возникла задача следующего типа
есть софтина,использует MDI у MDICLient'a есть чайлд MULTILIST(таблица с колонками из листвью,как мне кажется) данный обьект не является стандартным,но как мне видится представляет из себя хитро сгруппированные,возможно с добавлением новых методов ListView.
Естесественно, на листы хэндлов не получить. Хэндл идет на весь MultiList.
Мне нужно в реальном (ну приближенном к реальному) времени получать все значения этих колонок,они постоянно апдейтятся. Желательно наиболее _добрым_ методом не вызывающим вопросы у антивирусов,хотя это не принципиально,снифер будет использован не в вирусе и если что юзер сам его разрешит.
Заранее благодарен.



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 25 июня 2009 11:26
· Личное сообщение · #2

Тебе не хэндл нужен, а указатель на класс. Тогда можно заинжектить DLL-ку в процесс и пользоваться сколько угодно.

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 июня 2009 11:56
· Личное сообщение · #3

2 Hexxx а можно немного подробнее?...
я думал через хендл можно послать какое-нить сообщение аля wm_gettext только подходящее для данного класса...ибо гет текст там дает значение только какой-то колонки.как я поглядел постоянно юзается две функции wm_user + xxx wm_user + yyy. как я понимаю при помощи данных мессаг и добавляются\обновляются данные. но ваш вариант был бы также очень интеесен,учитывая что мой - предпложение =)



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 июня 2009 12:02
· Личное сообщение · #4

если я вас правильно понимаю получив таки-както указатель на класс,я инжектю длл,которая пользует данный указатель и через него неким мифическим пока неизвестным мне образом обращается к методам сего класса,а инжектить длл нужно дабы быть в адресном пространстве процесса и вообще ? =)



Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 25 июня 2009 14:41
· Личное сообщение · #5

класс это таблица, го на васм читать статьи про COM изнутри.

-----
Shalom ebanats!




Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 июня 2009 14:48
· Личное сообщение · #6

2 SLV ушел на васм....жаль что АСМ мне далек =) все С да С и то понужде...эхь...



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 июня 2009 15:05
· Личное сообщение · #7

хм... может одарите хоть ссылочкой на что-то таки не васмовое? =) допустим по тому же ком,хотя что-то мне подсказывает что решение задачи сосвсем не одно =)



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 июня 2009 15:30
· Личное сообщение · #8

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




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 25 июня 2009 18:33
· Личное сообщение · #9

Есть волшебная кнопка Правка, не стоит ляпать подряд столько постов.


 eXeL@B —› Программирование —› Работа с неизвестным классом в чужом процессе.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати