DLL隐藏技巧
DLL隐藏技巧
第一招:将dll隐藏到资源文件中
-
先把原有的dll引用删除
-
将dll文件加入资源文件中
-
从资源文件中添加dll文件引用。修改当前引用文件的引用属性(是否复制到本地,修改为不复制)
-
新建一个帮助类,粘贴以下的代码
点击查看代码
public class DllLoadHelper
{
/// <summary>
/// 加载资源dll
/// </summary>
public static void LoadResourceDll()
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}
/// <summary>
/// 解析程序集
/// </summary>
/// <param name="sender">sender</param>
/// <param name="args">参数</param>
/// <returns>程序集</returns>
private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
//获取dll名称
string dllName = args.Name.Contains(",") ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", "");
//dll名称处理
dllName = dllName.Replace(".", "_");
if (dllName.EndsWith("_resources")) return null;
//获取命名空间
string Namespace = Assembly.GetEntryAssembly().GetTypes()[0].Namespace;
//加载dll
System.Resources.ResourceManager rm = new System.Resources.ResourceManager(Namespace + ".Properties.Resources", System.Reflection.Assembly.GetExecutingAssembly());
byte[] bytes = (byte[])rm.GetObject(dllName);
//返回程序集
return Assembly.Load(bytes);
}
}
- 修改启动程序
在main方法中添加
点击查看代码
DllLoadHelper.LoadResourceDll();
第二招:fody打包(推荐)
- 先安装fody,以下的两个指定的扩展包
-
在项目中新建以下文件FodyWeavers.xml
代码如下:
<?xml version="1.0" encoding="utf-8" ?> <Weavers> <Costura /> </Weavers>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本