架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 26237|回复: 4

[资料] .NET 反调试,加强程序安全

[复制链接]
发表于 2020-5-26 15:10:54 | 显示全部楼层 |阅读模式
.net 下有许多反编译的工具:dnspy、Reflector、ILSpy 等

可以直接调试编译出来的.exe程序,查看内存中的值,甚至直接修改源代码。

那么我们的程序如何检测到自己正在被调试或者反编译呢?

在正常启动应用程序的时候,一般都是用户双击应用程序启动,其父进程是“explorer”,我们只需要检查启动的父进程是否正确就可以了。

通过双击运行、cmd启动、dotnet启动获取到的不同的值,如下图:

dotnet.png

如果启动的父进程名称不是 explorer ,程序则退出。

.NET Core 需要安装如下包,命令如下:


代码如下:







上一篇:使用命令卸载 Symantec Endpoint Protection(SEP)
下一篇:Angular 9 实现复制(剪切板)功能
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2020-11-10 15:57:52 | 显示全部楼层
AppDomain.CurrentDomain.BaseDirectory 和 System.Environment.CurrentDirectory 不一致也可以

【转】警惕 System.Environment.CurrentDirectory 获取当前目录
https://www.itsvse.com/thread-9464-1-1.html


码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-9-26 17:40:44 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-9-29 19:06:54 | 显示全部楼层
来看看,感谢分享
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-9-30 14:42:10 | 显示全部楼层
牛蛙 来学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-24 07:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表