IM
val code = ubyteArrayOf(
0x55u,//push rbp
0x48u, 0x89u, 0xe5u,//mov rbp,rsp
0x89u, 0x7du, 0xfcu,//mov DWORD PTR [rbp-0x4],edi
0x8bu, 0x45u, 0xfcu,//mov eax,DWORD PTR [rbp-0x4]
0x0fu, 0xafu, 0xc0u,//imul eax,eax
0x5du,//pop rbp
0xc3u,//ret
)
memScoped {
val pointer = code.toCValues().getPointer(this)
val func = pointer.reinterpret<CFunction<(Int) -> Int>>()
println(func.invoke(2))
println(func.invoke(3))
println(func.invoke(5))
}
байты взял отсюда https://godbolt.org/z/9P6Mfer1v, по идее просто возведение int в квадрат
При запуске сразу завершается, без сообщений об ошибках и без вывода
PS я знаю что хочу странного и небезопасного




