2012-01-31 25 views
3

之後,它工作良好,但是當我使用一些代碼混淆器來隱藏「壞人」的腳本停止工作我的代碼,它返回一個錯誤:CSharpCodeProvider混淆

Error: CS0234

The type or namespace name "Objects" does not exist in the namespace "TestProgram" (are you missing an assembly reference?)

Error: CS0246

The type or namespace name "Scripter" could not be found (are you missing a using directive or an assembly reference?)

你知道是否有辦法解決嗎?我嘗試了很多混淆器,看起來就像所有人都和我的腳本一樣。

回答

2

你很可能需要不混淆公衆類型的「腳本」嘗試接入。

這可與大多數更好地混淆器通過包括與Exclude屬性設置爲true的類型或方法需要適當的屬性(ObfuscationAttribute)來完成:[Obfuscation(Exclude=true)]


編輯:

你將根據需要通過裝飾適當類型來使用該屬性,即:

[Obfuscation(Exclude=true, ApplyToMembers=true)] 
public class Objects 
{ 
    // ... 

這將導致大多數混淆器(儘管有些需要配置注意該屬性)不會混淆該類型。一些混淆器會混淆內部成員,但不會混淆公共API。這取決於您正在使用的實際工具,我建議您查看他們的文檔以瞭解具體內容。

+0

謝謝,但你能給我一個例子如何使用它?因爲我不明白它的權利。 – Kyore 2012-01-31 12:41:44

+0

@ user1179274完成。看我的編輯。 – 2012-01-31 16:46:51

+0

謝謝,看起來像它的工作,但現在我的代碼被暴露,你知道一些軟件,可以幫助我與Debbuguers和反向工程(反射)? – Kyore 2012-01-31 18:11:48