Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [ASM] Манипуляция (https://forum.antichat.xyz/showthread.php?t=207442)

VISTALL 28.05.2010 18:05

[ASM] Манипуляция
 
Здраствуйте, есть нубский вопрос. Пожалуйста не посылайте читать книги или прочее по ассемблеру, ибо мне легче изучить по опыту...
Есть простенький код
http://i077.radikal.ru/1005/cd/2301eda2a3ae.jpg

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

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

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

slesh 28.05.2010 18:19

Это код где? В твоей проге или в чужой?
Если в твоей, то делай VirtualProtect на этот адрес чтобы была права на запись
затем просто тупо меняй значения *(ULONG*)addr = NewAddr;
Если это в чужой проге, то юзай WriteProcessMemory

VISTALL 28.05.2010 18:22

да делаю в середине проги...
Пожалуйста поподробней если что пример набросать

VISTALL 28.05.2010 18:40

буду очень благодарен

BrainDeaD 28.05.2010 19:41

Цитата:

Сообщение от VISTALL
да делаю в середине проги...

тебе же ясно задали вопрос: в чьей проге твоей или чужой?

VISTALL 28.05.2010 19:57

сори) тупанул....в своей

BrainDeaD 28.05.2010 20:29

Код:

DWORD OldProtect;
DWORD addr = АДРЕС_МЕСТА_КОТОРОЕ_НУЖНО_ПРОПАТЧИТЬ;
VirtualProtect(addr, 4, PAGE_EXECUTE_READWRITE, &OldProtect);

*(ULONG*)addr = НОВОЕ_ЗНАЧЕНИЕ;

VirtualProtect(addr, 4, OldProtect, &OldProtect);


VISTALL 28.05.2010 20:43

спасиб) посмотри что поправит

miako 29.05.2010 01:07

Скрин вроде из оли? Там же можно на лету менять, жмякай пробел и пиши свой адресс :)

VISTALL 29.05.2010 08:56

скрин то да) я то изменю) а дальше?) мне нужно изменения сделать на Си, что б длл засунуть


Время: 19:25