dll文件

写壳2

≡放荡痞女 提交于 2019-11-28 16:40:32
壳2 创建MFC-基于对话框项目。 绘制界面 图片插入,添加工具-picture control-属性 属性-设置 一键加壳按钮实现 void CMFCShellDlg::OnBnClickedButton1(){ //设置过滤器 TCHAR szFilter[] = _T("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||"); // 构造打开文件对话框 CFileDialog fileDlg(TRUE, _T("txt"), NULL, 0, szFilter, this); CString strFilePath, strText;​ // 显示打开文件对话框 if (IDOK == fileDlg.DoModal()) { strFilePath = fileDlg.GetPathName(); //获取文件路径 CMyPack MyPack;​ // 读取一个 PE 文件 USES_CONVERSION; MyPack.LoadFile(W2A(strFilePath.GetBuffer()));​ // 读取 stub 文件 MyPack.LoadStub("my_stub.dll");​ // 将 stub 中的 .text 拷贝到 pe 文件的 .mypack MyPack.CopySection(".mypack", ".text");​ //

JNA调用DLL函数遇到的几个问题

梦想与她 提交于 2019-11-28 16:34:15
最近一个JSP项目需要用到分词模块,而分词模块实用C++写成的DLL库。于是上网搜各种方法,最后选择了JNA作为JSP调用DLL的工具。 JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native function的映射。 JNA的使用方法有很多,这里只总结下我遇到的问题: DLL放置的路径问题 JSP本身分为bean的src目录和WebRoot的脚本目录,而我们的DLL需要在src下的类中调用,于是遇到了将DLL和资源文件放置到什么地方的问题。 最后解决方法: 将调用的DLL和LIB文件拷贝到C:/Windows/System32目录下 可以访问。 解决过程:我试过将这些文件放到Src目录下,然后用Class.class.getResource("/").getPath()这种方法得到类的class路径,再得到资源文件的路径,结果没有成功。 DLL调用资源的路径问题 DLL可能会调用其他资源文件,比如我这里需要用到词典,路径也是个问题,不过这个较为简单,很容易解决: 将资源文件目录, 拷贝到Src目录下面

c# 无法加载DLL:找不到指定的模块(异常来自HRESULT:0X8007007E)

…衆ロ難τιáo~ 提交于 2019-11-28 15:27:07
c# 无法加载DLL“xxxx”:找不到指定的模块(异常来自HRESULT:0X8007007E)的一个解决方法 以前的一个c#项目,今天运行的时候突然发现调用DLL时出现了下面的错误。 心中很诧异,明明以前能用的,今天怎么报错了。代码没有修改,也不存在DLL路径错误的问题。 后来看到有网友说用 depends这个软件可以对DLL文件进行分析,就拿来一试。果然找到了问题。是以前编译器调用的库和现在编译器调用的库版本不一样。 depends可以从网上下载:http://www.dependencywalker.com/ depends用法大致如下: 打开需要调用的DLL: 发现 有文件缺少提示,仔细对比debug文件夹下对应的DLL库,发现文件有所不同,重新下载对应版本的库,问题解决 c#调用DLL的时候如果调用失败只会报给说:xxxxDLL找不到指定的模块,不给确切的错误在哪,所以有时候会带来误导。所以使用这个depends可以协助解决问题,但要注意这个工具有时候因为路径问题等原因,会误报,所以在使用的时候需要仔细一些。 ———————————————— 版权声明:本文为CSDN博主「暗日狂沙」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/yxl0011/article/details

Delphi 调用DLL中的窗体

旧城冷巷雨未停 提交于 2019-11-28 09:42:10
library Project1; uses SysUtils, Classes,Forms,windows,dialogs, Unit1 in ' Unit1.pas ' { Form1 } ; { $R *.res } function showform(formname: string ):boolean; stdcall ; var TheClass: TPersistentClass; aForm: TForm; begin result: = false; { 如果您的Dll中有很多FORM,请在这儿注册哦 RegisterClasses([TForm1,TForm2,TForm3,...]); } RegisterClasses([TForm1]); TheClass : = GetClass( ' T ' + FormName); if (TheClass = nil ) then exit; if TheClass.InheritsFrom(TForm) then begin aForm : = Tform(TheClass.Create).Create( nil ); try aForm.ShowModal; result: = true; finally FreeAndNil(aForm); end ; end ; end ; exports showform

调用DLL窗体-Delphi实例

南楼画角 提交于 2019-11-28 09:41:46
(一)通过向导DLL Wizard新建一个动态链接库,取名为:DLLPro.dpr。说明:当在DLL工程文件中使用了String类型时,要有 uses ShareMem ,不过建议使用PChar类型。其代码如下: library DLLPro; //编译生成DLLPro .dll 文件。 uses ActiveX , Forms , Windows , SysUtils, Classes, DLLUnt in 'DLLUnt.pas'; {$R *.res} var DllApp :TApplication; //全局变量DLLApp默认初始化,即,DLLApp:=Application. procedure CreateForm1(app:TApplication;parentform: TForm ); export;stdcall; var Form1: TForm1; begin CoInitialize(nil); try Application:=app; Form1:=Tform1.Create(parentform); form1.MyParentForm:= parentform; //MyParentForm在DLLUnt.pas中定义为公共变量 form1.myparentApplication:=app; /

调用DLL窗体-Delphi实例

限于喜欢 提交于 2019-11-28 09:41:33
(一)通过向导DLL Wizard新建一个动态链接库,取名为:DLLPro.dpr。说明:当在DLL工程文件中使用了String类型时,要有 uses ShareMem ,不过建议使用PChar类型。其代码如下: library DLLPro; //编译生成DLLPro.dll文件。 uses ActiveX, Forms, Windows, SysUtils, Classes, DLLUnt in 'DLLUnt.pas'; {$R *.res} var DllApp:TApplication; //全局变量DLLApp默认初始化,即,DLLApp:=Application. procedure CreateForm1(app:TApplication;parentform: TForm); export;stdcall; var Form1: TForm1; begin CoInitialize(nil); try Application:=app; Form1:=Tform1.Create(parentform); form1.MyParentForm:= parentform; //MyParentForm在DLLUnt.pas中定义为公共变量 form1.myparentApplication:=app; //MyParentApplication在DLLUnt

【权限维持】window服务端常见后门技术

假如想象 提交于 2019-11-28 07:10:54
0x00 前言   未知攻焉知防,攻击者在获取服务器权限后,通常会用一些后门技术来维持服务器权限,服务器一旦被植入后门,攻击者如入无人之境。这里整理一些window服务端常见的后门技术,了解攻击者的常见后门技术,有助于更好去发现服务器安全问题。 常见的后门技术列表: 1、隐藏、克隆账户 2、shift后门 3、启动项、计划任务 4、劫持技术 5、Powershell后门 6、远控软件 7、嗅探技术 0x01 隐藏、克隆账号 window 隐藏系统用户制作: 1、CMD命令行下,建立了一个用户名为“test$”,密码为“abc123!”的简单隐藏账户,并且把该隐藏账户提升为了管理员权限。 PS:CMD命令行使用"net user",看不到"test$"这个账号,但在控制面板和本地用户和组是可以显示此用户的。 2、“开始”→“运行”,输入“regedt32.exe”后回车,需要到“HKEY_LOCAL_MACHINE\SAM\SAM”,单机右建权限,把名叫:administrator的用户给予:完全控制以及读取的权限,在后面打勾就行,然后关闭注册表编辑器,再次打开即可。 3、来到注册表编辑器的“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names”处,点击test$用户,得到在右边显示的键值中的“类型”一项显示为0x3ec

[笔记] NuGet Warning NU5100 处理

丶灬走出姿态 提交于 2019-11-28 06:10:43
问题描述 在将 .NET 项目编译成 NUGET 包时,如果项目引用了其它 dll 文件,则可能出现这个警告,如果不处理,Nuget 包中可能无法正确引用所添加的 dll 。 处理方式 在项目 .csproj 文件中添加如下内容: <ItemGroup> <Content Include="lib\*.dll"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <PackagePath>.\lib\$(TargetFrameworks)</PackagePath> </Content> </ItemGroup> <Content Include="lib\*.dll"> 中的 lib 是项目中 自定义的文件夹 ,这里的意思就是,将项目中 lib 文件夹下所有的 dll 文件,在生成时,其 PackagePath 都设置到 Nuget 包中的 .\lib\$(TargetFrameworks) 目录下。 $(TargetFrameworks) 只编译目标框架,如 net45 ,最终,将在 Nuget 包的输出目录中,得到项目生成的 dll 和所引用的 dll 。 参考 NuGet Warning NU5100 | Microsoft Docs docs.microsoft.com-nuget/NU5100

转 C++面试题

我怕爱的太早我们不能终老 提交于 2019-11-28 05:18:51
1.static有什么用途?(请至少说明两种) 1)函数体内,声明为static的变量,在函数调用中其值不变。 2) 在同一个文件内(但在函数体外),声明为静态的变量,可被本文件内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用( &)与指针(*)有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。 4) 引用没有 const,指针有 const,const 的指针不可变; 附:int &ra=a; //引用ra,是变量a的引用,即别名 & 在此不是求地址运算,而是起标识作用。 声明引用,必须同时对其初始化。 引用声明完,相当于变量有两个名称。 引用本身不占有存储单元 不能建立引用的引用,指向指针的引用(int && n ; int &*p 为错误的 int *&q;正确) 3.描述实时系统的基本特性 时间约束性 可预测性 可靠性 4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库 局部变量在堆栈。 局部变量会屏蔽全局变量 全局变量运行时会更快(不用再分配空间) 5.什么是平衡二叉树?

计算机中缺少vcruntime140d.dll

*爱你&永不变心* 提交于 2019-11-28 05:05:33
vcruntime140d.dll下载地址 链接:https://pan.baidu.com/s/1bSigFLZHsjVbhdGs3zykGA 提取码:l0u2 win10系统 将dll复制到 C:\Windows\SysWOW64 目录下 再次打开即可 如果不行 参考下面 dll控件常规安装方法(仅供参考): 一、如果在运行某软件或编译程序时提示缺少、找不到dll等类似提示,您可将从网上下载来的dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。 二、直接拷贝该文件到系统目录里:    1、Windows 95/98/Me系统,将dll复制到C:\Windows\System目录下。    2、Windows NT/2000系统,将dll复制到C:\WINNT\System32目录下。    3、Windows XP/WIN7系统,将dll复制到C:\Windows\System32目录下。 三、打开"开始-运行-输入regsvr32 dll",回车即可解决。 ———————————————— 版权声明:本文为CSDN博主「就是217」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_42777804/article/details