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,终版


浙公网安备 33010602011771号