请问能否将VC编写的DLL 嵌入到 C# 的Exe里?

问题描述

我们有个项目是用VC封装了一个DLL给C#使用,但是又不想让客户看到这个DLL(防止他们拿来使用),所以想直接将这个DLL嵌入到C#的Exe里,请问有方法可以做到这个样吗?或者给个思路!谢谢!

解决方案

解决方案二:
可以嵌入,然后临时释放,用完在删除
解决方案三:
引用楼主vc_learner的回复:

我们有个项目是用VC封装了一个DLL给C#使用,但是又不想让客户看到这个DLL(防止他们拿来使用),所以想直接将这个DLL嵌入到C#的Exe里,请问有方法可以做到这个样吗?或者给个思路!谢谢!

临时释放?要放到硬盘吗?如果这样,客户还是可以获得这个DLL
解决方案四:
引用1楼wanghui0380的回复:

可以嵌入,然后临时释放,用完在删除

临时释放?要放到硬盘吗?如果这样,客户还是可以获得这个DLL
解决方案五:
一般是释放到系统临时文件夹里,系统临时文件一般没人看,当然你释放的时候,可以不命名为dll,直接释放为System.IO.Path.GetRandomFileName一个随机文件(甚至可以不用带后缀),然后使用loadLibrary加载他基本上不用担心什么,因为系统临时文件夹没人看,里面一大坨一大坨不知道是什么的玩意,除非你的客户也懂行知道用FileMonitor去跟踪文件调用,当然会用FileMonitor滴的人,你在防都没啥用
解决方案六:
这里有一篇http://stackoverflow.com/questions/14158846/load-library-module-from-memory从steam里面load滴,不过我没有测试过这种代码,理论上如果自己分配内存,并创建hand,同时写入也可以,不过我没什么兴趣测试这样的“危险”代码

时间: 2024-11-30 13:28:59

请问能否将VC编写的DLL 嵌入到 C# 的Exe里?的相关文章

VB操作VC编写dll的问题

问题描述 这里有一个VC编写的dll文件,需要分别使用C#,和VB来进行调用文件中的数据结构及函数分别为:typedefstructAD_ITEM_FLAG{longADItemSize;longid;longADFlags;charPath[255];longisCut;longVolume;longPosition;longTimes;charContent[1000];longTimeLong;charTextFont[32];longFontSize;longFontColor;long

通过VB结构数组输入数据VC编写DLL实现图形文件

前言 太多的例子讲如何如何实现VC编写动态链接库,VB中声明后使用,但没有一个好的文章来深入探讨这个问题,本文负责解决此类问题. 1.一般情况 VB中定义为: Private Declare Function FuncFoo Lib "MyStDll.DLL" _ (ByVal lParam1 As Long, ByVal lParam2 As Long) As Long VC中定义为: UINT WINAPI FuncFoo(UINT lParam1, UINT lParam2);

有关c# 调用vc++编写的非托管DLL、socket编程等相关知识的讲的比较详细的书籍

问题描述 有关c# 调用vc++编写的非托管DLL.socket编程等相关知识的讲的比较详细的书籍 学习c# 调用vc++编写的非托管DLL.socket编程等相关知识的讲的比较详细的书籍都有哪些?(最好是基于VS2008的) 解决方案 c#调用非托管C++生成的dllc# 调用 C++ 非托管 DllC#调用非托管dll 解决方案二: 这样一个知识点,最好是 Baidu/Google 查找来解决 书上的内容,没有网络上的丰富

用VB编写ActiveX DLL实现ASP编程

ASP是目前一种广为应用的用来快速构建动态WEB站点的编程语言,默认的内置开发语言是VBScript,由于ASP和微软Windows系列操作系统的结合非常的好,使得ASP已经成为了NT开发平台上面进行WEB开发的首选语言和环境.他有着简单易学,方便快速开发的种种优点,但是他也有着致命的弱点,就是他是脚本语言解释执行的,速度会受到一定的影响,更为关键的是,使用ASP来开发完成一个项目之后,整个项目在交付客户使用的时候,是会连带所有的ASP脚本源代码的,也就无法将商业程序保密了,源代码泄漏会给自己造

PB中使用VC++编制的DLL

一.DLL概述: 动态链接库(Dynamic-Link Library),简称DLL,是基于Windows程序设计的一个非常重要的组成部分.使用DLL有许多优点: (1)使用DLL的动态连接不是将库代码拷贝,只在程序中记录函数的入口点和接口,在程序执行时才将库代码装入内存,如果有多个程序使用相同的DLL,也只需将DLL在内存中装载一次,节省了内存开销. (2)DLL是基于Windows的程序模块,它不仅包含可执行代码,还可以包含数据,各种资源,扩大了库文件的使用范围. (3)对于一个大型的.不断

利用VC++编写Windows95的CPL组件

控制面板是Windows 95 的控制中心,通过它可以完成添加新硬件设备.改变桌面设置.配置网络协议等多项工作.在Windows 95 中,控制面板通常有20 多个组件,我们只要用鼠标双击任一组件的图标,就会弹出一个对话框,对话框包含有设置一些系统参数的选项,这些参数的绝大多数都存放在Windows 95 的注册表中. ---- 控制面板的主程序是CONTROL.EXE,它在启动时自动Winndows\System 目录下查找并调入文件扩展名为CPL 的控制面板组件.控制面板组件是可以扩充的,一

vb net vfp6 0 dll-如何利用vfp编写一个dll?如何利用vb.net调用这个dll?

问题描述 如何利用vfp编写一个dll?如何利用vb.net调用这个dll? 问题1需要一个vfp写的dll,代码如下:DEFINE CLASS VpfUpdate AS CUSTOM OLEPUBLICFUNCTION VpfUpdate(tableSource AS String, tableTarget as String) as String USE (tableSource) COPY TO (tableTarget) TYPE Fox2x RETURN tableTargetENDF

vc++-请问,如果VC++6成功调用动态链接库了,那么Qt是不是也可以成功调用库?

问题描述 请问,如果VC++6成功调用动态链接库了,那么Qt是不是也可以成功调用库? 请问,如果VC++6成功调用动态链接库了,那么Qt是不是也可以成功调用库? 解决方案 VC6 工作在是windows ,QT是跨平台的, 对于同一个库文件,VC能成功调用,那么Windows平台上的QT也应该有对应的方法能成功调用,但是换换平台应该就不行了 解决方案二: 要看是什么连接库啊,看是不是Win32平台的,看是不是对质VC6编译器的,如果是就可以了.在编译器编译命令中添加库引用就可以了. 解决方案三:

vc++-用VC++编写一个示波器仿真软件

问题描述 用VC++编写一个示波器仿真软件 用VC++编写一个示波器仿真软件,并且绘制出模拟的正弦波信号来.可是我只会写DOS程序,请问这个怎么画图?救命啊!!! 解决方案 http://www.doc88.com/p-1157198033488.html 解决方案二: http://www.educity.cn/xiazai/8442920.html 解决方案三: 即然确定要用VC++,你就必须熟悉一下这个工具.否则,一些都是纸上谈兵! 网上有类似的工程,可以找来一边学习一边修改,以达到你的要