本论坛为只读模式,仅供查阅,不能注册新用户,不能发帖/回帖,有问题可发邮件 xikug.xp (^) gmail.com
查看: 12642|回复: 43

赛门铁克的狗血电话面试。。。。 [复制链接]

Rank: 2

发表于 2011-11-4 09:11:24 |显示全部楼层
昨天赛门铁克一个技术给我电话,喷了快一个小时。。。我快崩溃了!

一开始他还问我内存泄露怎么查出来是哪个驱动泄露了。。。。。我说这个有tag的话好查,没tag的话,就几乎查不出来

然后他还说,这个应该很容易吧。。。。。。估计他是以应用层的标准来考虑的,应用层的话,内存泄露,相应进程的内存占用可以看出来的


但是他根本不清楚的是。。。。驱动是可以工作于任何一个进程的地址空间的。。。。这个几乎没有查出来的可能性,如果没有标记的话。

明显不懂还要让人觉得他很懂。。。

要不是处于礼貌考虑,我就直接挂电话了。。。

全问些那么二的问题。。。。什么-1在内存怎么存储的。。。用过socket函数没有,注册表函数有哪些,tcp数据包怎么传送到对方机器的,tcp包在哪一层。。。。。然后竟然问什么怎么hook。。。。听了这个问题我都不晓得咋个回答了。。。然后又问如何让应用层程序与驱动通信。。。你要是问如何驱动主动与应用程序通信,比如来个内核版本的msgbox。。这样反过来问还显得更高深些。。。。。

最后他终于把我问到了。。。。他问我如何让自己的代码在main函数之前得到执行,而且不许做什么其它处理。。。这个确实把我问到了。。。


完全毁了赛门铁克在我心中的形象了。。。。。

Rank: 1

发表于 2011-11-4 10:46:21 |显示全部楼层
这么悲催........

Rank: 1

发表于 2011-11-4 16:51:48 |显示全部楼层

Rank: 1

发表于 2011-11-4 16:52:07 |显示全部楼层
楼主我们俩是兄弟啊

Rank: 1

发表于 2011-11-4 18:02:04 |显示全部楼层
本帖最后由 孟贤 于 2011-11-4 18:04 编辑

他问我如何让自己的代码在main函数之前得到执行,而且不许做什么其它处理。。。这个确实把我问到了。。。


也许赛门铁克一直掌握着加载器的一个漏洞,能够加载任意可执行程序,像lpk.dll一样,无需注入;

Rank: 2

发表于 2011-11-4 18:06:32 |显示全部楼层
孟贤 发表于 2011-11-4 18:02
他问我如何让自己的代码在main函数之前得到执行,而且不许做什么其它处理。。。这个确实把我问到了。。。

...

实际上。。。我后来考虑了下。。。TSL可以做这个事情,也就是在全局变量初始化的时候。。。不过MS的编译器不支持这个东西。。但是,这么二的问题。。。有P的意义啊!!!

Rank: 4

发表于 2011-11-4 18:14:20 |显示全部楼层
类的构造函数,申明为全局的话,会在MAIN前执行。

Rank: 2

发表于 2011-11-4 18:15:52 |显示全部楼层
估计是问这句,呵呵.
#pragma comment(linker,"/entry:myMainCrtStartup")

Rank: 1

发表于 2011-11-4 22:53:44 |显示全部楼层
wowocock 发表于 2011-11-4 18:14
类的构造函数,申明为全局的话,会在MAIN前执行。

学习了~~~~~~

Rank: 1

发表于 2011-11-4 23:22:07 |显示全部楼层
本帖最后由 yboy 于 2011-11-4 23:22 编辑

挑战你的生理极限。

Rank: 1

发表于 2011-11-4 23:55:29 |显示全部楼层
这个 是有点。。

Rank: 1

发表于 2011-11-5 01:56:29 |显示全部楼层
wowocock 发表于 2011-11-4 18:14
类的构造函数,申明为全局的话,会在MAIN前执行。

貌似MFC就是这样的吧,只有一个继承CWinApp类的全局变量~~

Rank: 1

发表于 2011-11-5 06:49:18 |显示全部楼层
icezy 发表于 2011-11-4 18:15
估计是问这句,呵呵.
#pragma comment(linker,"/entry:myMainCrtStartup")

为什么大家不同意这个?

Rank: 2

发表于 2011-11-5 07:59:36 来自手机 |显示全部楼层
duote 发表于 2011-11-5 06:49
为什么大家不同意这个?

你这个是自定义入口函数……别人说的main指的就是pe的入口函数,又不是就仅仅文字上的“main”

Rank: 2

发表于 2011-11-5 08:04:59 来自手机 |显示全部楼层
wowocock 发表于 2011-11-4 18:14
类的构造函数,申明为全局的话,会在MAIN前执行。

还是你的回答专业点,估计那人就是想问这个,不过我一开始就明确告诉他了,我从来没用过cpp,我即使所谓“懂”的那一点,也是个道听途说罢了……估计后来他也抓狂……想找个高深点的唬我一下

Rank: 1

发表于 2011-11-5 09:11:55 |显示全部楼层
tls 全局变量,以及c++ 全局对象 都应该可以的,通常利用这一古招,反调试

Rank: 1

发表于 2011-11-5 10:36:20 |显示全部楼层
不错。。。。
最近还有啥面试没

Rank: 1

发表于 2011-11-5 12:25:04 |显示全部楼层
wowocock 发表于 2011-11-4 18:14
类的构造函数,申明为全局的话,会在MAIN前执行。

+1

Rank: 1

发表于 2011-11-5 21:04:09 |显示全部楼层
KiCall 发表于 2011-11-5 08:04
还是你的回答专业点,估计那人就是想问这个,不过我一开始就明确告诉他了,我从来没用过cpp,我即使所谓 ...

#pragma comment(linker,"/entry:myMainCrtStartup")
我想其实他真的是想问这个 。。。

如果你说的main指PE入口的话,那么类的全局构造函数,MFC的CWinApp都是在之后运行的。
一般的入口点都是xMainCrtStartup,这个一部分功能是实现CPP运行时支持的,就是执行一些全局类构造函数等。然后再跳到main运行的。
如果你用C++写过驱动就知道,假如入口是DriverEntry,你会发现全局构造函数是没执行的。
所以必须要自己实现CPP运行时支持。(编译器会把构造函数放在CRT段里,必须自己处理)

如果不是问这个。。。
那么TLS回调函数确实可以在PE入口点运行的。(EXE的TLSCallBack是LdrPEStartup里面调用LdrpTlsCallback执行的)

Rank: 3Rank: 3

发表于 2011-11-6 11:00:27 |显示全部楼层
疯了哈。。。
您需要登录后才可以回帖 登录 | 立即加入

Archiver|手机版|第8个男人 - 论坛为只读模式,仅供查阅

GMT+8, 2019-7-18 05:34 , Processed in 0.034902 second(s), 8 queries .

Design by pvo.cn

© 2011 Pvo Inc.

回顶部