Подключение NativeApi

Тема в разделе "WASM.BEGINNERS", создана пользователем _faq_, 6 июн 2008.

  1. _faq_

    _faq_ New Member

    Публикаций:
    0
    Регистрация:
    14 мар 2008
    Сообщения:
    46
    Здорово! Как подключить и работать с NT-функциями на masm32 & VC++6? И дайте pls ссылку, где можно про них почитать.
     
  2. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
  3. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
  4. _faq_

    _faq_ New Member

    Публикаций:
    0
    Регистрация:
    14 мар 2008
    Сообщения:
    46
    Подскажите, Nt-функции являются функциями r3, а ZW - r0 ?
     
  5. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
  6. Osen

    Osen Рие

    Публикаций:
    0
    Регистрация:
    5 апр 2008
    Сообщения:
    283
    Адрес:
    Париж
    _faq_
    Нет, в r3 они одинаковые, а в r0 - http://www.osronline.com/article.cfm?article=257
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    тут https://wasm.ru/forum/viewtopic.php?pid=243858#p243858 я пояснял разницу.
     
  8. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    скачать Platform SDK или поставить VS 2005, там есть winternl.h с прототипами Native API
    функций и структур
     
  9. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Подскажите, как компилировать натив в масм32? Нужен ли какой-то флаг при компиляции, или можно как консольное приложение?
     
  10. Sholar

    Sholar New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2011
    Сообщения:
    189
    Это же просто набор функций, какие флаги, о чем вы?
     
  11. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Видимо, имеется в виду компилирование драйверов.
     
  12. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    http://msdn.microsoft.com/en-us/library/fcc1zstk(v=vs.80).aspx
     
  13. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Я имел ввиду, если компилировать "обычные" native-приложения. Те, которые грузятся до винлогон (где синий экран, до полной загрузки винды).

    Т.е. надо флаг /SUBSYSTEM:NATIVE ,верно?
     
  14. blackcod

    blackcod New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2011
    Сообщения:
    21
    M0rg0t
    Верно И из импорта только ntdll.lib
     
  15. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    M0rg0t
    link /SUBSYSTEM:NATIVE /BASE:0x00010000
     
  16. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    Mikl___ А база нахзачем, про /DYNAMICBASE слыхал?
     
  17. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    RET
    нет, о ключе /DYNAMICBASE не знал. Можно по-подробнее? Или линки?
     
  18. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Mikl___
    Тонкий троллинг? Релоцируемый модуль...
     
  19. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Ezrah
    Как вы могли такое подумать? На самом деле первый раз увидел такой ключ, без подколов...
     
  20. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Подскажите, что я делаю не так. не получается запустить native api. В плане, загрузка винды идет, а моя строка не отображается.

    Я делаю два ехе, один нативное приложение, другой - копирует его в реестр. Впрочем, если делать вручную, все равно толку нет.

    Натив:
    Код (Text):
    1. .386                      
    2. .model flat, stdcall      
    3. option casemap :none  
    4.  
    5. include \masm32\include\ntdll.inc
    6. includelib \masm32\lib\ntdll.lib
    7. include \masm32\macros\windows.asm
    8.  
    9. .data
    10. $$$STRINGW unik,"hello from юникоде!"
    11. .code
    12.  
    13. Start:
    14. Invoke NtDisplayString,addr unik
    15. Invoke NtDelayExecution,0,10000
    16. ret
    17. end Start
    Код второго приводить не буду, там все банально, копирование в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager SetupExecute или BootExecute