почему обращаетсяпо адресу 00001010 ?

Тема в разделе "WASM.BEGINNERS", создана пользователем Smith, 21 фев 2007.

  1. Smith

    Smith New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2005
    Сообщения:
    18
    Адрес:
    Russia
    тут после вызова ZwQuerySystemInformation вылетает ошибка типа вызов происходит по адресу 00001010 токо я не пойму почму... вот код:

    ;format PE GUI 4.0
    ;entry start
    include '%fasminc%\win32ax.inc'
    include '%fasminc%\DDK\ntoskrnl.inc'

    section '.data' data readable writable
    retb db ?
    buffer dd ?
    size equ 16*1024

    section '.code' code readable writable executable
    start:
    push PAGE_READWRITE
    push MEM_COMMIT+MEM_RESERVE
    push size
    push 0
    call [VirtualAlloc]
    mov [buffer], eax
    push 0
    push size
    push buffer
    push 5 ; это номер как я выяснил SystemProcessAndThreadsInformation
    call [ZwQuerySystemInformation]
    .end start
     
  2. Ultrin Faern

    Ultrin Faern New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2006
    Сообщения:
    170
    А какая команда идет после call [ZwQuerySystemInformation]?
    Правильно, любая! Так что адрес мог быть и не только 00001010.
    Поставь все-таки окончание какое-то, что ли...
     
  3. Smith

    Smith New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2005
    Сообщения:
    18
    Адрес:
    Russia
    ;format PE GUI 4.0
    ;entry start
    include '%fasminc%\win32ax.inc'
    include '%fasminc%\DDK\ntoskrnl.inc'

    section '.data' data readable writable
    buffer dd ?
    size equ 16*1024
    qwe dd ?
    section '.code' code readable writable executable
    start:
    push PAGE_READWRITE
    push MEM_COMMIT+MEM_RESERVE
    push size
    push 0
    call [VirtualAlloc]
    mov [buffer], eax
    push 0
    push size
    push buffer
    push 5 ; ýòî íîìåð êàê ÿ âûÿñíèë SystemProcessAndThreadsInformation
    call [ZwQuerySystemInformation]
    mov [qwe],eax
    push 0
    call [ExitProcess]
    .end start

    тоже самое...
     
  4. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Всё работает. По крайней мере в масме такой код
    Код (Text):
    1. .data
    2. size_   equ 16*1024
    3. buffer  dd  ?
    4. .code
    5. start:
    6. push PAGE_READWRITE
    7. push MEM_COMMIT+MEM_RESERVE
    8. push size_
    9. push 0
    10. call VirtualAlloc
    11. mov [buffer], eax
    12. push 0
    13. push size_
    14. push buffer
    15. push 5  ; ýòî íîìåð êàê ÿ âûÿñíèë SystemProcessAndThreadsInformation
    16. call ZwQuerySystemInformation
     
  5. K_O_T

    K_O_T New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2003
    Сообщения:
    25
    push dword [buffer]
     
  6. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    K_O_T
    push offset [buffer]
     
  7. OFFSIDE

    OFFSIDE New Member

    Публикаций:
    0
    Регистрация:
    23 сен 2006
    Сообщения:
    106
    return 0
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Зачем нам смещение адреса буфера?
    K_O_T всё верно написал.