混淆器我这里有一个C#的代码混淆器的源码,但是看不懂是怎么实现的,程序的算法是什么也不知道怎么找,求帮助

混淆器  时间:2021-09-07  阅读:()

java混淆器是做什么的?

用java写的代码 编译后成为.class文件 但是这个class文件可以被反编译查看到源代码 如果代码作者不希望源代码被别人看到 就利用混淆器把源代码混淆 但是程序功能还是正常的,编译后供别人使用,当别人反编译class文件想查看源代码时发现的是被混淆后的代码,虽然这些混淆后的代码也可以分析出来但是很困难 举个例子 class Person { private String name; private int age; public Person( String n, int a ){ name = n; age = a; } } 混淆后 class OOOOo{ private String oooo; private int ooo; public OOOOo( String oo, int o){ oooo = oo; ooo = o; } }

javacompile混淆器怎么混淆后的class文件还是可以被反编译出来呢?求高手指点....

混淆的作用并不是使class文件不能被反编译 混淆的作用是使反编译的代码更难让人阅读,比如一些计算金钱的敏感逻辑里有如下的代码(新金额=旧金额*某个倍率): double newMoney=oldMoney*rate; 如果这样的代码直接编译成class文件,别人反编译这个class文件就能很清楚的看到金钱的计算关系,混淆后代码可能就变成这样的了: double a=b*c; 这样的代码别人即使反编译了,也是很难看懂其中的逻辑关系的

我这里有一个C#的代码混淆器的源码,但是看不懂是怎么实现的,程序的算法是什么也不知道怎么找,求帮助

能力有限,只能说说我看到的东西。

代码混淆的触发是在函数btnGenerate_Click里面 //这里声明了一个混淆器 Obfuscator?obfuscator?=?new?Obfuscator(txtBuildPath.Text,? ???????????????????????????????????????chkObfuscateTypes.Checked, ???????????????????????????????????????chkObfuscateMethods.Checked,? ???????????????????????????????????????chkObfuscateNamespaces.Checked,? ???????????????????????????????????????chkObfuscateProperties.Checked,? ???????????????????????????????????????chkObfuscateFields.Checked);//这里把窗口的数据写入混淆器 foreach?(TreeNode?node?Assemblies.Nodes[0].Nodes) { obfuscator.AddAssembly(node.Text,?node.Checked); //?Exclusions foreach?(TreeNode?typeNode?in?node.Nodes) if?(!typeNode.Checked) obfuscator.ExcludeType(((Type)typeNode.Tag).FullName); }//这一句开始执行混淆算法,并保存 obfuscator.StartObfuscation();而具体的混淆算法在文件Obfuscation2Obfuscator.cs中。

详细在函数AsyncStartObfuscation中。

public?void?StartObfuscation() { Thread?thread?=?new?Thread(new?ThreadStart(AsyncStartObfuscation)); thread.Start(); } private?void?AsyncStartObfuscation(){...}在这个函数里面,执行ObfuscateType、ObfuscateNamespace、ObfuscateResource等方法。

而在ObfuscateType里面又分别执行ObfuscateMethod、ObfuscateProperty、ObfuscateField等方法。

具体算法怎么实现的,详细看看上面这些方法里面的代码吧。

spinservers:圣何塞10Gbps带宽服务器月付$109起,可升级1Gbps无限流量

spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...

BGP.TO日本和新加坡服务器进行促销,日本服务器6.5折

BGP.TO目前针对日本和新加坡服务器进行促销,其中日本东京服务器6.5折,而新加坡服务器7.5折起。这是一家专门的独立服务器租售网站,提供包括中国香港、日本、新加坡和洛杉矶的服务器租用业务,基本上都是自有硬件、IP资源等,国内优化直连线路,机器自动化部署上架,并提供产品的基本管理功能(自助开关机重启重装等)。新加坡服务器 $93.75/月CPU:E3-1230v3内存:16GB硬盘:480GB ...

Hosteons:新上1Gbps带宽KVM主机$21/年起,AMD Ryzen CPU+NVMe高性能主机$24/年起_韩国便宜服务器

我们在去年12月分享过Hosteons新上AMD Ryzen9 3900X CPU及DDR4内存、NVMe硬盘的高性能VPS产品的消息,目前商家再次发布了产品更新信息,暂停新开100M带宽KVM套餐,新订单转而升级为新的Budget KVM VPS(SSD)系列,带宽为1Gbps端口,且配置大幅升级,目前100M带宽仅保留OpenVZ架构产品可新订购,所有原有主机不变,用户一直续费一直可用。Bud...

混淆器为你推荐
previousancient与previous与early的区别容灾备份容灾备份的容灾备份建设模式站内搜索引擎搜索引擎工作原理与如何建立站内搜索快照优化快照跟不上优化节奏优化方法出问题?sg什么意思sg,gm到底是什麽意思?科学计算器说明书计算器的使用方法?360官网打不开我的360打不开clamp官网天子官网,天子OL官网硬盘文件不显示移动硬盘文件夹显示不出来街旁appiOS平台上的App有哪些?请列举一下
花生壳动态域名 最新代理服务器地址 火山主机 安云加速器 59.99美元 info域名 debian7 150邮箱 卡巴斯基官方免费版 129邮箱 佛山高防服务器 网络空间租赁 重庆双线服务器托管 免费cdn metalink 创建邮箱 lamp的音标 黑科云 广东服务器托管 沈阳idc 更多