首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
调用ntdll.dll中的ZwRaiseHardError
2024-09-07
让Windows蓝屏死机
ssdt 随便一个函数入口改90就蓝了 ------------------------------------------------- program Project2; uses Windows; (* 原作者:不详.据说是逆的smss的代码. 翻译:http://www.138soft.com,lovejingtao@21cn.com. *) type {$Z4} _HARDERROR_RESPONSE_OPTION = ( OptionAbortRetryIgnore, OptionO
Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)
文章目录: 1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Application 有何妙用: 5. MJ0011 关于 Native Application 的文章整理: 6. 互联网上其他关于 Native Application 的文章整理: 7. 小结: 1. 引子: 其实在好久以前就看了 MJ0011 翻译的那个<Native 应用程序详细>系列的文
vb6如何调用delphi DLL中的函数并返回字符串?
1,问题描述 最近发现vb6调用delphi DLL中的函数并返回字符串时出现问题,有时正常,有时出现?号,有时干脆导致VB程序退出 -- :: 将金额数字转化为可读的语音文字:1转化为1元 ????@ 元 ???? og\SS_log.txt .eP K : 2,原因分析 delphi中函数声明如下: function ss_ConvertMoney2Str(mmje:double): PChar; stdcall; VB6中对应的函数声明如下: Public Declare Function
C#调用C++ dll中返回值为字符串的函数问题
C#调用C++ dll函数,如果返回值为字符串,我们使用string去接收就会报错,因为C++返回的是char*,是个指针,所以c# 要用 IntPtr 来接收. C++: //预编译的标头 .h extern "C" _declspec(dllexport) char* demo(const char* params1, const char* params2); //函数体实现 .cpp extern "C" _declspec(dllexport)char*
【C# C++】C#中调用msvcr100.dll中的_beginthreadex函数
msvcr100.dll是VS2010的C运行时库DLL, _beginthreadex开启子线程的函数就在这个DLL里面实现 unsigned long _beginthreadex( void *security, //安全属性 unsigned stack_size, //线程栈大小 unsigned ( __stdcall *start_address )( void * ), //线程函数 void *arglist, //线程函数的参数 */ unsig
调用外部 DLL 中的函数(2. 晚绑定)
, b, t, );end; procedure TForm1.FormDestroy(Sender: TObject);begin FreeLibrary(inst); {记得释放}end; end.
调用外部 DLL 中的函数(1. 早绑定)
,b,t,);end; end.
在.net中调用Delphi dll的Pchar转换
Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型.如果Delphi dll是Delphi2007以前的版本编译的,则Pchar是Ansi类型:如果Delphi dll是Delphi2009以后的版本编译的,则Pchar是Unicode类型.请看以下实例. Ansi类型: [DllImport("my.dll")] [return: MarshalAs(Unmanage
[转]在C#中调用C语言函数(静态调用Native DLL,Windows & Microsoft.Net平台)
原文:https://blog.csdn.net/yapingxin/article/details/7288325 对于不太了解.Net的人,如果想要了解.Net,我必须给他介绍P/Invoke.P/Invoke是什么呢?简单地说,就是在.Net中调用本地代码(Native code)的一种解决方案.所谓“本地代码”是相对于托管代码(Managed code)来说的. P/Invoke实在是一个非常棒(awesome)的特性.本来,.Net 这项技术充分印证了托管程序(Managed prog
C#调用C++ DLL类方法
C++的优势在于高效灵活,C#的优势在于简单易用,两者结合起来对项目开发来说是件好事,而且C++不容易反编译,也保障了代码的安全性,如果一些核心算法使用C#编写,那么保密就是一个问题. C++生成的DLL一般只提供函数接口,不能直接用C#调用C++写的类,这样非常不方便,于是经过半天的反复测试,终于确定了一套可行的方案,下面就是整个流程的一个范例. ()编写C++类Mask,类前面的extern "C" class _declspec(dllexport)这么一串修饰符是必备的,不然无
C#调用VC dll输出参数
最近做项目需要把以前Vc写的程序整合到VS2005来,用c#写的,以前VC的动态连接库写好了,重写比较麻烦,让C#调用VC dll就好了.但碰到了一个问题:VC中作为输出参数的char*类型的变量应该怎样申明才能正确输出数据呢? 一般说来,在VC中一般的输出参数都为指针或数组的形式,如果是一般类型的指针如整形等,在c#中用ref加上数据变量则可获得返回值.所以我试着把VC中char*输出变量在c#中写成ref string(因为char*在c#中可以写成string或char[]),但发现这样写
如何隐藏DLL中,导出函数的名称?(转)
如何隐藏DLL中,导出函数的名称?(转) 一.引言 很多时候,我们写了一个Dll,不希望别人通过DLL查看工具,看到我们的导出函数名称.可以通过以下步骤实现: 1. 在def函数中做如下定义: LIBRARY EXPORTS HideFuncName @1 NONAME 通过添加NONAME关键字,隐藏函数名,这样的话,用Dependency Walker来查看该Dll,只能看到如下结果: 2. 如何调用该Dll中的函数,通过ID的方式调用,代码如下: 1 typedef void (WIN
如何隐藏DLL中,导出函数的名称?
一.引言 很多时候,我们写了一个Dll,不希望别人通过DLL查看工具,看到我们的导出函数名称.可以通过以下步骤实现: 1. 在def函数中做如下定义: LIBRARY EXPORTS HideFuncName @ NONAME 通过添加NONAME关键字,隐藏函数名,这样的话,用Dependency Walker来查看该Dll,只能看到如下结果: 2. 如何调用该Dll中的函数,通过ID的方式调用,代码如下: typedef void (WINAPI *FPHideFuncName)(); DW
当程序调用dll时获取dll路径,DLL中获取自身的句柄
当程序调用dll时,获取dll路径的方法: HMODULE hMod = GetModuleHandle(_T("axload.dll")); if (hMod != NULL) { TCHAR szBuffer[MAX_PATH] = { 0 }; GetModuleFileName(hMod, szBuffer, sizeof(szBuffer)/sizeof(TCHAR)-1); _DEBUG_OUT("path: %s\r\n", szBuffer); }
python 调用dll中c或c++语言的带指针方法,
在项目开发中遇到了,python需要去调用一个动态链接库dll中的c++方法.这个方法的参数为一个指针类型的参数,一个bool类型参数, 在python中并未对数字类型进行区分. int LP_Agc ( double * a, bool b= true ) 所以在调用这个方法之前, 第一步要将python中的类型转换为c语言类型. 这个应该是python自带的 a = c_double(1.0) #同理 b = c_double(True) #python中还有c_int(),c_float(
DLL中调用约定和名称修饰(一)
DLL中调用约定和名称修饰(一) 调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议.这种协议规定了该语言的函数中的参数传送方式.参数是否可变和由谁来处理堆栈等问题.不同的语言定义了不同的调用约定. 在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同的参数类型或者是不同的作用域)有多个用法,而不会打破现有的基于C的链接器.这项技术通常被称为名称改编(Name Mangl
Qt调用dll中的功能函数
声明: 事先我已经自己动手写了一个简单的dll文件(myDLL.dll),C版接口的.并且用我前两篇有关DLL文章里面的方法,从dll中导出了导入库(.lib)文件,dll中有两个函数,原型如下: void HelloWorld(); //函数内部调用Win32 API,功能是弹出一个helloworld提示框 int add(int a,int b); //实现两个数相加,并返回结果 下面分别通过显示调用和隐式调用两种方法,来模拟Qt如何调用外部dll文件中的功能函数,f
在VS2012中采用C++中调用DLL中的函数 (4)
这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天开始尝试调试DLL的文件调用,起初笔者在网络上找到了3片采用VSXXX版本进行调试的例子,相关的内容见本人Blog在C++中调用DLL中的函数(1)(2)(3) 但是问题出现了,上面讲述的步骤很详细但是在自己运行的时候却会出现错误,于是今天在使用google“vs2012 c++调用dll”时,发现了一篇MSDN上的指南:http://msdn.microsoft.com/zh-cn/library/m
在C++中调用DLL中的函数 (3)
1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等,它们都以源代码的形式发布.由于这种复用是“源码级别”的,源代码完全暴露给了程序员,因而称之为“白盒复用”.“白盒复用”的缺点比较多,总结起来有4点. 暴露了源代码:多份拷贝,造成存储浪费: 容易与程序员的“普通”代码发生命名冲突: 更新功能模块比较困难,不利于问题的模块化实现: 实际上,以上4点概
在C++中调用DLL中的函数 (2)
应用程序使用DLL可以采用两种方式: 一种是隐式链接,另一种是显式链接.在使用DLL之前首先要知道DLL中函数的结构信息. Visual C++6.0在VC\bin目录下提供了一个名为Dumpbin.exe的小程序,用它可以查看DLL文件中的函数结构.另外,Windows系统将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录, 2.进程的当前工作目录, 3.Windows系统目录, 4.Windows目录, 5.列在Path环境变量中的一系列目录. 1.隐式链接 隐式链接就是在程序开始
AutoCAD.NET 不使用P/Invoke方式调用acad.exe或accore.dll中的接口(如acedCommand、acedPostCommand等)
使用C#进行AutoCAD二次开发,有时候由于C#接口不够完善,或者低版本AutoCAD中的接口缺少,有些工作不能直接通过C#接口来实现,所以需要通过P/Invoke的方式调用AutoCAD的其他DLL中的接口来实现. 最常见的是向AutoCAD发送同步命令,在高版本的AutoCAD.NET接口中好像是可以发送同步命令了(据说是从2014或2015开始是可以了,不过我没有进行验证),但在低版本AutoCAD.NET中是没有发送同步命令接口的,SendStringToExecute和COM接口中的
热门专题
sql在线转换为一行
mongdb多个 标签 查询
pyqt5 登录界面跳转到主界面
Win10安装iis后打不开localhost
[NOIP2018]摆渡车
android获取文件夹所有文件
可以使用Costura.Fody将源DLL合并到目标EXE
vue admin 两个router-view
bootstrap表头和内容不对其
delphi程序显示问号
tensorrt 版本 linux
shell split换行
golang defer panic recover执行顺序
pyspider卡在result_worker
solr 检索6千万数据要多久
python 列表 无则
fopen和fprintf
android webview 单位 DP
js class 私有属性
debug 只有第一次可以