草庐IT

DLL_EXPORT

全部标签

c++ - 防止从 Dll C++ 注入(inject) Dll

我对C++中的反dll注入(inject)有一些疑问。我有一个基于C++的游戏,我遇到了黑客注入(inject)dll的问题。然后我需要阻止它。我从那里找到通知Hook:MSDN-NotificationHooks但我不知道如何使用它。是否可以使用notifyhook来防止dll注入(inject)?这怎么可能?(有更好的例子)。可以来自dll吗?(有例子更好)。感谢您阅读该帖子。PS:对不起我的英语。 最佳答案 算了,除非你做非常复杂的事情,否则它是行不通的。我所说的复杂是指类似于Skype中使用的代码混淆、反调试技术。看看thi

c++ - "the procedure entry point _ZNSt8_detail15_List_node_base7_M_hookEPS0_ could not be located in the dynamic link library libstdc -6.dll."

有个小问题。我有C++代码,它链接到一些库。我以前有源代码的(原始)exe,它在第一台机器上运行完美。还有第二台机器,我在那里处理源代码,更改它,等等。在第二台机器上,该源代码的构建工作正常,当我复制second.exe并尝试在第一台机器上运行它时萌芽它显示错误信息"theprocedureentrypoint_ZNSt8_detail15_List_node_base7_M_hookEPS0_couldnotbelocatedinthedynamiclinklibrarylibstdc++-6.dll."有一件事,second.exe被复制到与original.exe相同的文件夹中,

c++ - 在注入(inject)的 DLL 中调用函数?

使用C++,我有一个创建远程进程并向其中注入(inject)DLL的应用程序。有没有办法让远程应用程序从创建它的应用程序执行从DLL导出的函数?是否可以向该函数发送参数?请注意,我试图避免在DllMain中做任何事情。 最佳答案 注意:要获得更好的答案,请seemyupdatepostedbelow!好的,这就是我如何做到这一点的:BOOLRemoteLibraryFunction(HANDLEhProcess,LPCSTRlpModuleName,LPCSTRlpProcName,LPVOIDlpParameters,SIZE_T

c# - VS2010 模块列表中缺少 DLL

我真的一直在用这个问题撞墙。我有一个包含C#和C++代码项目的解决方案。我经常调用C++DLL,它们是通过P/Invoke从C#编译到这个项目中的。没问题。据我所知,通过*.sln文件以及C++和C#文件的所有必要调试器设置都已正确设置。注意:我经常能够毫无问题地调试类似的P/InvokedC++代码!自然地,我想也许符号没有加载——然而,在打开模块窗口时,我发现我试图进入的DLL甚至没有列出!在我的C#程序中运行函数确实使用了DLL(我得到了正确的输出),但是,在观察模块窗口时,DLL仍然没有出现。有人知道发生了什么事吗?tl;dr-->我在调试P/InvokedC++方面有相当多的

c++ - 在 DLL 中创建线程

我正在开发一个.NET探查器,它是用C++编写的(一个使用ATL的dll)。我想创建一个线程,每30秒写入一个文件。我希望线程函数成为我的一个类的方法DWORDWINAPICProfiler::MyThreadFunction(void*pContext){//Instructionsthatmanipulateattributesfrommyclass;}当我尝试启动线程时HANDLEl_handle=CreateThread(NULL,0,MyThreadFunction,NULL,0L,NULL);我得到了这个错误:argumentoftype"DWORD(__stdcallCP

c++ - 使用多线程调试 DLL (/MDd) C 运行时库构建静态 Opencv 库

我现在正在尝试使用cmake构建opencv,如果我使用以下命令:cmake-DBUILD_SHARED_LIBS=OFF..我可以构建静态OPENCV库。但是,构建的库静态链接C运行时库。在VC2010中,它使用多线程调试(/MTd)选项。我期望的是动态链接C运行时库,并且在VC2010中使用/MDd选项,那么我该怎么做才能使它成为可能?谢谢。 最佳答案 将-DBUILD_WITH_STATIC_CRT=OFF添加到CMake命令行:cmake-DBUILD_SHARED_LIBS=OFF-DBUILD_WITH_STATIC_C

c++ - msvcp110.dll,我该如何绕过它?

我遇到以下问题:我使用MicrosoftVisualStudio2012并将msvcp110.dll添加到我的版本中。我在这里和那里阅读了一些帖子,我知道这是由于我同时使用iostream和string并将其链接到我的程序而引起的。我在我的PC上使用它没有问题,但我想向其他人展示它。所以我的问题是,我如何尽可能不让其他人痛苦地解决这个问题,并且仍然使用一些基本的std好东西?我知道其他人可以只安装VisualStudio运行时的东西,但这有点痛苦。 最佳答案 如果您打算保留您的申请dynamically-linked,您的最终用户需

c# - 我可以在没有 Visual Studio 的情况下编译 DLL 吗?

我打算拿aC++library,用SWIG为C#包装它(alt.link),并将C++和C#组件编译为Unity5的DLL。(C#DLL为Unity提供了到C++DLL的接口(interface)。)据我所知,编译C++和C#DLL总是需要VisualStudio(或VS附带的工具,如msbuild)。但是,我目前正在努力安装VS,这让我质疑这个假设。是否有任何其他选项可用于在Windows上编译支持Unity的DLL?(即使我安装了VS,我仍然很想知道。) 最佳答案 您可以下载MSBuild的独立版本并用它来编译你的代码,你不需要

c++ - Windows 上 DLL Exporting/Importing 和 Extern 的问题

我有一些关于Windowsdll的快速问题。基本上我使用ifdefs来处理dllexport和dllimport,我的问题实际上是关于dllexports和dllimports以及extern关键字的放置。我将dllimports/dllexports放在头文件中,但我是否必须将dllexport和dllimports放在实际定义中?对于typedef呢?我是否将dllimport/dllexport放在前面?如dllexporttypedefmapst_map另外关于extern关键字,我看到它被这样使用:extern"C"{dllexportvoidfunc1();}我也看到它被这

c++ - C++ 中的 DLL 导出和继承

我正在尝试从这样的DLL中导出一个类及其基类:#ifdefMY_EXPORTS#defineDECLSPEC_TEST__declspec(dllexport)#else#defineDECLSPEC_TEST__declspec(dllimport)#endifclassDECLSPEC_TESTBaseClass{//stuff.};classDECLSPEC_TESTDerivedClass:publicBaseClass{//Thisclassonlyhasaconstructorwhichinitializestheclassdifferently.};但是我尝试在另一个DL