c - 如何从堆中执行代码
问题描述
如何将执行重定向到堆上的代码?操作系统:64位Linux
我尝试的是设置rip
我的数组,但我无法编译它。我的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int len = 0;
char *t;
int chr;
printf("Input code length: ");
scanf("%d", &len);
t = (char*)malloc(len+1);
for (int i = 0; i < len; ++i) {
scanf("%x", &chr);
t[i] = chr;
}
t[len] = 0;
asm("movl %%rip, [%0]" : "=g"(t));
}
解决方案
推荐阅读
- google-apps-script - 当使用 INDEX & MATCH 的单元格的结果发生更改时,将时间戳添加到 Google 表格
- git - 在我已经提交更改后,如何将提交分成两部分
- javascript - 问:如何设置公共路由和保护路由的组合?(反应路由器)
- android - 当有一个值被传递给 .onNext 时,RxJava Observable.create 返回 null
- entity-framework - 如何将sql查询转换为实体框架核心
- go - Golang 中的类型声明和类型定义有什么区别?
- c# - C# - 在 Razor 页面中使用 Razor 组件 - @onclick 事件不起作用
- javascript - 无法在 javascript 中访问对象属性
- python-3.x - python 3:比较嵌套字典
- html - 段落在 Bootstrap 下拉列表中溢出