是否可以为包含函数的字节数组分配虚拟内存,将数组写入内存,然后以某种方式在虚拟内存中执行函数?函数在BYTE数组中直接记忆?
0
A
回答
0
你必须确保你要执行的字节确实是一个有效的CPU指令序列,否则“函数”肯定会崩溃,比如导致异常“非法指令”,“访问冲突”等。
接下来要做的是确保有问题的字节位于具有执行权限的记忆。 VirtualProtect
与PAGE_EXECUTE
让你。
然后你实际上将控制权交给你的功能。这可以是汇编代码,例如push <address>; ret;
或C++风格的静态函数调用,地址在变量中。
相关问题
- 1. Wifi直拨组记忆
- 2. 函数返回BYTE数组
- 3. 直接在Java API中使用C++数组,需要byte []
- 4. 直接访问组件中的函数
- 5. 如何记忆递归函数?
- 6. Python:用函数参数持久地记忆函数的策略?
- 7. 数据库记忆?
- 8. BufferedReader直接到byte []
- 9. 如何使用`reselect`来记忆数组?
- 10. JavaScript写一个函数缓存一个函数(记忆)
- 11. 将函数直接链接到函数(){}
- 12. 分裂byte []数组
- 13. 记忆指数算法
- 14. 直接在onclick中调用函数
- 15. 在函数引用参数直接
- 16. 科特林数据类的成员函数的记忆化
- 17. 使用Tritonus AudioSystem:将PCM byte []数组转换为mp3 byte []数组
- 18. 数组<byte> ^在字典中
- 19. s函数直接馈通
- 20. Python:创建一个函数装饰器,用于记忆一个函数
- 21. 来自JDK 1.6的JavaCompiler:如何将类字节直接写入byte []数组?
- 22. 在Python中的记忆化
- 23. 记忆化在Java中
- 24. 反向Convert.ToBase64String(byte []数组)
- 25. byte []强类型数组?
- 26. 字符串byte []数组
- 27. 如何直接索引查找函数返回的数组
- 28. 直接作为数组解释函数的返回值
- 29. 在D函数中接收数组的数组?
- 30. Angularjs使用函数直接在ng-click
“包含函数的字节数组”是一个过于宽泛的规范。什么表示?什么操作系统?什么硬件架构?没有重大的澄清,你的问题就不能得到回答。 –
任何特定的编程语言? – GolezTrol
C++。视窗。表示形式是机器代码(或者有效的代码)。 x86和x86-64 – replicant