動態代碼替換是反思和CIL反調試的終極工具。它是一種軟件保護解決方案,可以完全阻止任何對程序進行逆向工程的嘗試。它將保護您的代碼免受任何反射器,反彙編器,反編譯器甚至IL調試器的影響。
與其他類似產品不同,我們不會在運行時解密和創建硬編碼方法,因為這種類型的方法仍然可以暴露給Process Dumper / Reflector。 “動態代碼替換”通過動態方法隱藏IL代碼。
IL代碼將從方法/屬性中刪除,並替換為未初始化的代理。
這些代理只是空佔位符,它們的值設置為null。
然後對提取的代碼進行加密並安全存儲,因此任何反射器都不會反映IL代碼。
在運行時,這些代碼被檢索,解密,並動態轉換為動態方法,然後根據指定的模式與代理(佔位符)相關聯:
預加載:在應用程序啟動時創建動態方法/委託。
LoadOnFirstCalled:在第一次調用方法時,將創建動態方法並將其分配給關聯的委託。
+ LoadAndDiscard:每次調用方法時都會創建動態方法並將其分配給關聯的委託,然後在方法返回調用方後將其丟棄。
這些動態方法無法反映,反彙編或反編譯。
Process Dumper / Reflector只會看到委託聲明。它將無法看到底層生成的動態方法。
CIL調試器無法直接跟踪或跟踪動態方法。
為了提供額外的保護,動態代碼替換還可以轉換混淆的程序集。僅靠混淆並不能提供足夠的保護來抵禦現代反射器。高度複雜的反射器能夠根據其功能分配名稱。通過在混淆之上添加動態代碼替換,它將阻止反射器分析您的代碼(無需分析代碼)。混淆的名稱仍然是混淆的。
“動態代碼替換”是一種專門的混淆工具,僅提供代碼隱藏/替換功能。如果仍需要額外的混淆,它可以與其他標準混淆器結合使用。您不需要使用我們的混淆器,隨意使用您喜歡的或已經擁有的任何混淆器。
要求:
.NET Framework 4.7
限制:
每30天過期一次
評論沒有發現