[ASM] Манипуляция

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by VISTALL, 28 May 2010.

  1. VISTALL

    VISTALL Banned

    Joined:
    3 May 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Здраствуйте, есть нубский вопрос. Пожалуйста не посылайте читать книги или прочее по ассемблеру, ибо мне легче изучить по опыту...
    Есть простенький код
    [​IMG]

    вопрос как заменить
    call 771B48BE

    На вызов своего адреса....типа
    call 43434343

    Лучше пример на С++(асм вставка(_asm) или методами С++), или чистый асм(нежелаетьно)
     
  2. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Это код где? В твоей проге или в чужой?
    Если в твоей, то делай VirtualProtect на этот адрес чтобы была права на запись
    затем просто тупо меняй значения *(ULONG*)addr = NewAddr;
    Если это в чужой проге, то юзай WriteProcessMemory
     
  3. VISTALL

    VISTALL Banned

    Joined:
    3 May 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    да делаю в середине проги...
    Пожалуйста поподробней если что пример набросать
     
  4. VISTALL

    VISTALL Banned

    Joined:
    3 May 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    буду очень благодарен
     
  5. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    тебе же ясно задали вопрос: в чьей проге твоей или чужой?
     
  6. VISTALL

    VISTALL Banned

    Joined:
    3 May 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    сори) тупанул....в своей
     
  7. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    Code:
    DWORD OldProtect; 
    DWORD addr = АДРЕС_МЕСТА_КОТОРОЕ_НУЖНО_ПРОПАТЧИТЬ;
    VirtualProtect(addr, 4, PAGE_EXECUTE_READWRITE, &OldProtect); 
    
    *(ULONG*)addr = НОВОЕ_ЗНАЧЕНИЕ;
    
    VirtualProtect(addr, 4, OldProtect, &OldProtect);
    
     
    #7 BrainDeaD, 28 May 2010
    Last edited by a moderator: 28 May 2010
  8. VISTALL

    VISTALL Banned

    Joined:
    3 May 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    спасиб) посмотри что поправит
     
  9. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    Скрин вроде из оли? Там же можно на лету менять, жмякай пробел и пиши свой адресс :)
     
  10. VISTALL

    VISTALL Banned

    Joined:
    3 May 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    скрин то да) я то изменю) а дальше?) мне нужно изменения сделать на Си, что б длл засунуть