тут после вызова 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
А какая команда идет после call [ZwQuerySystemInformation]? Правильно, любая! Так что адрес мог быть и не только 00001010. Поставь все-таки окончание какое-то, что ли...
;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 тоже самое...
Всё работает. По крайней мере в масме такой код Код (Text): .data size_ equ 16*1024 buffer dd ? .code 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