受保护的exe无法正常工作 [英] protected exe is not working

查看:78
本文介绍了受保护的exe无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在32位操作系统上通过Eazfuscator.net 3.1保护了exe,但在ILDisassembler中却在64位上打开了该文件.

为什么?

I have protected exe by Eazfuscator.net 3.1 on 32bit operating system but it is open on 64bit in ILDisassembler.

Why?

推荐答案

是吗?混淆并不会阻止您打开exe,因为系统需要能够读取文件内容才能执行程序,因此无法执行任何操作.

混淆的作用是使理解程序和对它进行反向工程变得更加困难(或者希望更加困难).难易程度取决于所使用的混淆器及其允许使用的各种选项.
Yes? Obfuscation does not stop you opening the exe - nothing will do that as the system needs to be able to read teh file content in order to execute the program.

What obfuscation does is to make it harder (or hopefully a lot harder) to understand the program and reverse engineer it. How hard depends on the obfuscator used and the various options it allows you to apply.


要记住的关键是IL是.NET表示.NET时使用的字节码的表示形式.在运行时执行和编译您的应用程序.是的,我只是说编译-.NET在应用程序运行时进行优化并编译为本机.有效地执行以下步骤:

您编译高级代码
这将创建通用中间语言代码
CIL代码将转换为字节码的.NET程序集.
当应用程序执行时,将对字节码进行JIT编译,并执行此JITed代码.

这实际上意味着您可以撤消可执行文件(是的,DLL也是可执行文件的一种特殊形式).混淆的作用是使人们更难通过变量重命名等对代码进行反向工程.
The key thing to remember is that IL is a representation of the byte code that .NET uses when it is executing and compiling your application at runtime. Yes, I did just say compiling - .NET optimises and compiles to native while the application is running. Effectively the following steps happen:

You compile your high level code
This creates Common Intermediate Language code
The CIL code is converted into a .NET assembly as bytecode
When the application executes, the bytecode is JIT compiled and this JITed code is executed.

This effectively means that you can reverse your executable (and yes, DLLs are a special form of executable as well). All that obfuscation does is make it harder for somebody to reverse engineer your code through things like variable renaming, etc.


这篇关于受保护的exe无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆