怎样修改程序入口地址

 时间:2026-02-12 12:03:04

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容器怎么重新指定容器长度?
  • 什么是亚健康?
  • 热门搜索
    扬州凤凰岛生态旅游区 张家界旅游景点大全 黔西南旅游景点大全 沈阳到海南旅游专列 淮安旅游网 贵州赤水旅游攻略 温江旅游景点大全 埃及旅游签证 峨眉山旅游景点 周口旅游景点大全