概述
/*
* 作者: 冷却
* 时间: 2009年2月21日
* E-mail: leng_que@yahoo.com.cn
* 描述: 演示三种用C语言来执行机器码的方式
*/
#include
//一段机器码,功能为:对传入的整型参数进行加一操作,然后返回结果。
unsigned char machineCode[] =
"/xe9/x07/x00/x00/x00/xcc/xcc/xcc/xcc/xcc/xcc/xcc/x55/x8b/xec/x83/xec/x40/x53/x56"
"/x57/x8d/x7d/xc0/xb9/x10/x00/x00/x00/xb8/xcc/xcc/xcc/xcc/xf3/xab/x8b/x45/x08/x83"
"/xc0/x01/x5f/x5e/x5b/x8b/xe5/x5d/xc3";
//第一种执行方式
void exe_1()
{
int result;
result = ( (int (*)(int))machineCode )(7);
printf("%d/r/n",result);
}
//第二种执行方式
void exe_2()
{
int result;
int (*Fun)(int);
Fun = (void*)machineCode;
result = Fun(7);
printf("%d/r/n",result);
}
//第三种执行方式
void exe_3()
{
int result;
typedef int(*Fun)(int);
Fun p=NULL;
p = (Fun)machineCode;
result = p(7);
printf("%d/r/n",result);
}
//主函数入口
void main()
{
exe_1();
exe_2();
exe_3();
}
最后
以上就是聪明跳跳糖为你收集整理的从机器码能反编译c语言吗,如何在C语言中直接执行机器码的全部内容,希望文章能够帮你解决从机器码能反编译c语言吗,如何在C语言中直接执行机器码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复