首页
社区
课程
招聘
某公司笔试题目 求助
发表于: 2010-1-11 09:27 71087

某公司笔试题目 求助

2010-1-11 09:27
71087
#include "stdio.h"
void print()
{
    *
}

void main()
{
}

在*号处加一段代码,显示出"hello,world".

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (131)
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
这样的都不会,回家睡觉去算了!
2010-1-11 09:37
0
雪    币: 109
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
啊,还有这样的笔记题目啊,楼主没学过编程?
2010-1-11 09:47
0
雪    币: 246
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
main函数里面没调用,怎么显示啊
printf语法很简单的~~~~~~~~
2010-1-11 09:50
0
雪    币: 166
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
printf
2010-1-11 10:07
0
雪    币: 266
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
有点意思~~~
2010-1-11 10:13
0
雪    币: 196
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
有那么低级的面试?c++第一节课就是教这个例子。大学有c语言课程的应该都会~~printf是输出的意思
2010-1-11 10:22
0
雪    币: 183
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
printf("%s","Hello,world");
2010-1-11 10:31
0
雪    币: 142
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
挺难的,不考虑考虑编译器和操作系统特性的话,还确实比较麻烦,期待答案
我先来个vxworks操作系统下的吧,这个简单,因为vxworks下可以单独执行一个函数,
建立一个download工程后,在print函数里面写个printf语句就ok了,编译后ld加载,
然后在shell下执行print,就能输出hello world了。
正确答案期待中,目前没想到。
2010-1-11 10:32
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
//hello.c by MentalDease
#include "stdio.h"

void print()
{		
	#pragma comment(linker, "/entry:print")
	#pragma comment(linker, "/SECTION:.text,REW" )
	int mainCRTStartup();
	void main();

	__asm
	{
		MOV   EAX,  OFFSET main
		MOV   BYTE PTR[EAX], 0xB8  //MOV  EAX, 0x
		MOV   DWORD PTR[EAX+1], OFFSET SHOWSTRING
		MOV   WORD PTR[EAX+5], 0xE0FF // JMP  EAX
	}

	mainCRTStartup();

SHOWSTRING:
	printf ("i am MentalDease\n");
	getchar();
	
}

void main()
{
}
2010-1-11 10:54
0
雪    币: 59
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这道题让我想起了以前见到的类似的一个面试题目:
如何不用循环语句,而输出1到整数x之间的所有整数。

思路应该差不多:人为修改函数偏移地址。
2010-1-11 10:59
0
雪    币: 109
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
学习。。........
2010-1-11 11:10
0
雪    币: 142
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习学习。。。。
突然想起来,这个问题好像和另外一个面试题类似:在main函数之前,程序还做了哪些事情?
2010-1-11 11:52
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
14
这个应该是考知识面的题....
2010-1-11 11:59
0
雪    币: 266
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这道题。。。。让我不寒而栗
2010-1-11 12:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
145
16
什么公司?
厉害
2010-1-11 12:46
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
#include "stdio.h"
void print()
{
    printf("%s","Hello,world");
}

void main()
{
print();
}
就这个吧,差不多了
2010-1-11 12:52
0
雪    币: 378
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
18
void print()
{
	#pragma comment(linker, "/entry:print")

	void main();

	__asm
	{
	    push offset main
	}
	puts ("i am MentalDease\n");
	__asm
	{
	    ret
	}

}

void main()
{
	//printf ("main\n");
}

我是来膜拜了学习10L大牛的。
BTW:link时候得加上msvcrt.lib库
2010-1-11 13:45
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
别小看hello world,搜一下 C语言混乱编程大赛的helloworld版本吧
2010-1-11 14:45
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
20
是不是这里的?
不用循环,不用if,还可以用?:组合
http://bbs.chinaunix.net/viewthread.php?tid=1334148
2010-1-11 14:56
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
题目要求是不改main函数哦,好像有点难度的,不是普通的编程
2010-1-11 15:03
0
雪    币: 17
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
代码:
void print()
{
  #pragma comment(linker, "/entry:print")

  void main();

  __asm
  {
      push offset main
  }
  puts ("i am MentalDease\n");
  __asm
  {
      ret
  }

}

void main()
{
  //printf ("main\n");
}
支持10L,直接汇编出来,^_^
2010-1-11 15:26
0
雪    币: 26
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
MOV   EAX,  OFFSET main
MOV   BYTE PTR[EAX], 0xB8  //MOV  EAX, 0xB8
MOV   DWORD PTR[EAX+1], OFFSET SHOWSTRING
MOV   WORD PTR[EAX+5], 0xE0FF // JMP  EAX

我问一下  0xb8是什么指令?

还有 在vc编译的时候  offset SHOWSTRING  OFFSET伪指令这时求得的偏移量应该是相对于 MOV DWORD PTR[EAX+1], OFFSET SHOWSTRING 这句指令的便宜量吧?

而在实际执行的时候  是main函数中jmp 偏移量  这个偏移量并不是相对于main函数的呀

还有
mov eax, offset main
mov word ptr[eax + 5], 0xe0ff
你的注释说0xe0ff是 jmp eax  
eax中是main的函数地址
也就是无限递归了。。

感觉  这个代码有问题吧?
2010-1-11 15:36
0
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
没看到后面的说明,不太好做呢
2010-1-11 15:54
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
25
这些代码拿到VC6里调试,没一个成功的
2010-1-11 16:23
0
游客
登录 | 注册 方可回帖
返回
//