DLL简单分析与调用方法
最近为了分析一个没有代码的DLL有哪些函数,找了各种方法。
把结果分享一下:三个方法都没法得到函数的参数,有点让我失望。
DLL Export Viewer

NikPEViewer

Dumpbin
配置说明参考:https://docs.microsoft.com/en-us/previous-versions/756as972%28v%3dvs.140%29
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\bin\Hostx64\x64>dumpbin.exe /exports C:\bregonig.dll
Microsoft (R) COFF/PE Dumper Version 14.15.26730.0
Copyright (C) Microsoft Corporation. All rights reserved. Dump of file C:\bregonig.dll File Type: DLL Section contains the following exports for bregonig.dll 00000000 characteristics
5413D4DA time date stamp Sat Sep 13 14:23:38 2014
0.00 version
1 ordinal base
20 number of functions
20 number of names ordinal hint RVA name 1 0 000501D0 BMatch
2 1 00050200 BMatchEx
3 2 00051460 BMatchExW
4 3 00051430 BMatchW
5 4 000501A0 BRegexpVersion
6 5 00051400 BRegexpVersionW
7 6 00050450 BRegfree
8 7 00050450 BRegfreeW
9 8 000503E0 BSplit
10 9 000515A0 BSplitW
11 A 00050230 BSubst
12 B 00050260 BSubstEx
13 C 000514C0 BSubstExW
14 D 00051490 BSubstW
15 E 00050290 BTrans
16 F 000514F0 BTransW
17 10 00050470 BoMatch
18 11 00051610 BoMatchW
19 12 00050540 BoSubst
20 13 000516E0 BoSubstW Summary 6000 .data
3000 .reloc
1000 .rsrc
75000 .text
DLL调用方法
[DllImport("GP\\GPP.dll", EntryPoint = "GPPGetString", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
static extern int getString(int nFont, int nBtwChar, string psString, int nSize, int nFontSizeVal);
CallingConvention的设置是依赖与DLL内部方法的定义是否有__stdcall。
DLL简单分析与调用方法的更多相关文章
- C# 创建Dll文件供程序调用方法
C# 创建Dll文件供程序调用方法 使用C#创建动态Dll文件方法: 1. 在VS2017环境下,新建-项目-选择类库类型: 2. 新创建一个.cs文件(如test.cs),编写代码如下: usin ...
- C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法
对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...
- jQuery视差滚动插件,(附原理分析,调用方法)
演示地址:http://www.jq22.com/jquery-info1799 jquery插件,使用验证过可用. 分析源代码后总结原理:设置background样式为fixed,判断浏览器滚动距离 ...
- C++编写动态库(.DLL)给C#调用方法
1.在头文件中按照如下格式编写函数申明 extern "C" __declspec(dllexport) double __stdcall Add(double a, double ...
- go语言简单的soap调用方法
package main import ( "bytes" "encoding/xml" "fmt" "io" &quo ...
- 结合实例分析简单工厂模式&工厂方法模式&抽象工厂模式的区别
之前写过一篇关于工厂模式(Factory Pattern)的随笔,里面分析了简单工厂模式,但对于工厂方法和抽象工厂的分析较为简略.这里重新分析分析三者的区别,工厂模式是java设计模式中比较简单的一个 ...
- C/C++:Windows编程—调用DLL程序的2种方法(转载)
文章为转载,原文出处https://blog.csdn.net/qq_29542611/article/details/86618902 前言先简单介绍下DLL.DLL:Dynamic Link Li ...
- 7、SpringMVC源码分析(2):分析HandlerAdapter.handle方法,了解handler方法的调用细节以及@ModelAttribute注解
从上一篇 SpringMVC源码分析(1) 中我们了解到在DispatcherServlet.doDispatch方法中会通过 mv = ha.handle(processedRequest, res ...
- DUBBO报错分析—1(连接zookeeper成功,调用方法无反应,不报错)
思路分析 调用方法时,最后调用执行的是mapper的sql语句,既然调用对应的方法无法获取返回值,多是sql错误,但是并未报sql错误,说明可能是与sql相关的数据源配置错误. 过程调试 经尝试,当直 ...
随机推荐
- 注意Delphi 10.3.1中Trunc函数的问题
10.3.1,Trunc(0.35*100)=34,出现这种情况!bug?
- Element Ui中table实现表格编辑效果
主要以css实现 .tb-edit .el-input, .tb-edit .el-input-number, .tb-edit .el-select { display: none; width: ...
- Linux 下SVN报错No repository found in 'svn://210.16.191.230/huandong_project'
[root@xxxxxx~]# netstat -apn|grep 3690tcp 0 0 0.0.0.0:3690 0.0.0.0:* ...
- 'touch' 不是内部或外部命令,也不是可运行的程序或批处理文件。
touch是Linux环境下的命令,当我们在cmd中使用时会弹出以下问题 在cmd中我们可以使用echo test> 然后我们用dir命令来查看一下当前文件夹下文件有没有创建 文件成功创建.
- vue项目中如何使用less
首先你的vue-cli下载完成 第一步 安装less-loader 依赖 npm install less less-loader --save-dev 直接自动就配置上了,不用手动配置 ...
- html网页调用本地exe程序的实现方法:
html网页调用本地exe程序的实现方法:1.新建注册表具体文件: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\hhtpexe] [ ...
- fabric一些资料网站,长期更新
nodejs的入门教程 http://nqdeng.github.io/7-days-nodejs/#1.2 http://blog.fens.me/series-nodejs/ fabric的知识博 ...
- c++中的两种getline用法
参考 https://blog.csdn.net/Big_laoshu/article/details/79345351
- ubuntu 16.04 编译安装 amule (开启GUI)
安装依赖 $ -dev libgeoip-dev zlib1g-dev libupnp-dev libboost-all-dev libwxbase3.-dev libwxgtk3.-dev buil ...
- unsigned int reverse_bit(unsigned int value);
/*编写函数 unsigned int reverse_bit(unsigned int value); 这个函数的返回值吧value的二进制位模式从左到右翻转后的值. 如在32位机器上25这个值包含 ...