查看完整版本: 發現一件奇怪的事
頁: [1]

我不識字2 發表於 2016-9-9 04:57 PM

發現一件奇怪的事

本帖最後由 我不識字2 於 2016-9-9 04:57 PM 編輯

我在main裡只放了 char ***a;
按build後,防毒軟體avg跳出該執行檔是木馬,有人知道這是發生什麼事了?<div></div>

samou568 發表於 2016-9-15 07:00 AM

應該是指標抄錯誤
引起防毒軟體誤判

ren1244 發表於 2016-9-16 11:23 PM

挺好玩的,真的會誤判耶!
程式如下:
int main()
{
        char ***a;
        return 0;
}
【用gcc 4.9.3】
不加參數:會被誤判
加-O2:正常

【用g++ 4.9.3】
正常

chevylin0802 發表於 2016-9-17 10:53 PM

ren1244 發表於 2016-9-16 11:23 PM static/image/common/back.gif
挺好玩的,真的會誤判耶!
程式如下:
【用gcc 4.9.3】


你沒有發現它會出現警告訊息嗎?

定義了一個變數卻未使用 (不管這個變數的型態是什麼)
gcc 一定會給你顯示出警告訊息, 除非你把警告訊息關閉

ren1244 發表於 2016-9-18 10:56 AM

chevylin0802 發表於 2016-9-17 10:53 PM static/image/common/back.gif
你沒有發現它會出現警告訊息嗎?

定義了一個變數卻未使用 (不管這個變數的型態是什麼)


我是直接用指令列編譯gcc 檔案名稱如果加上-Wall參數的確會有警告,但它還是會編譯成功,接著防毒軟體就會擋掉了gcc -Wall 檔案名稱...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div>

CoNsTaRwU 發表於 2016-9-22 08:24 AM

ren1244 發表於 2016-9-18 10:56 AM static/image/common/back.gif
我是直接用指令列編譯如果加上-Wall參數的確會有警告,但它還是會編譯成功,接著防毒軟體就會擋掉了 ...

他的發言可以當成洗回復不用理會吧...
unused variable 和防毒誤報到底有什麼關係{:3:}

原 Po 的問題應該和逆向工程有關係,可以嘗試往這方面研究看看...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

chevylin0802 發表於 2016-9-22 10:49 AM

CoNsTaRwU 發表於 2016-9-22 08:24 AM static/image/common/back.gif
他的發言可以當成洗回復不用理會吧...
unused variable 和防毒誤報到底有什麼關係



比本人小三十歲的年輕人
憑什麼在那邊不懂裝懂?

防毒誤報的問題跟編譯器的編譯方式有關
連這事情你都不知道嗎?

char ***a; 這行

在不同的編譯條件下編譯
會有不同的結果

最佳化過的編譯方式會把這些未被利用到的變數忽略掉
但是一般的編譯方式卻會保留在機器碼上
他的防毒軟體可能就是會去檢查有沒有完全沒被執行到的變數區塊
所以才發出警告或者自動隔離起來的

說你真的不懂
寫程式跟了解機器運作是兩碼子的事
更何況一個不懂組合語言的小夥子
憑什麼在本人面強裝13

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

我不識字2 發表於 2016-10-4 12:06 PM

chevylin0802 發表於 2016-9-22 10:49 AM static/image/common/back.gif
比本人小三十歲的年輕人
憑什麼在那邊不懂裝懂?



我大概了解了,很清楚,謝謝!
頁: [1]