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相关的数据源配置错误. 过程调试 经尝试,当直 ...
随机推荐
- 黑客常用dos-cmd命令
黑客常用命令大全net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai ...
- sql注入2
一.查询数据库的版本号 http://10.1.2.5:10631/sqli/Less-2/?id=-1 union select 1,2,version() 二.查询数据库中所有的库名 http:/ ...
- C# 检查数字
#region 检查数字 public bool IsNumeric(string value) { bool result; try { int x = int.Parse(value); resu ...
- python基础一之while循环随机猜数字
# Author:"Mamba" import random setNum = random.randint(1,10) #print(setNum) count = 0 whil ...
- soupUI基础使用方法
SoapUI简介 文章出处:http://www.cnblogs.com/hong-fithing/ SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功 ...
- Find Longest common string
动态规划法: 用二维矩阵来的每个元素来代表两个字符串的字符匹配情况, LCS[i, j]= LCS[i-1, j-1] + 1 , if X[i-1] == Y[J-1]. LCS[i, j] =0 ...
- 百川sdk----自己的WebViewClient不被执行【废弃,新版本百川已修复此问题】
我在百川sdk的旺旺群中,追问这个问题N多次,一直没有人答复,哎,凡事都要靠自己..... 1.先查看下百川sdk中,是怎么处理咱们传递过去的 WebViewClient public class l ...
- Sqlite 参数化 模糊查询 解决方案
转自:https://codedefault.com/2018/does-dapper-support-the-like-operator-in-csharp-application 问题描述 如题, ...
- leetcode 222.Count Complete Tree Nodes
完全二叉树是从左边开始一点点填充节点的,因此需要计算所有的节点的个数. 则分别从左边和右边来进行传递的,当左右是完全二叉树的时候,其节点个数就是pow(2,h)-1. /** * Definition ...
- pycrypto安装各种方法试了,最后这种最快速最方便
需要安装vs,然后按照如下步骤 这个不是在cmd中执行 而是在vs的命令行中执行