vc 中字串的免殺

2022-01-30 01:45:24 字數 1840 閱讀 4897

d:以十進位制形式輸出帶符號整數(正數不輸出符號)

o:以八進位制形式輸出無符號整數(不輸出字首o)

x:以十六進製制輸出無符號整數(不輸出字首0x)

s:輸出字串

二:字串免殺的幾種方法

1

.字串隱藏法

char str1 = ;

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);

return0;

7.改大小寫等等

以後如果你定位到特徵碼是乙個字串,那麼就可以使用上面的任何乙個方法,來做原始碼免殺。

如果遇到卡巴啟發查殺乙個服務端,首先得分析它是不是殺了字串,如果是殺字串的話,那上面的方

法都不能用,而只能用修改大小寫的方法來達到免殺的目的。另外還可以用字串加密法來達到免殺的目

的,但考慮到如果以上方法都不能達到免殺的目的,則使用字串加密的方法也不一定能免殺,所以就不

考慮使用字串加密的方法來做字串的免殺了

VC中,字串的分割

想請教下,在vc當中,要重新寫乙個 類似 split 的 類該怎麼做?現在的要求是,對乙個字串進行分割,並放到陣列當中去.基本實現想法如下 定義 char str 256 123,456,789 10 將要被分割的字串 char pstrbuf 256 字串陣列,用來存放分開的字串 int nbuf...

VC中的字串轉換巨集

atl7.0引入了幾個新的轉換類和巨集,現有的巨集提供了顯著的改善。新的字串轉換類和巨集的名稱,採取的形式如下 c sourcetype 2 c destinationtype ex 其中,c 表示目的型別是const型別的,ex 表示指定了儲存字串資料的固定靜態快取區的大小,如果字串轉換的結果超過...

VC中的字串表示方法

1.2.首先,因為c 支援兩種字串,即常規的 ansi 編碼 使用 包裹 和 unicode 編碼 使用l 包裹 這樣對應的就有了兩套字串處理函式,比如 strlen和wcslen,分別用於處理兩種字串。a char是單位元組字元變數,指向ansi字元陣列的指標,其中每個字元佔據8位 有效資料是除掉...