shellcode

https://www.bilibili.com/video/BV1y4411k7ch/?spm_id_from=333.788.recommend_more_video.3

什么是shellcode?

在这里插入图片描述
通常情况下,编写代码生成pe文件(即exe文件)(运行所需的宿主 意思就是,需要先运行exe)
而shellcode,不被包装在pe中,以二进制的方式存放到
在这里插入图片描述
举例:实现弹窗提示功能
在这里插入图片描述
编译后,运行生成的exe文件,弹出框
在这里插入图片描述
把代码中的核心代码MassegeBOX提取出来就是shellcode
通过特殊处理,得到核心代码shellcode的bin文件(苍了个天,为啥这点不讲解?
在这里插入图片描述
bin文件通过一定方式可以在 任何exe文件 中执行

shellcode特点:不依赖任何格式文件的约束,可以任何方式加密,变形
在这里插入图片描述

shellcode生成方式

在这里插入图片描述
shellcode生成器:是建立在shellcode库基础上的,将库中的模块取出。很快,但大多是通用型的
在这里插入图片描述举例:框架是获取弹出框项目的核心代码 哈哈哈哈哈哈

在这里插入图片描述用到winhex,找到一个啥偏移量,复制到 shellcode加载器,就执行那个弹框了

基本环境搭建

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
新建32控制台应用程序项目,只写一个return 0的main方法,相当于是空项目
编译生成exe,是87kb,是因为这个pe文件自动了很多东西
使用IDA查看都是些啥

清除自动添加的这些东西 ↓
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
再次在IDA中看,只剩下start了
F5,将汇编语言代码 转换成 C语言代码

在这里插入图片描述
继续优化
在这里插入图片描述
属性
在这里插入图片描述
用peid查看文件,最后一行那个就是清单文件
在这里插入图片描述
在属性中关闭
在这里插入图片描述

shellcode编写原则2

在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值