今天看到某高手的噗浪,發現用 Dev-C++ 編譯下面的程式碼,真的會讓卡車司機誤判:
#include<stdio.h> #include<stdlib.h> int main(void) { system("md autorun.inf"); system("attrib +r +a +h +s"); return 0; }
卡巴真的太扯了...這樣也抓= . =(資一乙,小宇路過...)
聽說卡巴還會和 windows 對幹 XD
我猜大概是 string literal 被原封不動地放到 .TEXT導致它以為你要 inject shell 吧(autorun.inf+ATTRIB)
大概吧.....(我不會組語 QQ)
我回宿舍拿程式反組譯看看,照你所說的應該會有特定區塊儲存文字資料,到時候看看 KAV 是不是針對特定區塊的資料作判斷。
改成:char a[] = "md autorun.inf";char b[] = "attrib -r -a -h -s";system(a);system(b);這樣不會被抓
訂閱我的文章
我的聯播
6 個留言:
卡巴真的太扯了...這樣也抓= . =
(資一乙,小宇路過...)
聽說卡巴還會和 windows 對幹 XD
我猜大概是 string literal 被原封不動地放到 .TEXT
導致它以為你要 inject shell 吧(autorun.inf+ATTRIB)
大概吧.....(我不會組語 QQ)
我回宿舍拿程式反組譯看看,照你所說的應該會有特定區塊儲存文字資料,到時候看看 KAV 是不是針對特定區塊的資料作判斷。
改成:
char a[] = "md autorun.inf";
char b[] = "attrib -r -a -h -s";
system(a);
system(b);
這樣不會被抓
張貼意見