Как патчить свой процесс в памяти ?

Тема в разделе "WASM.WIN32", создана пользователем SergX, 13 июл 2007.

  1. SergX

    SergX New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    19
    Понимаю что вопрос глупый.
    Подскажите как сделать правильно следующее:

    Код (Text):
    1. procedure TForm1.Button1Click(Sender: TObject);
    2. Var xEAX: DWord;
    3. begin
    4. Asm
    5. push EAX
    6. push EBX
    7. int 3
    8. mov  ebx, 0044D963h
    9. mov  byte ptr [EBX], 0FFh
    10.  
    11. nop
    12. //0044D962  |. B8 00000000    MOV EAX,0
    13. mov  EAX, 0
    14. nop
    15.  
    16. mov  xEAX, EAX
    17. pop  EBX
    18. pop  EAX
    19. End;
    20. if xEAX=0 Then Button1.Caption:='FUCK' else Button1.Caption:='COOL'
    21. end;
    Я хочу в памяти поменять команду mov EAX, 0 на mov EAX, FFh зная адрес команды.
    Нужно получить какие-то привилегии ?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    WriteProcessMemory
     
  3. SergX

    SergX New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    19
    Это я знаю. А через mov никак ?
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    для своего хватит и mov'a.
     
  5. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    SergX
    Нужно получить какие-то привилегии ?
    Секция кода должна быть доступна на запись.
     
  6. SergX

    SergX New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    19
    Всем спасибо уже разобрался.
     
  7. SergX

    SergX New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    19