- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#.NET程序进程自我保护[含源代码]
近期写了很多C#小程序,一直有个编程的问题没有解决——禁止别人用任务管理器,结束自己的程序进程(.NET程序)。功夫不负有心人,经过两个晚上的加班加点,我查阅了大量的资料,终于找到一大堆的替代方法,来保护自己进程不被结束的方法。
互联网上各类资料反映的方法主要有以下几种,一一整理出来。
一是把任务管理器程序删除
不让别人打开(妈呀,这个我觉得最不可取了,有点杀鸡取卵的味道,没有任务管理器,我是无法忍受的。毕竟人家用户,购买了你产品,你总不可能把别人任务管理器给洗白了吧?)否决!
二是通过C#内置的Process类
通过C#内置的Process类,对任务管理器的进程进行扫描,如果检查到有taskmgr.exe的进程(任务管理器进程),就把这个进程结束了。(虽然没有第一个来的恶劣,但是,用户还是不能使用任务管理器)否决!
三双程序进行双互斥保护
这个想法是网上提的最多的思路,如果一个程序被结束了,另一个程序检测到这个程序不在了,就立即重新启动该程序,双双保护,互助互利(结果我尝试了一下,不可取,因为1,CPU使用率太高,一直在循环检测,计算机速度立即就下了。我妈妈这个机子,P4的配置,1G内存,也来不起了。网页也卡起了。2,我写了一个第三方程序,以最快速率去结束这个两个进程,如果这两个进程为了节约CPU的使用率,而把扫描间隔时间隔的太开的话,立刻被我的程序洗白。所以,理论上这种方法,肯定是会被洗白的)否决
四是通过Windows的驱动机制隐藏自己
技术含量比较高了,通过Windows的驱动机制,把自己给隐藏了(把自己变成驱动),然后隐藏到系统中运行,在任务管理器完全找不到,其实我多喜欢这种方式的,但是,这个程序一弄出来,瑞星,Google,Hotmail,360卫士,全部当成病毒查出来了,我当时眼流花都要流出来了。他们都太不给面子,Google,Hotmail直接把我的附件删除了。随便我压缩,分包压缩,都逃不过他们的法眼。所以,我清楚的意识到,这种程序弄出来,在客户机器上,肯定是无法长久生存的。毕竟一个堂堂正正的程序,干嘛要去隐藏呢?所以。该条方案否决!
五是用C++程序来保护C#程序
用第三方的VC++程序,辅助C#程序达到不让别人禁止C#进程的方法。哎,弄了半天,这种方法,我认为最行之有效。毕竟不得不承认,要搞Windows系统级的程序设计,C++是当之无愧的龙头老大,C#只是一个做网站级应用的能手。不过,你发布一个程序给用户,用户看到那个任务管理器里面还有个其他程序在运作或者是看到你的安装包里面怎么还有其他程序名字,确实感觉太不专业,太不地道了。话又说回来,这种辅助程序一般都要收费。我下载的那个就要收费。所以,最后,这个方案也否决了!
难道,C#真的就不能自己弄个什么名堂的东西出来,不被任务管理器结束吗?实际,我认为,C#是可以做到这一点的。原因有2个。1,C#是支持带*号这种指针的方式的。也就是说,C#可以使用指针。2,C#可以完全无障碍的调用Windows自己的API函数(虽然性能没有VC++开发的好),调用第三方开发的COM组件,甚至调用USB插口接口相关信息(曾今做U盘杀毒的时候,用到过,不过主要还是结合API完成的,一个未公开的API函数R开头的忘记了)。所以,为此,我抱着信心开始准备找第三方提供的动态链接库之类的东西,毕竟要自己写,C#还是有许多性能和调用方面的麻烦问题要考虑,毕竟不是毕业设计,所以,能简单就简单,只要克服以上提到的5种方法的不足。
最后,功夫不负有心人,找了大半天,找到了一个叫Peter的牛人,写了一个通过VC++程序调用VC++动态链接库,实现的VC++程序不被任务管理器结束的源代码。幸亏源代码相当详尽(VC++动态链接库的源码,VC++应用程序源码),要不然,后面的活路,就没有办法做了。于是我开始,慢慢,慢慢走上辛苦的VC++代码分析上。你们可能要问我干什么?我可以很坦然的告诉你,虽然我VC++能力确实不强,但是我要把VC++的代码,移植到C#上。听起来,很不可思意,但是,我真的成功了。最后,为了报答我的学校——成都电子机械高等专科学校和成都信息工程学院。我把VC++应用程序调用代码,移植到.NET上,并且,为了调用方便,我做成了.NET可以识别的dll运行库。只要按以下方式调用运行即可。这个dll运行库可以保护自己进程,也可以通过设置保护其他进程,作为第三方动态链接库存在。(很幸运,虽然这个第三方动态链接库我还是很花了些时间,但是绝对不收费,免费放送,提供C#工程源码下载!如果大家有兴趣也可以一起讨论一下,我的邮件是Email:k.liuxu@),至于那个牛人的设计思路,其实,就是用系统函数挂钩,挂接了所有的系统函数消息。没有直接分析任务管
您可能关注的文档
- RealVNC5安装设置概述.doc
- B301-Ff说明书概述.doc
- Redhat_安全加固概述.doc
- Redis分析与应用研讨概述.doc
- barservice概述.ppt
- CCC培训资料概述.ppt
- BBS行为安全观察之人员的位置概述.ppt
- RemaGrip1滚动包胶概述.ppt
- CCNA课程笔记概述.doc
- cc卷带联络巷施工安全技术措施概述.doc
- 第17课+七七事变与全民族抗战(任务型教学课件)历史统编版五四学制2024中国历史第三册.pptx
- 4.3+谋划母亲河生态保护++第2课时(教学课件)地理晋教版2024八年级上册.pptx
- 2-6物联网系统的工作过程课件2025-2026学年河大版八年级信息科技.pptx
- 5.2.1+分析人类活动对生态系统环境的影响.pptx
- 建筑安装企业会计处理.doc
- 小学数学三年级北师大版下册课件-练习五.ppt
- 电厂辅网安全培训内容课件.pptx
- 五一劳动节简约绿色红色清新风格模板 (13).pptx
- 五一劳动节简约绿色红色清新风格模板 (15).pptx
- 18.3分式的加法与减法(第2课时+分式的混合运算)(教学课件)数学人教版2024八年级上册.pptx
最近下载
- 2025年中国长寿医学与抗衰产业白皮书.pdf.docx
- 低空经济系列深度报告:低空经济:低空翱翔,拉开序幕426mb.pptx VIP
- 四川省拟任县处级党政领导职务政治理论水平任职资格考全套案例.doc VIP
- 《康养水水源评定规范》.pdf VIP
- 主要施工项目成品保护.docx VIP
- 面向智能建造的工程项目管理课程模块化案例教学模式.docx VIP
- 低空行业经济系列深度报告:低空经济,低空翱翔,拉开序幕.pdf VIP
- 营业执照法人变更委托书模板.docx VIP
- 2024年四川久远投资控股集团有限公司人员招聘笔试备考题库及答案解析.docx VIP
- 帛书甲本《老子》(竖排).pdf VIP
原创力文档


文档评论(0)