加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Null Free Shellcode

发布时间:2020-12-15 20:55:34 所属栏目:安全 来源:网络整理
导读:我试图将我写的汇编程序转换为无空 shellcode. 但是,我不确定如何针对某些说明进行此操作. 其中一些(英特尔语法)包括: push 0x1000 和 mov BYTE [eax],0x31 我想避免使用一千次调用inc eax.我想的可能是带有xoring值的创意,而对于第二种,也许如果有一个标志
我试图将我写的汇编程序转换为无空 shellcode.

但是,我不确定如何针对某些说明进行此操作.
其中一些(英特尔语法)包括:

push 0x1000

mov BYTE [eax],0x31

我想避免使用一千次调用inc eax.我想的可能是带有xoring值的创意,而对于第二种,也许如果有一个标志要设置它使得它只需要8个字节的常量.

任何帮助表示赞赏.

解决方法

push 0x1000

如果你可以备用一个寄存器(并且你不介意破坏标志),那么如下:

xor eax,eax
inc eax
shl eax,12
push eax
mov BYTE [eax],0x31

这里的零不是来自常数,而是来自寻址模式.尝试:

xchg eax,ecx
mov BYTE [ecx],0x31
xchg eax,ecx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读