兩個模糊處理相關的問題:F#MSIL混淆
1)是否有可以拆卸F#回其源代碼的形式,或接近它,從MSIL目標形式的任何工具?這不是通過默默無聞的安全嘗試,但我想保護一些源代碼免遭「盜竊」。 2)我簡單地看了一些F#編譯器的輸出,總的來說,如果你反彙編C#編譯後的代碼,它會顯得非常亂,大概是因爲C#更接近MSIL中間表示。我從C#編譯器看到的唯一部分破壞的代碼是迭代器(大概是C#5.0以外的異步代碼)。
到目前爲止,我的印象是F#編譯代碼被合理地「混淆」了,但這是真的嗎? (我意識到這是一個有點主觀的問題。)
你的對手有多好?任何有能力的惡意軟件分析師都可以從內存轉儲中反轉你的代碼,而不必介意IL。你從誰那裏「保護」你的來源? –
潛在的競爭對手。我覺得它不太可能,但比對不起更安全。我只是不希望代碼能夠通過正確的工具輕鬆消除。應該很難,自己編寫代碼更容易。我不認爲惡意軟件分析師在目標範圍內。更像是對F#有中級理解的人。 :-) –
我不會說這是混淆。它只是翻譯。所有F#糖都撤消了。另外,如果你反編譯它,它很明顯來自F#,任何半經驗的F#/ C#個人都可以從反編譯的版本中重新合成F#。有一些模式可以發生,你所要做的就是創建一些測試場景來查看反編譯器的功能,並且你可以看到事情是如何解決的。 – devshorts