ну для начала [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]
чтобы вернуть передать управление коду программы, после тгго как выполниться код в буфере