假设我的类,方法,属性,都不想被反射。不能被Invoke.
有没有办法呢?
有没有办法呢?
解决方案 »
- 如何在下次导入FORM时保存动态添加的控件
- 并非所有的代码路径都返回值
- 存储过程怎样根据字段来合理修改数据
- 如何合并DATAGRIDVIEW中同一列相同值的几个单元格?
- 怎么取C#取word合并后的Cell中的Text
- 关于datarow 类型转换出现异常的解决方法
- 用datatable绑定gridview
- 用鼠标拖动pictureBox里的图片,把拖动的区域保存成图片怎么做啊?
- (急)用XmlDocument类的load方法打开的文件如何关闭?
- 相当奇怪的一件事,DATAREADER读不到数据
- AssemblyInfo.cs文件里的accembly都是什么意思?
- IC智能卡(读/写操作)的问题 100分
大家还有没有其它办法呢?2,3楼的建议
什么能被你阻止哦???
1. 真忘了那代码是怎么写的,我记得是可以得到访问者的一个Tocken,如果不是这个令牌,直接在构造函数中throw 出来一个错误,那么就无法实例化了
2. 请注意楼主所说的是阻止Invoke,而并不是得到结构
对程序使用混淆器混淆,加壳
如Xenocode Postbuild
使用流程混淆、字符串内容混淆和变量名混淆
可以使用 Mono.Cecil 动态地让程序来改写
主要代码也可使用C++等编写
http://topic.csdn.net/u/20090423/09/83de56b0-3f04-450a-b35c-6a9de680fda6.html
sorry, 没看清楚。但这个也没用吧,,,
MethodInfo.Invoke(object);
实例化的是object。而不是invoke方法。 你这个Object怎么得到的?不是传过来的么?
我觉得
Type type = typeof(ObjectA);
IObject obj1=(IObject)Activator.CreateInstance(type, new string[] {});
创建object时候应该走了默认的构造器,
10楼的意思我觉得可行,在Activator.CreateInstance时候抛出一个异常,禁止实例化,只是不知道具体该怎么做。
别在这里琢磨类,,,我可以自己新写一个Activator.CreateInstance的。你怎么禁止?
有办法, 我可以早一套自己的构造器参数验证模式,你的 Activator.CreateInstance 不可能知道我的验证串内容吧,不合法我就throw exception,当然这还是思路,没有实际搞过。还有待验证
这样扯也没意思,, 下次你写好了,我来帮你创建,我来帮你Invoke.
写好了发我邮件。 写的dll不能使用我说的混淆等技术即可。(如果繁忙,我可能几个月半年不会上csdn。)
看来如果都是.net代码,几乎就是光屁股跑了综合一下以上各位的意见。
1 混淆器混淆(流程混淆、字符串内容混淆和变量名混淆),反射加密。
2 加壳
3 主要代码使用C++等编写。没有其它的意见,稍后就结贴