Re: ПереZагруZка
От: kero Россия  
Дата: 15.12.09 15:38
Оценка:
K>http://files.rsdn.ru/42164/4_win+d.zip

Еще две совсем короткие демки Z_бага (назовем его так ), обе на MessageBox-е.
Различаются вроде бы незначительно, однако результаты вполне могут расходиться.

1) http://files.rsdn.ru/42164/4_win+d_(mb).zip

.data
 _wnd  db "wnd",0
.data?
 hhook dd ?
.code

HookProc proc uses ebx edi nCode:UINT,wParam:WPARAM,lParam:LPARAM
  .if nCode==HCBT_CREATEWND
    mov ebx,lParam
    assume ebx:PTR CBT_CREATEWND
    mov edi,[ebx].lpcs
    assume edi:PTR CREATESTRUCT
    .if [edi].lpszClass==WC_DIALOG
      invoke GetDesktopWindow
      mov edx,eax
      invoke GetWindow,eax,GW_CHILD
      invoke GetWindow,eax,GW_HWNDLAST ; (Progman)
      invoke GetWindow,eax,GW_CHILD    ; (SHELLDLL_DefView)
      mov [ebx].hWndInsertAfter,eax
    .endif
    assume edi:nothing
    assume ebx:nothing   
    xor eax,eax  
  .else
    invoke CallNextHookEx,hhook,nCode,wParam,lParam
  .endif
  ret
HookProc endp

start:
  invoke GetModuleHandle,0
  invoke SetWindowsHookEx,WH_CBT,offset HookProc,eax,0
  mov hhook,eax
  invoke MessageBox,0,offset _wnd,offset _wnd,0
  invoke UnhookWindowsHookEx,hhook
  invoke ExitProcess,eax
end start


2) http://files.rsdn.ru/42164/4_win+d_(mb_enum).zip

.data
 _wnd  db "wnd",0
.data?
 hhook dd ?
.code

EnCh proc hWnd:HWND,lParam:LPARAM
  mov edx,lParam
  mov eax,hWnd
  mov dword ptr[edx],eax
  ret
EnCh endp

HookProc proc uses ebx edi nCode:UINT,wParam:WPARAM,lParam:LPARAM
  local var:DWORD
  .if nCode==HCBT_CREATEWND
    mov ebx,lParam
    assume ebx:PTR CBT_CREATEWND
    mov edi,[ebx].lpcs
    assume edi:PTR CREATESTRUCT
    .if [edi].lpszClass==WC_DIALOG
      invoke GetDesktopWindow
      mov edx,eax
      invoke EnumChildWindows,edx,offset EnCh,addr var
      mov eax,var
      mov [ebx].hWndInsertAfter,eax
    .endif
    assume edi:nothing
    assume ebx:nothing   
    xor eax,eax  
  .else
    invoke CallNextHookEx,hhook,nCode,wParam,lParam
  .endif
  ret
HookProc endp

start:
  invoke GetModuleHandle,0
  invoke SetWindowsHookEx,WH_CBT,offset HookProc,eax,0
  mov hhook,eax
  invoke MessageBox,0,offset _wnd,offset _wnd,0
  invoke UnhookWindowsHookEx,hhook
  invoke ExitProcess,eax
end start

.
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re: ПереZагруZка
От: kero Россия  
Дата: 16.12.09 21:53
Оценка:
Cообщение от Mark Russinovich:

The Win32k team has confirmed the bug.

По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[2]: ПереZагруZка
От: TarasCo  
Дата: 17.12.09 05:59
Оценка: :))) :))
Ну вот, всю тему спалили
Да пребудет с тобою сила
Re: запустить под стол без всяких хуков
От: kero Россия  
Дата: 18.02.10 06:38
Оценка:
А можно ли запустить под стол без всяких хуков?

Решение показалось парадоксальным, и потому предложил задачку в "Этюды"
Автор: kero
Дата: 07.01.10
.

Но не дождавшись адекватного отклика, помещаю решение сюда: http://files.rsdn.ru/42164/dlgbox_under.zip .
В примере — DialogBox (с закомментированным в исходнике вариантом), но аналогично и для обычного окна.
Для вывода окна из-под стола достаточно клика по столу, — особенность безбсодового запуска под стол
Проверено на XP.
---
Парадоксальность же вот в чем: для запуска ПОД стол обязательно наличие WS_EX_TOPMOST.
Вроде бы обязательно.
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[3]: ПереZагруZка
От: c-smile Канада http://terrainformatica.com
Дата: 19.02.10 03:13
Оценка: 6 (1)
Здравствуйте, kero, Вы писали:

K>А знаете — за это сообщение вам отдельное спасибо, кроме шуток. Еще бы узнать про Win98 (не виртуалку)...

K>Хотелось бы проверить предположение, что организация Z-order с тех пор не менялась.

Мы решали одну проблему с htmlayout и диалогами в конторе у которой есть оффициально исходники Windows.
Код вокруг диалогов и их модальности датирован вообще 91 годом или около того. Ядро во всяком случае.
Если они руководствуются принципом "работает — не трогай" (а похоже что это так), то я думаю что проблема вообще изначальная.
Re: FIXED (CVE-2010-0485)
От: kero Россия  
Дата: 30.06.10 13:20
Оценка: 6 (2)
"Microsoft Security Bulletin MS10-032 — Important
Vulnerabilities in Windows Kernel-Mode Drivers Could Allow Elevation of Privilege (979559)
Published: June 08, 2010"
(Win32k Window Creation Vulnerability — CVE-2010-0485)
http://www.microsoft.com/technet/security/bulletin/ms10-032.mspx
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[3]: ПереZагруZка
От: Vain Россия google.ru
Дата: 01.07.10 08:10
Оценка: :)
Здравствуйте, kero, Вы писали:

S>>+W7 x64.

K>Спасибо за отклик!
K>Да, мрачно-занятная складывается картинка ...
Ну ониж с нуля семёрку писали, а тут спалились
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.