怎么检测shellcode有用

 我来答
无与伦比OK传奇
2016-12-30 · TA获得超过177个赞
知道小有建树答主
回答量:971
采纳率:60%
帮助的人:167万
展开全部
shellcode就是一段程序代码,可以说任何计算机语言都是可以编写出一段shellcode,但是由于很多时候esp空间有限制,所以,shellcode的要求就是尽可能短小、精简、高效三个原则,故常用汇编和C语言类的进行编写,然后shellcode的目的是为了达到控制程序的运行,很多时候就是为了穿越防火墙,所以shellcode经常被用来提权或者是作为下载器安装木马,而不是将一个木马程序变成shellcode,否则一个马几百K,再加上安装程序,对于shellcode来说,过于庞大了。shellcode本身代码的重定位:shellcode是作为一段代码传递给目标程序的,需要在程序的空间之内的,要跟上下文程序相结合,所以需要精准的重定位。shellcode中使用的API地址定位:在相同系统中,API的地址基本上是一样的,但是在不同的系统中,就有可能出现差异,所以在编写利用shellcode前,如果调用的API地址不一样,就会出错,所以尽可能使用通用的API地址,或者使用重定位,常用的有PEB进程块的查找,不多说了,有兴趣可以自己查阅一下相关资料。还有shellcode编码问题:熟悉Windows的人会知道,00这个字节在Windows中,是中断的意思,所以在编写中,要避免出现00。还有的是程序中的一些问题,例如有的程序不接受空格、大写字母、特殊符号等等。在编写中使用一些方法去避免这样的问题。多态技术躲避IDS检测:躲避检测的还包括杀毒软件、防火墙等等,有的时候可能一些shellcode已经是被杀毒软件等记录,并有特征码,所以发送后,就会被查杀,所以要尽可能使用多态技术躲避IDS检测。因为在内存中,计算机只认二进制代码的,所以shellcode要进行相关的转换。(摘自老夫blog)至于溢出的学习,就仁者见仁智者见智吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式