怎样修改程序入口地址

 时间:2026-04-24 20:09:56

1、extern "C" int __cdecl mainCRTStartup(void);  //注意:若源文件是.c结尾的话,不需要这一句

2、__asm

{

MOV EAX, OFFSET main

MOV BYTE PTR[EAX], 0xB8 //MOV EAX, 0x      //mov

MOV DWORD PTR[EAX+1], OFFSET SHOWSTRING    //将printf语句地址放在eax+1处

MOV WORD PTR[EAX+5], 0xE0FF // JMP EAX:FFE0

}

3、#include "stdio.h"

extern "C" int __cdecl mainCRTStartup(void);  //注意:若源文件是.c结尾的话,不需要这一句

void print()

#pragma comment(linker, "/entry:print")

#pragma comment(linker, "/SECTION:.text,ERW")

#pragma comment(lib, "msvcrt.lib")

int mainCRTStartup();

void main();

__asm

{

MOV EAX, OFFSET main

MOV BYTE PTR[EAX], 0xB8 //MOV EAX, 0x      //mov

MOV DWORD PTR[EAX+1], OFFSET SHOWSTRING    //将printf语句地址放在eax+1处

MOV WORD PTR[EAX+5], 0xE0FF // JMP EAX:FFE0

}

mainCRTStartup();

// __asm

// {

// leave

// ret

// }

SHOWSTRING:

printf("hello,world!\n");

__asm

{

xor eax,eax

ret

}

}

void main()

{

}

  • 女孩子适合学什么专业
  • 星空之遇如何移除黑名单里的用户
  • 如何处理课堂教学中的突发事件
  • c++中的deque容器怎么重新指定容器长度?
  • 什么是亚健康?
  • 热门搜索
    我爱运动手抄报 数学手抄报图片大全 手抄报装饰简笔画 小学生元旦手抄报 关于理想的手抄报内容 教师节英语手抄报内容 俭以养德手抄报 放飞梦想手抄报素材 放飞心灵手抄报内容 关爱教育手抄报