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

Discussion in 'WASM.BEGINNERS' started by Smith, Feb 21, 2007.

  1. Smith

    Smith New Member

    Blog Posts:
    0
    Joined:
    Mar 20, 2005
    Messages:
    18
    Location:
    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

    Blog Posts:
    0
    Joined:
    Jun 25, 2006
    Messages:
    170
    А какая команда идет после call [ZwQuerySystemInformation]?
    Правильно, любая! Так что адрес мог быть и не только 00001010.
    Поставь все-таки окончание какое-то, что ли...
     
  3. Smith

    Smith New Member

    Blog Posts:
    0
    Joined:
    Mar 20, 2005
    Messages:
    18
    Location:
    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

    Blog Posts:
    0
    Joined:
    Mar 12, 2005
    Messages:
    952
    Location:
    Russia
    Всё работает. По крайней мере в масме такой код
    Code (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

    Blog Posts:
    0
    Joined:
    Aug 8, 2003
    Messages:
    25
    push dword [buffer]
     
  6. nitrotoluol

    nitrotoluol New Member

    Blog Posts:
    0
    Joined:
    Sep 5, 2006
    Messages:
    848
    K_O_T
    push offset [buffer]
     
  7. OFFSIDE

    OFFSIDE New Member

    Blog Posts:
    0
    Joined:
    Sep 23, 2006
    Messages:
    106
    return 0
     
  8. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    Зачем нам смещение адреса буфера?
    K_O_T всё верно написал.