當前位置:首頁 » 編程軟體 » 反編譯dotfuscator

反編譯dotfuscator

發布時間: 2022-09-10 18:13:56

『壹』 為什麼用c#開發的程序可以被反編譯

因為C#開發的程序被編譯後並沒有成為可運行的二進制文件,而是一種中間狀態,是由MSIL語言寫成的程序文件。從理論上說,各種.NET語言只要完成的功能相似,編譯後的MSIL語言文件都是相似的,可見MSIL的代碼是對應著較為固定的高級語言結構的。所以,理論上,把MSIL語言進行返推,就可以將其反編譯為.NET中的任何一款高級語言。

『貳』 vs2010 中的 Dotfuscator 能不能做成編譯出來的東西自動混淆

代碼混淆基本沒什麼用,可以被反編譯的。
最好的做法是結合非託管堆代碼實現如下兩個目的

一、不能看:.NET DLL可以包含託管堆代碼(可以被反編譯的)與非託管堆代碼(不能被反編譯,要反編譯也是更高層次的了,不在討范圍內),我們將核心邏輯代碼置於非托堆代碼中,由託管堆代碼提供介面供外部調用,調用時將非託管代碼通過.NET動態編譯特性編譯後返回執行結果。這樣就保證了不能看。
二、不能調:我們在非託管代碼中加入驗證調用者來源功能,判斷調用者的HASH值是不是與在非託管代碼中約定的HASH值(發布時需要提前生成相關引用者的HASH值存於非託管代碼,最後生成非託管代碼的DLL放於安裝包中)一致,如一致則通過執行返回結果,不一致則返回空。這樣就解決了非合法來源不能調的問題。

更多參考:http://www.cnblogs.com/dengxi/p/5750170.html

『叄』 C#防止反編譯

加殼也不錯,UPX或者PE
加完之後如果不脫殼是反不了的
當然如果自己定製一個殼就更好,別人還得先研究怎麼脫殼

混淆代碼的無非是那麼幾個軟體
maxtocode、dotnet_reactor、XenoCode

『肆』 C# VS2012 .Net 4.5 如何防止反編譯

你找下 數字簽名 怎麼用……
不過祈求代碼不會被反編譯是不可能的,我們追求的應該是難於反編譯和自身代碼的安全性,
從代碼設計代碼編寫技術的角度來避免發編譯後重要信息的泄露,比如資料庫連接是一定要用加密技術(例如MD5)加密以後在用的,絕對不可以將真實的可讀性強的連接串寫在代碼的任何位置

希望能幫到你……

『伍』 如何防止Unity3D代碼被反編譯

加密原理(無需Unity源碼):
1. IDA Pro打開libmono.so, 修改mono_image_open_from_data_with_name為
mono_image_open_from_data_with_name_0,
2. 替換實現mono_image_open_from_data_with_name,
extern mono_image_open_from_data_with_name_0(...);
mono_image_open_from_data_with_name(...) {
MonoImage *img = mono_image_open_from_data_with_name_0(...);
//發現數據文件頭不是DLL前綴則解密 img->raw_data, 相應修改img->raw_data_len
return img;
}
3. 重新打包libmono.so; 替換Unity3D中的android下的版本.
4. 另外寫個加密的工具,植入構建環境(MonoDeveloper或VS,添加一個打包後Build Phase來加密DLL); (IOS下禁用JIT固採用AOT編譯,DLL中沒有邏輯代碼,所以無需操心);

從AndroidManifest.xml中可以看出,騰訊的改造應該是修改並替換了入口的classes.dex,把以前的入口 UnityPlayerProxyActivity替換為com.tencent.tauth.AuthActivity. 然後去載入了自定義的幾個so: libNativeRQD.so. 周全考慮,為了防止第三方委託libmono去做解密而做了防護措施. 具體實現我還沒做深入分析, 應該也是老套路.

libmono.so中的mono_image_open_from_data_with_name也被替換成了mono_image_open_from_data_with_name_0.

解密(android):
方法一: ROOT android系統(最好是一部手機,別搞模擬器,慢死), 掛載LD_PRELOAD的API hook來實現.

方法二: 內存特徵碼提取,簡單高效無敵; 機器能讀,你就能讀;

『陸』 VS怎樣給項目加強名稱,怎樣防止反編譯

.net 生成的dll 反編譯很簡單的
一般.net的dll防止反編譯 採用 加殼和混淆 兩種方案
加殼我沒怎麼研究過,一般加殼工具使用後會造成dll不能使用
最常用的就是混淆了,工具也很多 我一般使用Xenocode進行混淆
可以對 類名,變數名,屬性 等命名進行混淆 減小其反編譯後的可讀性
你可以自己嘗試一下 基本混淆後的程序 反編譯後 很難自己解讀出來

『柒』 如何使用DotfuscatorPro

使用默認混淆

1.
打開軟體點擊input選項卡,把dll或exe添加,Libray不要選,否則的話,幾乎所有的公共函數變數,不會被加密和混淆,可以很容易的看到代碼

2. 點擊build選項卡,在目標目錄(destination directory)選取你想把dll生成到的位置,如F盤:/混淆目錄

3. 其它不用設置,直接點build,會有提示是否要保存項目。點擊否

4. 生成的dll,再用.net Reflector 進行反編譯,看一下。

看到的結果是,類名重命名,方法名重命名 全都變成a,b,c

『捌』 如何防止Unity3D代碼被反編譯

在Unity3D中,代碼會編譯到Assembly-CSharp.dll。基於以上兩點,代碼的保護有以下三種:
第一種是對代碼進行混淆,諸如混淆軟體CodeGuard、CryptoObfuscator、de4dot
第二種是對Assembly-CSharp.dll進行加密後,重新對mono進行編譯手動編譯mono,能防止反編譯

『玖』 .net開發的exe安裝文件可以反編譯嗎

可以,用reflector 及其它

用混淆器加密及數字簽名,可擋掉大部分dll文件被人家反編譯.但魔高一尺,道高一丈, 要做到完全加密是很難的.
有些Dotfuscator防反編譯軟體可以參考, 但那些功能強大的Dotfuscator都是商業軟體,要花銀子買.
總之,不管你加密的如何好,只是延長破解和反編譯成可閱讀代碼的時間而以,所以不要放太多的精力在上面

熱點內容
伺服器存儲1gb租賃費多少錢 發布:2024-11-01 12:38:09 瀏覽:871
蘋果6vpn添加配置怎麼弄 發布:2024-11-01 12:36:18 瀏覽:796
職場的幸福密碼是什麼 發布:2024-11-01 12:34:57 瀏覽:748
18經驗起床的伺服器ip 發布:2024-11-01 12:30:15 瀏覽:39
這個鎖屏密碼是什麼 發布:2024-11-01 12:24:51 瀏覽:92
相機存儲卡排名 發布:2024-11-01 12:24:49 瀏覽:958
androidxml格式化 發布:2024-11-01 12:23:14 瀏覽:165
Vb6編譯是錯誤不知道錯誤代碼 發布:2024-11-01 12:16:23 瀏覽:159
區域網電腦訪問伺服器怎麼提速 發布:2024-11-01 12:14:09 瀏覽:322
美創資料庫 發布:2024-11-01 12:05:45 瀏覽:916