| Android | Дата: Среда, 22.02.2012, 10:12 | Сообщение # 1 |
Был не раз
Группа: Пользователи
Сообщений: 47
Статус: Offline
| Товарищи, подскажите, если я выделю своей прожке памяти с помощью Code function AllocMem(Size: Cardinal): Pointer; , то как потом менять байты памяти???
Хочу из тела проги в память копировать зашифрованый кусок, на который ругаются АВ, а потом прямо в памяти его расшифровать и подцепить к своей проге (код в виде ДЛЛ). В модуле Доступно только для пользователейadvapihook из моего сообщения http://delfcode.ru/forum/10-639-1 есть функции, чтоб использовать в своей проге загруженные в память библиотеки.
Вобщем, мне кажется, что таким образом можно попытаться обойти АВ, если вызывать функции из таких вот библиотек, которые бы существовали только в памяти.
Давайте попробуем разобраться.
Сообщение отредактировал Android - Среда, 22.02.2012, 10:12 |
| |
| |
| vvova15 | Дата: Среда, 22.02.2012, 11:22 | Сообщение # 2 |
Частый гость
Группа: Проверенные
Сообщений: 75
Статус: Offline
| ну для начала [url=http://msdn.microsoft.com/en-us/library/windows/desktop/aa366887(v=vs.85).aspx]VirtualAlloc-ом[/url] выделяй память , чтобы туда загрузить код: Code var pAddr:pointer; ... pAddr:=VirtualAlloc(0, сколько надо , MEM_COMMIT or MEM_RESERVE or MEM_TOP_DOWN, PAGE_EXECUTE_READWRITE{чтоб инструкции в буфере могли выполниться} ); ну а потом грузишь код в выделенную память(простым копированием с помощью CopyMemory) и передаешь управление типа: только в конец кода не забудь записать инструкцию jmp или push retn или для x64: jmp [addr] чтобы вернуть передать управление коду программы, после тгго как выполниться код в буфере
ICQ 185-398
|
| |
| |
| Android | Дата: Среда, 22.02.2012, 15:11 | Сообщение # 3 |
Был не раз
Группа: Пользователи
Сообщений: 47
Статус: Offline
| Можно ли как-то из тела проги скопировать данные прямо в память, потом интерпретировать это как длл и подгрузить из нее функции??? Никто таким не занимался?
|
| |
| |