混淆器我这里有一个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等方法。

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

RAKsmart秒杀服务器$30/月,洛杉矶/圣何塞/香港/日本站群特价

RAKsmart发布了9月份优惠促销活动,从9月1日~9月30日期间,爆款美国服务器每日限量抢购最低$30.62-$46/月起,洛杉矶/圣何塞/香港/日本站群大量补货特价销售,美国1-10Gbps大带宽不限流量服务器低价热卖等。RAKsmart是一家华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(...

安徽BGP云服务器 1核 1G 5M 29元/月 香港云服务器 1核 1G 19元首月 麻花云

麻花云怎么样?麻花云公司成立于2007年,当前主打产品为安徽移动BGP线路,数据中心连入移动骨干网。提供5M,10M大带宽云主机,香港云服务器产品,数据中心为香港将军澳机房,香港宽频机房 cn2-GIA优质线路、采用HYPER-V,KVM虚拟技术架构一、麻花云官网点击直达麻花云官方网站合肥网联网络科技有限公司优惠码: 专属优惠码:F1B07B 享受85折优惠。最新活动 :双11 云上嗨购 香港云主...

imidc:$88/月,e3-1230/16G内存/512gSSD/30M直连带宽/13个IPv4日本多IP

imidc对日本独立服务器在搞特别促销,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制流量。注意,本次促销只有一个链接,有2个不同的优惠码,你用不同的优惠码就对应着不同的配置,价格也不一样。88美元的机器,下单后默认不管就给512G SSD,要指定用HDD那就发工单,如果需要多加一个/28(13个)IPv4,每个月32美元...官方网站:https:...

混淆器为你推荐
局域网监控软件求一个破解版局域网监控软件教育城域网关于学校局域网文件下载教育城域网中考怎么查分数图片修改工具推荐个好用的修改图片的工具4g上网卡什么是4G无线上网卡0x800ccc0f任务“POP3.163.COM-正在接收”报告了错误(0x800CCC0F)互动电视互动电视和有线电视的数字电视有什么区别乐辞自驱力读后感官方网店淘宝的官方网和旗舰店有什么区别?java变量设置java的环境变量设置
台湾虚拟主机 域名劫持 qq域名邮箱 深圳域名注册 网站备案域名查询 什么是域名地址 adman l5520 腾讯云数据库 免费个人网站申请 创梦 hdd 爱奇艺会员免费试用 丽萨 实惠 可外链的相册 万网注册 创速 九零网络 时间服务器 更多