Посл.ответ Сообщение  
Ранг: 44.3 (посетитель)Активность: 0.02↘ 0 Участник   
 
Создано: 17 июля 2013 23:01 · Поправил: YURETZS Личное сообщение  ·  #1   
Чем можно отловить шатдаун в Win8 PE
Нашел в в исследуемое проге вызов апи из ntdll
Но в 8-ке дело до этого не доходит, в метро фейсе шатдаун происходит где-то в другом месте.
Пробовал в PE-сборке патчить ntdll на шатдаун (sysenter процедуры NtShutdownSystem заменил на nop)
но винда отказывается грузить патченную длл, нужно где-то убрать проверку.
 | Сообщение посчитали полезным:   
Ранг: 533.6 (! ), 232thxАктивность: 0.45↘ 0 Uploader retired   
 
Создано: 17 июля 2013 23:05 Личное сообщение  ·  #2   
YURETZS пишет: Цифровая подпись.
-----  | Сообщение посчитали полезным: YURETZS    
Ранг: 44.3 (посетитель)Активность: 0.02↘ 0 Участник   
 
Создано: 17 июля 2013 23:16 Личное сообщение  ·  #3   
BoRoV И вправду, цифровая подпись не действительна.
А чем сгенерить действительную ?
Там вроде  RSA используется.
Тогда нужен приватный ключ, что практически нереально.
 | Сообщение посчитали полезным:    
Ранг: 337.6 (мудрец), 224thxАктивность: 0.21↘ 0.1 Участник born to be evil   
 
Создано: 17 июля 2013 23:23 Личное сообщение  ·  #4   
YURETZS 1. гадить процедуру проверки;
2. мемпатчить
-----  | Сообщение посчитали полезным:    
Ранг: 44.3 (посетитель)Активность: 0.02↘ 0 Участник   
 
Создано: 17 июля 2013 23:27 Личное сообщение  ·  #5   
ajax 1. Эта процедура в самом ntdll.dll ?
2. Если в винхексе замемпатчить ядреный модуль, система не падет в краш ?
 | Сообщение посчитали полезным:    
Ранг: 337.6 (мудрец), 224thxАктивность: 0.21↘ 0.1 Участник born to be evil   
 
Создано: 17 июля 2013 23:30 Личное сообщение  ·  #6   
YURETZS пишет: winpe - хз. по идее, если есть права - все должно быть ровно
-----  | Сообщение посчитали полезным:    
Ранг: 72.3 (постоянный), 133thxАктивность: 0.38↘ 0 Участник   
 
Создано: 18 июля 2013 03:25 Личное сообщение  ·  #7    
Ранг: 44.3 (посетитель)Активность: 0.02↘ 0 Участник   
 
Создано: 21 августа 2013 14:34 · Поправил: YURETZS Личное сообщение  ·  #8   
Ок, с этим разобрался, теперь  возникла небольшая проблемка - при выходе из приложения исчезает курсор мыши.
Как его вернуть через апи.
ShowCursor из user32.dll почему-то в метро не работает.
Может в 8-ке используется что-то другое.
В аттаче 
http://rghost.ru/48267441    лог мониторинга апифункций во время пропадания курсора.
 | Сообщение посчитали полезным:   
Ранг: 44.3 (посетитель)Активность: 0.02↘ 0 Участник   
 
Создано: 21 августа 2013 16:39 Личное сообщение  ·  #9   
Нашел я эту функцию - она вызывается из user32.dll по ординалу.
Вопрос - можно ли ее вызывать напрямую, без LoadLibraryW(x) и  GetProcAddress(x,x)  ?
 | Сообщение посчитали полезным:   
Ранг: 2014.5 (!!!!) Активность: 1.34↘ 0.25 Модератор retired   
 
Создано: 21 августа 2013 17:25 Личное сообщение  ·  #10   
Напрямую откуда? И как ты собрался её адрес получить без GetProcAddress?
 | Сообщение посчитали полезным:   
Ранг: 990.2 (! ! ! ) , 380thxАктивность: 0.68↘ 0 Модератор Author of DiE   
 
Создано: 21 августа 2013 17:28 Личное сообщение  ·  #11   
call sub_69E2B397  - куда ведет? если целиком рипнуть, то теоретически да
-----  | Сообщение посчитали полезным:    
Ранг: 2014.5 (!!!!) Активность: 1.34↘ 0.25 Модератор retired   
 
Создано: 21 августа 2013 17:49 Личное сообщение  ·  #12   
На вызов в ядро он ведёт, полагаю. Но рипать вместе с индексом сисколла как минимум костыль.
 | Сообщение посчитали полезным:   
Ранг: 44.3 (посетитель)Активность: 0.02↘ 0 Участник   
 
Создано: 21 августа 2013 17:55 Личное сообщение  ·  #13   
Hellspawn Да уже разобрался, в 9 байт вызов по ординалу ну никак не встроить.
Код вызова такой:
пришлось патчить еще одну либу.
Просто хотелось сократить чило патченных либ, но видно никак не получится.
 | Сообщение посчитали полезным: