这个非常难哟,普通人基本是不会的。
首先你得知道这个软件是用什么语言写的。每种语言都有反编译软件,建议上网搜下相关语言有什么反编译软件。
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. 反编译被加密了,有什么办法可以破解(虽然这
反编译加密,我理解的是开发者选择的一种算法,生成一个密钥,对软件核心部分进行了加密编译。你反编译的话,需要他这个密钥,找他这个密钥的话,你需要找到他的解密文件。具体解密文件放在哪,你只能自己找了。