朋友很久以前給我說過反編譯的問題,當時沒有在意,總以為C++沒啥問題,C#應(yīng)該不會差吧。
昨天朋友再次提到這個問題,我覺得似乎有些嚴重,剛剛上網(wǎng)搜了一下,簡直令我萬分震驚。我的天,這是如今的軟件業(yè)嗎,C#寫的程序就這樣輕易被搞定了嗎,隨便下一軟件,打開自己的exe,代碼便順利反編譯出來,一模一樣,基本上沒任何差別,而且還可以直接轉(zhuǎn)換為其它語言。
原本對C#了解不多,于是抓緊時間search了一把,也沒啥,僅僅是中間語言,可以很便捷地被反編譯,盡管微軟也提供了一些混淆的機制來防止反編譯,但似乎不怎么管用而且會很大程度上折磨開發(fā)人員的激情,因為變量類等名稱被改的面目全非,public的變量還不能加入混淆的行列,否則,自己寫的dll自己也無法調(diào)用,每次都如此,我如何調(diào)試如何打包,這又會徒增多少工作量...
我不知道微軟發(fā)布這類產(chǎn)品的初衷是什么,盡管方便快捷,盡管見效快,但是黑道中人見效更快,而且甚至優(yōu)化和完善后比原作者做的還要好上很多很多。而且,微軟提供的工具也非常不適用,市面有比較好的工具但又都是付錢的,這又得徒增開發(fā)投入,看來,我真的找不出C#這類軟件存在的必要了,至少對于企業(yè)用戶來講。當然我可以買加密的,可以自行寫加密進一步保護,而且目前基本上所有的軟件都得進一步通過加密狗加密,但像C#這類語言被反編譯的如此徹底,我還絕對沒有想到。如果真正如此泛濫的時候,我不知道這世界還能怎么運作,版權(quán)、發(fā)明、創(chuàng)新等等都是扯淡。