· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Упаковщики, вторая часть

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Окт 15, 2003 21:20:38 · Поправил: volodya

Люди, я выкладываю линки на пререлиз статьи в форум. Причин несколько. Сама важная, и расстроившая меня больше всего - это недовольство статьей некоторыми моими бета-читателями. Причина проста - статья СЛИШКОМ СЛОЖНА для новичка. Она получилась весьма профессиональной и одобрена рецензентами, но рецензенты - сами профессионалы. Меня ругали за сумбурность изложения, недостаток пошаговых инструкций и объяснений на какую кнопочку в ImpRec надо жать и т.д., и т.п. Я ПРИНЦИПИАЛЬНО не хочу писать статьи, в которых рассказывается, какие кнопочки надо жать в ImpRec, но я не хочу скатываться до уровня Hex'a, который вообще непонятно для кого что-то о своей крутости пишет. Словом, ваши пинки я хотел бы выслушать, т.к. уверенности у меня уже нет ни в чем...


линки убраны


(без рисунков к статье, если не профессионал, помрете)

:(((
Ну, теперь пинайте, что ли :(


Дата: Окт 16, 2003 11:09:04 · Поправил: Безпощадный даос

SEH-list.gif:

NT_TIB.ExceptionList указывает только на верхний SEH-фрейм, а не на все сразу.
Т.е. две стрелки надо убрать.


ring_zero.gif:

Структуру KTHREAD учше прямо вложить в ETHREAD, а то указатели только запутывают.
KPROCESS.ThreadListHead указывает не на ETHREAD.Tcb, а на ETHREAD.Tcb.ThreadListEntry.

Я уже те говорил про это ;-)


SDT.gif:

SST.ServiceTableBase указывает на базу KiServiceTable, а не на функцию.
И что это за крестик, на который ParamTableBase кажет ? ;-)

Кстати SDT две штуки KeServiceDescriptorTable (экспортируется) и KeServiceDescriptorTableShadow (не экспортируется).
Когда поток создается, то KTHREAD.ServiceTable кажет на KeServiceDescriptorTable. Но до тех пор, пока он не сделает первый GUI-вызов - обратиться к какому-нить сервису из win32k.sys. Тогда система пихает в KTHREAD.ServiceTable указатель на KeServiceDescriptorTableShadow.
Вот это место:
:004B9627 _PsConvertToGuiThread@0 proc near
. . .
:004B9696 loc_4B9696:
:004B9696       push 1
:004B9698       push edi
:004B9699       call _PspW32ProcessCallout
:004B969F       cmp eax, ebx
:004B96A1       jl short loc_4B96BD
:004B96A3       push ebx
:004B96A4       push esi
:004B96A5       mov [esi+KTHREAD.ServiceTable], offset _KeServiceDescriptorTableShadow
                ; PTR SERVICE_DESCRIPTOR_TABLE
:004B96AF       call _PspW32ThreadCallout
:004B96B5       cmp eax, ebx
:004B96B7       jl loc_4FD07C
. . .
:004B96C0       retn
:004B96C0 _PsConvertToGuiThread@0 endp

KeServiceDescriptorTable отличается от KeServiceDescriptorTableShadow тем, что у нее вторая SST пустая, а у KeServiceDescriptorTableShadow кажет на сервисы из win32k.sys. В 2000 KeServiceDescriptorTableShadow идет сразу за KeServiceDescriptorTable, а в ХР наоборот.


Дата: Окт 16, 2003 17:51:24

Four-F

Йес, сэр. Усе поправим :)

NT_TIB.ExceptionList указывает только на верхний SEH-фрейм, а не на все сразу.
Т.е. две стрелки надо убрать.


Да я знаю, спасибо :) Просто я хотел показать ДИНАМИКУ :) Видимо, не получилось :(


Дата: Окт 17, 2003 06:32:46

SST.ServiceTableBase указывает на базу KiServiceTable, а не на функцию.
И что это за крестик, на который ParamTableBase кажет ? ;-)


Этот крестик - количество функций :) Рисунки поправлены. Все, что ты говорил - сделано.


Дата: Окт 17, 2003 15:29:03

Листинги со шрифтом в 8 напрягают сильно. Текст 12, а листинги и комментарии надо сделать 10, а то так глаза поломать не долго:)


Дата: Окт 17, 2003 17:36:33

DeMoNiX

Для этого будет ВЕРСТКА. Какие замечания/упреки/предложения по СМЫСЛУ?


Дата: Окт 17, 2003 18:06:04

Я благодарю seeQ, Quantum, Four-F, Asterix, Dr. Golova, Sten за помощь и подсказки. Все остальные, видимо, старались только на халяву что-то скачать. Линков больше нет. Ждите релиза статьи.


Дата: Окт 17, 2003 18:55:41

Volodya, ну зачем же так сразу..
Статья действительно "тяжеловата", тем более для новичков (как раз для тех, кто и будет читать\мыслить над ней), чего стоит только один раздел про подробный разбор seh...
ИМХО, многие просто еще не дочитали её до конца.

З.Ы. Этот цикл статей действительно стОящий, практически "аккумулятор" знаний 8-).
respect.


Дата: Окт 17, 2003 20:07:59

intuit

Ну я же не могу рассчитывать только на новичков. Я полагаю, что SEH вообще уникален. Такого больше не сделал никто. А кто сделал - тому делится было лень! Ведь нельзя же все вечно и всегда упрощать. Я и так старался... И рисунки рисовал и то, и се. Глава о SEH вообще ПОЛНОСТЬЮ ДВА РАЗА была переписана. А то, что для понимания тяжело - гы, я тоже от IDA сначала балдел. А теперь я себе и не представляю как мне без нее - это ж настолько удобно когда разберешься...


Дата: Окт 17, 2003 20:15:20

как раз для тех, кто и будет читать\мыслить над ней

Ну, надеюсь, не только. Там есть над чем и опытному человеку подумать. Таких материалов больше нигде в сети нет. Просто нет. И введение именно исходя из этого и строилось - рассмотреть все тонкости структур.

Ладно, пока работы еще ведутся. Но конец уже виден :)


Дата: Окт 17, 2003 20:41:29

volodya
Хватить оправдоваться!
МолодеЦ!!!


Дата: Окт 17, 2003 20:56:54

Edmond

ТАК ВЕРСТАЙ. ЩА НОВЫЙ ВАРИАНТ ДАМ.


Дата: Окт 17, 2003 21:14:20

volodya
ЕЩЁЁЁЁЁ?????????


Дата: Окт 17, 2003 22:08:53

volodya
я не спорю, ты прав, такого детального материала больше нет нигде в сети, тем более на русском! Проделана поистине громадная аналитическая работа, как говорится потомки оценят плоды трудов своих отцов.. %)
P.S.:Так держать! ведь где-то вдали мерцает свет последней части трилогии... Трилогии, к которой смело можно будет направлять любого, кто встал на тернистый путь reverse engineering ;)


Дата: Окт 17, 2003 23:11:49

последней части трилогии...

Трилогии?? Тут по-моему можно ещё как минимум пару частей добавить
к этим двум ;-)

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.058