编程语言
首页 > 编程语言> > C#语言的类型变量、反编译与代码保护

C#语言的类型变量、反编译与代码保护

作者:互联网

类型和变量

​ 由上图的二叉树显示结构可以看出,类型包括值类型和引用类型,分别有不同的组成部分。分为基础结构类型和用户自定义结构类型;基于两种不同的结构类型,在堆栈中存储可由 下图呈现:

​ 在上图左侧的Method1 中,定义了int 值类型和class 引用类型,由于值类型存储空间小,由栈管理数据并返回变量a 一个内存地址。而引用类型class 则在栈中分配一块内存地址指向堆中的数据

​ 同样的,假设我们在Method1中,定义 class2 obj2 = obj; 这样的结构语句的情况下,栈中同样会开辟一块内存地址交由obj2 管理,但指向是和obj 同样堆中的数据Obj 对象。

IL字节代码探索

IL 汇编程序

作用:将中间语言IL编译成DLL文件

引用:Ilasm.exe(IL 汇编程序) - .NET Framework | Microsoft Docs

打开 Ilasm.exe所在位置:

操作步骤:

​ 1、将ildasm 程序查看的文件【文件】-【转储】 成IL 中间语言文件数据

​ 2、编辑ComsoleSample.il 右键打开为文本文档

​ 3、编辑需要修改的内容,并保存修改的数据信息

​ 4、在当前Il 文件所在目录,运行cmd命令,并输入执行命令:ilasm全路径 xx.il /dll /output:xx.dll

IL 反汇编程序

作用:将DLL 程序反编译成IL 中间语言

引用:Ildasm.exe(IL 反汇编程序) - .NET Framework | Microsoft Docs

打开 Ildasm.exe所在位置:

运行Ildasm.exe程序

将需要反编译成IL的dll 文件拖入运行的ildasm.exe 程序中;即可看到dll 生成的IL中间语言。

应用程序保护

Dotfuscator Community 为开发人员、架构师和测试人员提供了一系列的软件保护和强化服务。 Dotfuscator Community 中包含的 .NET 模糊处理和其他应用程序保护功能的示例有:

文章引用来源:Dotfuscator Community - Visual Studio (Windows) | Microsoft Docs

命令行解析 CommandLineParser

文章引用来源:Home · commandlineparser/commandline Wiki · GitHub

本文引用来源:htttp://www.xcode.me

标签:反编译,exe,变量,C#,应用程序,IL,类型,引用
来源: https://www.cnblogs.com/panth/p/16102269.html