Неправильно пишу в память (С++)

eblan
Начинающий
Статус
Оффлайн
Регистрация
30 Окт 2017
Сообщения
43
Реакции[?]
4
Поинты[?]
0
Функция записи:
C++:
void WriteFunc() {
// alloced = свободная память
    DWORD oldProtect;
    int func_size = 3 * 4;
    VirtualProtect((void*)alloced, func_size, PAGE_EXECUTE_READWRITE, &oldProtect);
    memcpy((void*)alloced, (PBYTE)NewFunc, func_size);
    VirtualProtect((void*)alloced, func_size, oldProtect, &oldProtect);
}
Что пишем:
C++:
void NewFunc() {
    _asm {
        push 0x0
        push 0x1
        push 0x2
        push 0x3
    }
}
Что он пишет в память:
jmp 00DD537A



Что делаю неправильно?
 
eblan
Начинающий
Статус
Оффлайн
Регистрация
30 Окт 2017
Сообщения
43
Реакции[?]
4
Поинты[?]
0
Узнал что компилятор удаляет asm вставку оставляя только пустую функцию
 
Начинающий
Статус
Оффлайн
Регистрация
29 Сен 2018
Сообщения
70
Реакции[?]
3
Поинты[?]
0
Сверху Снизу