Вопрос по VirtualProtect (masm32)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by А®ТеS, 9 May 2007.

  1. А®ТеS

    А®ТеS Active Member

    Joined:
    25 Nov 2006
    Messages:
    198
    Likes Received:
    193
    Reputations:
    41
    Помогите плис
    Задача такая: пишу либу перехвата API на MASM32, код примерно такой (ненужное покоцано)
    Code:
    ...
    
    Most STRUCT
    Address dd ?
    ValB db ?
    ValD dd ?
    Most ends
    
    .....
    
    ;(--------------------------------------------------------
    ;HookCode - установить перехват кода
    ;Address - адрес кода
    ;NewAddress - адрес кода-перехватчика
    ;most - структура типа Most
    ;--------------------------------------------------------)
    
    HookCode proc Address : DWORD, NewAddress : DWORD, most : Most
    
    LOCAL OldProtect : DWORD
    
    invoke VitrualProtect, Address, 5, PAGE_EXECUTE_READWRITE, OldProtect
    
    End_HookCode:
    
    ret
    
    HookCode endp
    
    Почему то возвращает 0, то есть функция провалена. Как быть???
     
    #1 А®ТеS, 9 May 2007
    Last edited: 9 May 2007
    1 person likes this.
  2. hidden

    hidden 7H3 0N3

    Joined:
    23 Apr 2006
    Messages:
    550
    Likes Received:
    332
    Reputations:
    386
    Code:
    invoke Vi[color=red]tr[/color]ualProtect, Address, 5, PAGE_EXECUTE_READWRITE, [color=red]offset[/color] OldProtect
     
  3. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    GetLastError()
     
  4. Dude03

    Dude03 Elder - Старейшина

    Joined:
    5 Oct 2006
    Messages:
    49
    Likes Received:
    9
    Reputations:
    7
    Олька показывает последнюю ошибку. Можно ее юзать