這個非常難喲,普通人基本是不會的。
首先你得知道這個軟體是用什麼語言寫的。每種語言都有反編譯軟體,建議上網搜下相關語言有什麼反編譯軟體。
B. 如何反編譯經過XenoCode加密後的軟體
解密XenoCode加密的字元串
很多 .net 程序發行時會使用混淆器進行保護,其中 XenoCode 2005 應該說是使用比較多的一個。
XenoCode會使用一個插入的類對程序集中的字元串進行保護。
本文將結合 Reflector 和反射技術解密程序集中被加密的字元串。
首先,我們使用 Reflector 對原程序進行 Disassembler,找到我們要解密的字元串代碼。
如:
this.x80bb7e5ddf294933.SerialNumber = string.Intern(x1110bdd110cdcea4._d574bb1a8f3e9cbc("\udbac\ue2b7\ue9bb\uf0af\uf7b8\ufeb3\u05a8\u0c61", 0x555ddb55));
找到要解密的字元串以後,開始編寫反射調用代碼。
class Program
{
public static void Main()
{
// 載入程序集,test.exe 為被混淆的程序集文件名。
Assembly asm = Assembly.LoadFrom(@"test.exe");
// 獲取XenoCode插入的解密類型(包含其namespace),對應上面字元串前面的類名,每次混淆結果可能都不同。
Type type = asm.GetType("x293b01486f981425.x1110bdd110cdcea4");
// 字元串參數和解密參數
object[] parameters = {"\udbac\ue2b7\ue9bb\uf0af\uf7b8\ufeb3\u05a8\u0c61", 0x555ddb55};
Type[] paramTypes = new Type[parameters.Length];
for (int i = 0; i < parameters.Length; i++)
paramTypes = parameters.GetType();
// 調用解密方法
BindingFlags flags = BindingFlags.Public | BindingFlags.Static;
MethodInfo method = type.GetMethod("_d574bb1a8f3e9cbc", flags, null, paramTypes, null);
object result = method.Invoke(null, parameters);
// 顯示解密結果
Console.WriteLine(result);
Console.WriteLine("Press Enter key to exit...");
Console.ReadLine();
}
}
C. 如何反編譯加密的EXE文件
一般來說要用OD
但你需要有一定的匯編經驗
D. .net軟體,用什麼軟體加密狗加密,能防止代碼反編譯
.Net軟體的特點,一些強大的編譯工具可以對.Net可執行文件進行反編譯操作,並得出相應的IL代碼甚至是源代碼。即使是採用混淆工具以及強命名工具也不能從根本上解決問題,代碼依然會很容易地被Reflectoer等工具反編譯源代碼。 軟體加密狗:威步(WIBU)的CodeMeter,AxProtector(for.net)兩款軟體加密狗性能非常不錯 反編譯的問題,與傳統的代碼混淆工具(Obfuscator)不同,AxProtector可以完全阻止對.NET 程序集(由 C#, VB.NET, Delphi.NET, ASP.Net… 等語言編寫)的反編譯。通俗的講,AxProtector在破解者和您的 .NET 代碼之間構建了強大的防破解保護屏障,生成一個基於 Windows 的而不是基於 MSIL 的兼容格式文件。原始的 .NET 代碼完整的被加密後封裝在本地代碼內,無論何時都不會釋放到硬碟,對於破解者是不可見的。 與單純的.net加密軟體不同,AxProtector與CodeMeter硬體加密狗配套餐使用,採用了更為嚴密的密鑰管理,及最先進的AES、RSA、ECC等加密演算法存儲或傳輸密鑰,保證通訊安全。 .Net代碼編譯後生成的 .class 中包含有源代碼中的所有信息(不包括注釋),尤其是在其中保存有調試信息的時候。所以一個按照正常方式編譯的.class 文件可以非常輕易地被反編譯。一般軟體開發商會採用一種叫做混淆器的工具。混淆器的作用是對編譯好的代碼進行混淆,使得其無法被反編譯或者反編譯後的代碼混亂難懂。由於混淆器只是混淆了方法名稱或流程,而不能防止源代碼被反編譯,因此混淆器的作用只是增加了反編譯的難度,最終的結果也是治標不治本。對於一些掌握工具的人來說幾乎還是透明的。AxProtector是一款真正意義的加密源代碼、防止反編譯的.net軟體加密軟體。 AxProtector加密了.net原代碼,任何時候原代碼都不可能被還原到硬碟當中。採用AxProtector加密後的.net代碼只有在程序調用或執行某一段函數的時候,才能通過AxProtectorClass在內存中解密後返回到程序中執行,運行之後迅速立即加密。這種隨機加密、按需解密原代碼的功能,能很好的防止.Net程序的反編譯,同時能夠很好地防止API加密點被摘除。有效地保證了源代碼的執行效率和安全性。
E. 反編譯被加密了,有什麼辦法可以破解(雖然這
反編譯加密,我理解的是開發者選擇的一種演算法,生成一個密鑰,對軟體核心部分進行了加密編譯。你反編譯的話,需要他這個密鑰,找他這個密鑰的話,你需要找到他的解密文件。具體解密文件放在哪,你只能自己找了。