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

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

  1. _faq_

    _faq_ New Member

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

    Velheart New Member

    Публикаций:
    0
  3. UTeX

    UTeX New Member

    Публикаций:
    0
  4. _faq_

    _faq_ New Member

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

    UTeX New Member

    Публикаций:
    0
  6. Osen

    Osen Рие

    Публикаций:
    0
    _faq_
    Нет, в r3 они одинаковые, а в r0 - http://www.osronline.com/article.cfm?article=257
     
  7. wasm_test

    wasm_test wasm test user

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

    Asterix New Member

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

    M0rg0t Well-Known Member

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

    Sholar New Member

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

    Ezrah Member

    Публикаций:
    0
    Видимо, имеется в виду компилирование драйверов.
     
  12. Ezrah

    Ezrah Member

    Публикаций:
    0
    http://msdn.microsoft.com/en-us/library/fcc1zstk(v=vs.80).aspx
     
  13. M0rg0t

    M0rg0t Well-Known Member

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

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

    blackcod New Member

    Публикаций:
    0
    M0rg0t
    Верно И из импорта только ntdll.lib
     
  15. Mikl___

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

    Публикаций:
    14
    M0rg0t
    link /SUBSYSTEM:NATIVE /BASE:0x00010000
     
  16. RET

    RET Well-Known Member

    Публикаций:
    17
    Mikl___ А база нахзачем, про /DYNAMICBASE слыхал?
     
  17. Mikl___

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

    Публикаций:
    14
    RET
    нет, о ключе /DYNAMICBASE не знал. Можно по-подробнее? Или линки?
     
  18. Ezrah

    Ezrah Member

    Публикаций:
    0
    Mikl___
    Тонкий троллинг? Релоцируемый модуль...
     
  19. Mikl___

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

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

    M0rg0t Well-Known Member

    Публикаций:
    0
    Подскажите, что я делаю не так. не получается запустить 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