Драйверы режима ядра

Тема в разделе "WASM.NT.KERNEL", создана пользователем wasm_test, 14 ноя 2008.

  1. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.548
    Адрес:
    Russia
    Folk Acid
    Свена рекомендует Four-F в своих статьях. Так что вопрос отпадает :derisive:
    А маны интела да. Без них трудно, хотяб поймете как процы работают в защищенном режиме.
     
  2. int2eh

    int2eh Alexander Leevy

    Публикаций:
    0
    Регистрация:
    19 авг 2007
    Сообщения:
    106
    Адрес:
    Москва
    TermoSINteZ
    Лучше П. И. Рудакова и К. Г. Финогенова никто еще, по-моему, не написал по-русски про Защищенный режим, книга называется "ЯЗЫК АССЕМБЛЕРА: уроки программирования" - М.ДИАЛОГ-МИФИ, 2001. - 640 c. ISBN 5-86404-160-2, и кто повторит все примеры в книге про PM, тот будет лучше всех знать ПК и Windows, а отладчики типа Syser и SoftIce для него станут родными. Вот так!
     
  3. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    2 Great:
    предлагаю зафиксать эту тему в топе под-форума, выделить отдельный топик по обсуждению этого фака, куда слить все посты после твоего первого с указанием ссылки на обсуждение.
     
  4. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    Great
    Это наверное самый полезный пост за два года на васм. Именно такой какой он должен быть. Наверное и не за два года, а с момента ухода володи. Васм жив. Выражаю огромное уважение.
     
  5. n1kt0

    n1kt0 Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    160
    уважаемые! а нельзя сделать пак для девелопенга и выложить его куда-нить на торрент ?
    просто некоторые вещи которые написал Great я никак не могу найти. Все что нужно,ну кроме конечно сорсов win2k, win2k3 etc т.к это варез
     
  6. n1kt0

    n1kt0 Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    160
    вообще лучше бы конечно более собранно расказать о всех инструментах которые потребуются(не в укор Great - его статья неплохая)
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    сорцы windows 2003 server sp1 части ядра это не варез и это называется Windows Research Kernel, что свободно доступно для скачивания на сайте MS. Вся фишка в том, что сорцов ядра там не особо много (вес архива 8 мб говорит обо всём, в сравнении с сорцами 2000 и нт, которые от 200мб и выше), но wrk компилируемый - то, что не представлено в виде сорцов, представлено в виде либ и объектников ,и все вместе собирается в собственную сборку ядра. оно рабочее и его можно поместить на Windows 2003 вмест оригинального ядра, все будет работать и можно будет отлаживать систему в исходных кодах в WinDbg
     
  8. n1kt0

    n1kt0 Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    160
    короче выкладывай пак "все что нужно" на торрент куда-нить.Отмазки не принимаются:)
     
  9. rommanio

    rommanio New Member

    Публикаций:
    0
    Регистрация:
    4 май 2008
    Сообщения:
    151
    М-м... немного не так. Они скачиваются при условии, что ты входишь в MSDNAA. А поскольку туда не входят частные лица, только образовательные учреждения, то это - все равно, что варез. По крайней мере, так было немногим более месяца назад и сомневаюсь, что ситуация изменилась.
     
  10. Ra_Sh

    Ra_Sh New Member

    Публикаций:
    0
    Регистрация:
    23 сен 2008
    Сообщения:
    46
    Пара ссылок в копилку
    http://www.debuginfo.com/tools.html
    http://www.syseclabs.com/english/tools.php
     
  11. 0x56

    0x56 New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2008
    Сообщения:
    63
    Там в SysecLabs WinDbg Script есть отдельный скрипт подсветки для регистров в папке ConTEXT_Highlighter.
    Как его прикрутить?
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Добавлю одно замечание по поводу символов.
    Для некоторых, с нетом как у меня 7kb/s, файл такого размера нужно неделю качать. Я сделол так - в сисире есть утилита для скачивания символов только для определённого модуля. Очень удобно. Просто выбрать файл для которого нужны символы и обождать пару минут - он сам их скачает.
    [​IMG]
    Да и вообще лично для меня - альтернатива сисер, но в той версии что у меня(1.97.1900.1038) значительный баг который усложняет трассировку - это заметил каждый, кто трассировал системный шлюз(KiFastCallEntry), на следующем шаге мы оказываемся в контексте другого потока на этой инструкции, но думаю его пофиксят/пофиксили.
    Советую всем так и поступать. Кстати эти символы отлично идут под олю, просто нужно их скопировать в её каталог, я её использую для разбора ядра, впрочем кому как.

    Great: ну либо ты обосновываешь все что написал, либо пишешь что это твое ИМХО. И не "виндбг/ида/все остальное гавно", а "я не юзаю виндбг/иду/... потому что считаю, что ... лучше". Выбирай выражения, читать твое сообщение с оттенками мании величия не очень приятно.)
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Всё время вручную делол недок. структуры, ну вот захотел глянуть что это за утиль, оказалось очередная консольная дрянь, которая не хочет работать, короче музейный экспонат.)
     
  14. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Clerk
    Версия что лежит в гугле в первых ссылках у меня тоже не хотела. Возьми ту, что на васме лежит.
     
  15. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Clerk
    Она прекрасно работает, просто некоторые версии, выложенные где попало, бывает, не запускаются.
    А утилита очень полезная - вместо ручного составления сама тебе генерит все структуры. На вход скармливаешь, например, ntoskrnl.pdb и получаешь ntoskrnl.h с описаниями. Так что я бы на твоем месте не стал отзываться о ней как о "очередной консольной дряни" и "музейном экпонате" - не 3.14здите пока не посмотрите ;)
     
  16. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Great
    Скачал с васма, отработала нормально.
    Не в обиду сказано, но то что получилось можите засунуть себе куда положено.)
    Накой мне эти хидеры, если это всё есть в сорсах(бегло пролистал для тогоже нтоса).
    Скормил ей winsrv.pdb(для .dll). Никаких структур нет:
    Код (Text):
    1. //////////////////////////////////////////////////////////////////////////
    2. Typedefs
    3.  
    4.  
    5. //////////////////////////////////////////////////////////////////////////
    6. Enumerations
    7.  
    8.  
    9. //////////////////////////////////////////////////////////////////////////
    10. Constants
    11.  
    12.  
    13. //////////////////////////////////////////////////////////////////////////
    14. Structs
    15.  
    16.  
    17. //////////////////////////////////////////////////////////////////////////
    18. Classes
    19.  
    20.  
    21. //////////////////////////////////////////////////////////////////////////
    22. Unions
    23.  
    24.  
    25. //////////////////////////////////////////////////////////////////////////
    26. Functions
    27.  
    28.  
    29. //////////////////////////////////////////////////////////////////////////
    30. Globals/Statics
    31.  
    32.  
    33. //////////////////////////////////////////////////////////////////////////
    34. Public symbols
    А далее список рва экспортов и всё. Пробовал и хал тоже, конкретно - ничего.)
    Ты лучше пость, а не дописывай, а то заметить не листавши это трудно.
    Это моё ИМХО. Мне всёравно.)
     
  17. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    не знаю где ты взял свои символы и свою версию тулзы, для 2k3 sp2:
    Код (Text):
    1. //////////////////////////////////////////////////////////////////////////
    2. Typedefs
    3.  
    4.  
    5. //////////////////////////////////////////////////////////////////////////
    6. Enumerations
    7.  
    8. enum _KDPC_IMPORTANCE {
    9.   LowImportance = 0x0,
    10.   MediumImportance = 0x1,
    11.   HighImportance = 0x2,
    12. };
    13.  
    14. enum _PP_NPAGED_LOOKASIDE_NUMBER {
    15.   LookasideSmallIrpList = 0x0,
    16.   LookasideLargeIrpList = 0x1,
    17.   LookasideMdlList = 0x2,
    18.   LookasideCreateInfoList = 0x3,
    19.   LookasideNameBufferList = 0x4,
    20.   LookasideTwilightList = 0x5,
    21.   LookasideCompletionList = 0x6,
    22.   LookasideMaximumList = 0x7,
    23. };
    24.  
    25. ........................ other enums ................
    26.  
    27.  
    28. //////////////////////////////////////////////////////////////////////////
    29. Constants
    30.  
    31.  
    32. //////////////////////////////////////////////////////////////////////////
    33. Structs
    34.  
    35. struct LIST_ENTRY64 {
    36.  
    37.   // static data ------------------------------------
    38.  
    39.   // non-static data --------------------------------
    40.   /*<thisrel this+0x0>*/ /*|0x8|*/ unsigned __int64 Flink;
    41.   /*<thisrel this+0x8>*/ /*|0x8|*/ unsigned __int64 Blink;
    42.  
    43.   // base classes -----------------------------------
    44.  
    45.   // friends ----------------------------------------
    46.  
    47.   // static functions -------------------------------
    48.  
    49.   // non-virtual functions --------------------------
    50.  
    51.   // virtual functions ------------------------------
    52. };
    53. // <size 0x10>
    54.  
    55. struct LIST_ENTRY64 {
    56.  
    57.   // static data ------------------------------------
    58.  
    59.   // non-static data --------------------------------
    60.   /*<thisrel this+0x0>*/ /*|0x8|*/ unsigned __int64 Flink;
    61.   /*<thisrel this+0x8>*/ /*|0x8|*/ unsigned __int64 Blink;
    62.  
    63.   // base classes -----------------------------------
    64.  
    65.   // friends ----------------------------------------
    66.  
    67.   // static functions -------------------------------
    68.  
    69.   // non-virtual functions --------------------------
    70.  
    71.   // virtual functions ------------------------------
    72. };
    73. // <size 0x10>
    74.  
    75. struct LIST_ENTRY32 {
    76.  
    77. ................ other structs .............
    78. и так далее со всеми структурами
    список только из экспортов у тебя может означать помоему либо что символы какието кривые либо что ты скормил ехе а не pdb (правда я хз можно ли так :lol: )
     
  18. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Символы я взял тут: http://msdl.microsoft.com/download/symbols
    Утилиту взял тут: http://wasm.ru/tools/21/pdbdump.zip
    Это ты для какого модуля пример привёл ?
    Сделой для winsrv.dll и посмотри что получится.
     
  19. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Great
    Всё верно, это утилита кривая. Оля например символы из этого модуля нормально воспринимает:
    [​IMG]
    Может существует есчо подобная утилита ?
    offtop\
    Это всё баян, я вот подумал, создал ты бы лучше подобную тему, но про другую ось, про линукс например, как её поставить, как в ней отладчик заюзать, а то винь уже надоела, это былобы интересно.
     
  20. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ntkrnlpa.exe кажется

    попробую
    баян баяном, а спрашивать не перестают. отсюда вывод, что это кому-то надо :lol:
    а под линукс я не кодю, только немножко