如上,有可能嘛。。
用Reflector 反編譯后的代碼怎么讓他運行起來
慕運維8079593
2018-08-28 11:05:07
TA貢獻1798條經驗 獲得超7個贊
使用Reflector反編譯exe或dll文件都可能無法進行編譯(這里指已經對目的文件進行了脫殼處理),主要原因有以下幾點:
1、如果對方使用了混淆技術,我們再反匯編會非常棘手,我常用的做法是把某個亂七八糟的名稱使用自己的命名規范重新批量重命名,這樣便于分析程序的結構。
2、Reflector對枚舉類型的支持不是很好,它往往會把枚舉當做整數進行處理,這個需要你手動更正過來。
3、對于自動屬性,你需要把不符合編譯語法的地方更正過來。自動屬性的私有字段一般都含有<>等,需要手動更正一下。
4、對于Winform,你需要重新編譯一下相關的資源文件,如果編譯過程提示找不到資源的話。
5、對于靜態變量或者靜態類,這個你更要注意。舉個例子:假如靜態變量A,和B,而B又用到了A,這時候你要檢查他們的初始化設置是否是先初始化的A,然后再初始化B,否則編譯通不過。
TA貢獻1942條經驗 獲得超3個贊
有可能的,但是首先你要知道,對方可能對代碼進行了混淆處理,其次,反編譯后的代碼,還是要自行加工一下的。如果沒有混淆處理過,那應該很簡單的。比如你反編譯的是一個winform.exe,那么你可以新建一個winform項目,把反編譯的東東拷貝到該項目下。
具體的很多東西要說,估計不是一下子能說玩的。
舉報