了解mian函数
来源:互联网 发布:mac安装win7虚拟机 编辑:程序博客网 时间:2024/06/05 12:39
题目:
#include "stdio.h"
void print()
{
//请在此函数中写入相关代码
}
void main()
{
//不能写入任何代码
}
要求在print函数中写代码使整个程序运行后输出“hello world”
注意mian中不能写入任何代码,包括调用print函数。
参考代码:
#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()
{
#include "stdio.h"
void print()
{
//请在此函数中写入相关代码
}
void main()
{
//不能写入任何代码
}
要求在print函数中写代码使整个程序运行后输出“hello world”
注意mian中不能写入任何代码,包括调用print函数。
参考代码:
#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()
{
}
阅读全文
0 0
- 了解mian函数
- mian函数参数用法
- mian()函数的类型
- mian函数返回值解析
- Android2.2 Vold mian函数分析
- C#中mian函数为什么是static
- 为什么mian函数必须是static的
- c++基础一 (mian函数)
- mian()函数的argc和argv[]
- mian( )函数查找(Windows下逆向分析)
- mian()函数和return的用法讲解
- 使用mian函数的命令行参数
- C 和 C++ 中的mian函数解析
- 误把main()函数写成mian()函数竟然通过编译
- mianArg.cpp 使用mian函数的参数 f0512.cpp
- mian函数接受两个实参, 连成s…
- mian函数接受两个实参, 连成s…
- c++ mian函数运行完之后,继续执行
- 1084: [SCOI2005]最大子矩阵
- CS231n-assignment1-KNN篇
- Linux用户切换到root后运行图形程序报错(*GLib-GIO-CRITICAL **)
- JS入门之程序设计基础
- POJ 2739
- 了解mian函数
- Unity3D学习记录——NGUI Sprit
- 友元的使用用法:
- XRouter-像Retrofit一样使用阿里开源路由中间件
- python之路——迭代器与可迭代对象
- 剑指offer-不用加减乘除做除法
- #HDU 1421 简单dp
- linux下redis后台运行连接Java代码
- 数据库事务隔离级别-- 脏读、幻读、不可重复读