ShellCode编写技巧(一)

零:基础

0,是用汇编还是用C来编写?编译的C程序本质是调用内核,不同操作系统不同调用方法。汇编移植性差,C反之。

1,C语言,int fd,file description 文件描述符,相当于寄存号码(a number given out at a coat check)

2,汇编需要用汇编器编译成对象文件,而对象文件为后来链接成ELF二进制文件做准备

3,汇编可以直接调用系统函数,C语言是间接调系统函数,下图就是系统函数

 

 

 4,调用实例如图

5,利用call和pop来固定数据段

6,除去null bytes,call等于pop jump, 由于call允许jump的字节远大于实际字节,会用null bytes填充,jump short反之,必须要用call,所以call要反向,反向call用F填充(表示负数)

 

 

 7,除去mov指令中的null bytes

 8,终版

 

posted @ 2020-08-06 17:28  峰宇者  阅读(155)  评论(0)    收藏  举报