2 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
使用Reflector反編譯exe或dll文件都可能無法進(jìn)行編譯(這里指已經(jīng)對(duì)目的文件進(jìn)行了脫殼處理),主要原因有以下幾點(diǎn):
1、如果對(duì)方使用了混淆技術(shù),我們?cè)俜磪R編會(huì)非常棘手,我常用的做法是把某個(gè)亂七八糟的名稱使用自己的命名規(guī)范重新批量重命名,這樣便于分析程序的結(jié)構(gòu)。
2、Reflector對(duì)枚舉類型的支持不是很好,它往往會(huì)把枚舉當(dāng)做整數(shù)進(jìn)行處理,這個(gè)需要你手動(dòng)更正過來。
3、對(duì)于自動(dòng)屬性,你需要把不符合編譯語法的地方更正過來。自動(dòng)屬性的私有字段一般都含有<>等,需要手動(dòng)更正一下。
4、對(duì)于Winform,你需要重新編譯一下相關(guān)的資源文件,如果編譯過程提示找不到資源的話。
5、對(duì)于靜態(tài)變量或者靜態(tài)類,這個(gè)你更要注意。舉個(gè)例子:假如靜態(tài)變量A,和B,而B又用到了A,這時(shí)候你要檢查他們的初始化設(shè)置是否是先初始化的A,然后再初始化B,否則編譯通不過。

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
有可能的,但是首先你要知道,對(duì)方可能對(duì)代碼進(jìn)行了混淆處理,其次,反編譯后的代碼,還是要自行加工一下的。如果沒有混淆處理過,那應(yīng)該很簡單的。比如你反編譯的是一個(gè)winform.exe,那么你可以新建一個(gè)winform項(xiàng)目,把反編譯的東東拷貝到該項(xiàng)目下。
具體的很多東西要說,估計(jì)不是一下子能說玩的。
- 2 回答
- 0 關(guān)注
- 722 瀏覽
添加回答
舉報(bào)