Native

Тема в разделе "WASM.HEAP", создана пользователем dgs, 21 апр 2009.

  1. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Привет, всем как можно отлаживать Native приложения и в общем интересно узнать как вы их запускаете...
     
  2. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Драйверы?
     
  3. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    ring 3
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Меняем в хидере тип подсистемы.
     
  5. x0man

    x0man New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2008
    Сообщения:
    358
    Через задницу мой друг, через задницу запускаем :) так же как и винда :))))
     
  6. rommanio

    rommanio New Member

    Публикаций:
    0
    Регистрация:
    4 май 2008
    Сообщения:
    151
    WinDbh отладка ядра поддерживает вроде и нативные приложения... точно не знаю, врать не буду.
     
  7. Clerk

    Clerk Забанен

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

    SmanxX1 Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    139
    Запускать во время загрузки венды, хз как точно это назвать. /

    Кладешь свою прогу в system32
    Затем в реестре
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
    в ключ BootExecute добавляешь имя программы.
    Вроде все.
     
  9. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    SmanxX1 так и делаю, тока не понятно как отладку правильно вести, пока додумался только логами и листаю учебники по WinDbg...
    Я на фасме творю, и это типа первое мое native приложение и я не совсем понимаю о чем идет речь, нужно мне всего для начала вывести пару строк и еще пытаюсь прочитать файл... если не трудно подскажите простенькие доки по этому делу, а то у меня уже мозг плавится...
     
  10. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Вот еще перевел исходник с PE64 на PE взял с flatassembler.com

    ps кнопка редактировать пропала...
     
  11. SmanxX1

    SmanxX1 Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    139
    Имеется ввиду поле Subsystem из опционального заголовка PE.
    Код (Text):
    1. #define IMAGE_SUBSYSTEM_UNKNOWN              0   // Unknown subsystem.
    2. #define IMAGE_SUBSYSTEM_NATIVE               1   // Image doesn't require a subsystem.
    3. #define IMAGE_SUBSYSTEM_WINDOWS_GUI          2   // Image runs in the Windows GUI subsystem.
    4. #define IMAGE_SUBSYSTEM_WINDOWS_CUI          3   // Image runs in the Windows character subsystem.
    5. #define IMAGE_SUBSYSTEM_NATIVE_WINDOWS       8   // image is a native Win9x driver.
    6. #define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI       9   // Image runs in the Windows CE subsystem.
     
  12. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    а разобрался, вот еще вопросик, а как вывести русские слова, через NtDisplayString
     
  13. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Clerk
    подмена подсистемы не прокатит если юзается NtDisplayString или еще что-нибудь такое, что возможно только до загрузки вин32 подсистемы.


    А вот WinDbg прекрасно справляется с отладкой.
     
  14. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    А ребят VidDisplayStringXY требует VidInitialize?
     
  15. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Great
    Конечно. Я всеголишь сказал как из под вин32 запустить.
     
  16. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Решил поднять тему т. к. появляются вопросы, задать их не кому, а китайский я пока очень плохо знаю... Буду благодарен если скажете от куда мне импортировать функции:

     
  17. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Из ядра, оно их экспортирует, это обёртки вокруг сервисов BootVid.dll
    Это не для юзермодных приложений, а из драйверов юзается.
     
  18. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    А как же тогда реализовать обратный отсчет в приложении, что бы не было черной полоски? autochk.exe как то же это делает...
     
  19. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    млять где кнопка редактировать...
     
  20. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    dgs
    через символ \r, который переводит курсор в начало строки.
    NtDisplayString поддерживает только два управляющих символа - \r и \n