|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 19, 2004 13:44:44 Subj |
|
|
Дата: Сен 19, 2004 15:06:33 Где находится не знаю, но писать/читать туда можно через SetClassLong/GetClassLong |
|
|
Дата: Сен 19, 2004 18:09:47 Loger > но писать/читать туда можно через SetClassLong/GetClassLong И класс окна сменить можно, в тот момент когда окно нах-ся на desktop'е ?? %) |
|
|
Дата: Сен 19, 2004 18:28:35
:hwnd explorer
Handle Class WinProc TID Module
010090 tooltips_class32 719CBAA8 7E8 comctl32
0201AC tooltips_class32 719CBAA8 7E8 shell32
0901E2 BaseBar 7757CD4B 7E8 shell32
BB0244 MenuSite 7757CD4B 7E8 shell32
0305D6 SysPager 7195DB22 7E8 shell32
0205CE ToolbarWindow32 7196BC2D 7E8 shell32
:
:
:hwnd -x 010090
Hwnd : 010090 (BC64A630)
Class Name : tooltips_class32
Module : comctl32
Window Proc : 719CBAA8
Win Version : 0.00
Parent : 010014 (BC6406E8)
Next : 0304EA (BC6DC990)
Owner : 03006C (BC649650)
Style :
Window Rect : 222, 708, 586, 738 (364 x 30)
Client Rect : 1, 1, 363, 29 (362 x 28)
:
:
:dd BC64A630
0010:BC64A630 ???????? ???????? ???????? ???????? ................
0010:BC64A640 ???????? ???????? ???????? ???????? ................
0010:BC64A650 ???????? ???????? ???????? ???????? ................
0010:BC64A660 ???????? ???????? ???????? ???????? ................
:
:
:addr explorer
:dd BC64A630
0010:BC64A630 00010090 00000003 E18478A0 812FC038 .........x..8./.
0010:BC64A640 BC64A630 00000400 80000300 200800A8 0.d............
0010:BC64A650 84800003 71950000 00000000 BC6DC990 .......q......m.
0010:BC64A660 00000000 BC6406E8 00000000 BC649650 ......d.....P.d.
И позыркай ещё "USER Object Table" в "Using SoftICE". |
|
|
Дата: Сен 19, 2004 18:39:13 · Поправил: bogrus Недавно помнишь говорили о превращении обычного потока в GUI (когда появляеться очередь сообщений и т.д.) , так вот при первом превращении ядро выделяет участок хипа в нашем процессе и этот участок уже заполнен всякой х-ней , в том числе и предопределёнными классами окон . И при инициализации common controls (InitCommonControlsEx,icce) регистрируються новые классы (смотря что проставили - ICC_COOL_CLASSES,ICC_USEREX_CLASSES и т.д.) , информация о них тоже записуеться в тот участок . Four-F Не видел , что ты уже ответил . Это я про юзер моде говорил , что смог увидеть :) |
|
|
Дата: Сен 19, 2004 18:57:30 Хе , в том участке лежат классы окон от Олли (можно юзать вместо IsDebuggerPresent :) , ещё например лежит Windows Commander , хотя он у меня не запущен . _779734437__memory.png |
|
|
Дата: Сен 19, 2004 19:06:35 Four-F Это мало что говорит, я надеялся что есть какие-нибудь "полу"документированные структуры в которых он(класс окна) содержится, например функция GetClassName куда-то там по адресу fs:[18] и т.д. лезет за классом, кажется, я пристально ещё не исследовал. |
|
|
Дата: Сен 19, 2004 19:19:35 Asterix GetClassName куда-то там по адресу fs:[18] и т.д. лезет за классом Так я за ней и следил :) Туда она и лезет . Только вот в том участке свиду такой бардак , надо бы узнать в каких структурах там это всё лежит . |
|
|
Дата: Сен 19, 2004 19:27:16 И ещё интересно, что будет если, всё-таки, удастся обнаружить этот класс окна и пропатчить его прямо в памяти, т.е. например что будет с тем окном, которое в этот момент нах-ся на desktop'е если мы таким варварским способом сменим его класс ;-) ? |
|
|
Дата: Сен 19, 2004 19:27:28 Вот перегрузился смотрю тот участок намного чище , т.е. там собираються все окна (и менюхи кстати) за весь сеанс работы виндовз . Это может быть полезно . Интересно под w9x тоже самое ? |
|
|
Дата: Сен 19, 2004 19:31:21 и пропатчить его прямо в памяти Там стоит атрибут только чтение . А запись поставить не даёт !! |
|
|
Дата: Сен 19, 2004 19:44:27 bogrus А из драйвера? Попробуй под SoftIce пропатчить. |
|
|
Дата: Сен 19, 2004 19:51:25 · Поправил: bogrus Не пользуюсь я SoftIce-ом , не умею и пока лень ставить :) Сдаёться мне , что ядро динамически проецирует какой-то свой участок\участки на все GUI процессы (имею ввиду на их юзер пространство) , может быть такое ? Это наверное эти , USER GDI объекты создаваемые HMAllocObject (из доки к айсу) ? |
|
|
Дата: Сен 19, 2004 22:04:44 Asterix, я не совсем верно понял вопрос. Самому лень смотреть, но в исходниках встречается функция InternalRegisterClassEx и структура CLS. [ bogrus: Сдаёться мне, что ядро динамически проецирует какой-то свой участок\участки на все GUI процессы (имею ввиду на их юзер пространство), может быть такое ? ] Может. Только, IMHO, логичнее запихивать всё это в ядро и оттуда тягать. А то какой-нить ур... нагадит из юзера, что тогда? |
|
|
Дата: Сен 19, 2004 22:18:48 пардон, кульная тема |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.078 |