vc++中字符串的免杀

一:格式字符:

http://baike.baidu.com/view/2194593.htm

d:以十进制形式输出带符号整数(正数不输出符号)
o:以八进制形式输出无符号整数(不输出前缀o)
x:以十六进制输出无符号整数(不输出前缀0x)
s:输出字符串

 


二:字符串免杀的几种方法

 

1.字符串隐藏法
char str1[] = {'a','b','c','d','e','f','g','\0'};
MessageBox(0, str1,"ok", 0);//用MessageBox来显示这个被我们隐藏的字符串

2.wsprintf连接字符串
使用到wsprintf函数
char str1[20]="12345";
char str2[20]="67890";
char str3[40];
wsprintf(str3,"%s%s",str1,str2);
MessageBox(0,str3,"ok", 0);

 
3.sprintf连接字符串
使用到sprintf函数
char * str1 = "01234";
char * str2 = "56789";
sprintf(str1, "%s%s", str1, str2);//把字符串str2连接到str1后面去
MessageBox(0,str1,"ok", 0);

 
4.strcat连接字符串
使用到strcat函数
char str1[20]="12345";
char str2[20]="67890";
strcat(str1,str2);
MessageBox(0,str1,"ok", 0);

 
5.指针连接法
用指针来连接两个字符串
char str1[50]="01234";
char str2[20]="56789";

char *ptr1 = str1;
char *ptr2 = str2;
while(*ptr1 != '\0')
ptr1++;
while(*ptr2 != '\0')
*ptr1++ = *ptr2++;
*ptr1='\0';
ptr1=str1;
ptr2=str2;

MessageBox(0,ptr1,"ok", 0);

 
6.字符串反转函数strrev
把字符串倒转
char *forward = "abcdefghijklmnopqrstuvwxyz"; 
printf("反转前: %s\n", forward); 
strrev(forward); 
printf("反转后: %s\n", forward); 
return 0;

7.改大小写等等
 

 

 

 

 

 



以后如果你定位到特征码是一个字符串,那么就可以使用上面的任何一个方法,来做源码免杀。

 

 

如果遇到卡巴启发查杀一个服务端,首先得分析它是不是杀了字符串,如果是杀字符串的话,那上面的方

法都不能用,而只能用修改大小写的方法来达到免杀的目的。另外还可以用字符串加密法来达到免杀的目

的,但考虑到如果以上方法都不能达到免杀的目的,则使用字符串加密的方法也不一定能免杀,所以就不

考虑使用字符串加密的方法来做字符串的免杀了

posted @ 2019-05-04 18:46  卿先生  阅读(728)  评论(0编辑  收藏  举报