我是靠谱客的博主 聪明跳跳糖,最近开发中收集的这篇文章主要介绍从机器码能反编译c语言吗,如何在C语言中直接执行机器码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

/*

* 作者: 冷却

* 时间: 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语言中直接执行机器码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部