对于“shellcode”和“exploit”的解释

      最近在浏览“邪恶八进制”的论坛的时候看到了一个朋友的帖子“如何编译shellcode”。大家讨论的热情比较高,但我发现有一部分人实际上对于shellcode的理解还是不够深刻的。

      首先“编译shellcode”这个说法就有点不合适。
      shellcode其实在编写的过程中就要让自己的大脑充当编译器了,而实际上shellcode是不需要编译的,比如说如果你记得机器码,那么随便打开一个pe文件,然后直接编辑代码段的HEX值写入弹窗的机器码(shellcode),完事保存,只要你写的没错误就可以直接运行生效了。可见shellcode是cpu可以直接识别的数据,它并不需要被再次编译,也就是说shellcode实际上是已经被编译好了的代码!
      理解shellcode这个词要分2部分,一部分是“shell”,标明它的用途;另一部分是“code”,标明它的性质。

     

      另外很多高手也曾经说过“编译shellcode”这样的说法,这其实是指代了exploit,shellcode是作为exploit程序的数据部分一起被编译起来了。

      对于exploit程序,我的解释是:指一种专门利用漏洞对计算机系统进行入侵的程序。它往往包含shellcode,但也有不包含shellcode的。

      希望我解释清楚了,呵呵,欢迎大家讨论。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值