1 20 50 150 500
欢迎来到云客软件站,找素材,搜软件,就上云客软件站!
当前位置 >首页 >软件下载 >电脑软件 >编程开发 >网络编程

InvokeDllMethodsAdvance 3.0 最新版

软件信息
  • 分类:网络编程
  • 大小:48.6M
  • 语言: 中文
  • 环境: Win7, win8
  • 更新:2024-11-13
  • 评级:
  • 系统: Windows Linux Mac Ubuntu
  • 软件类别: 国产软件 / 免费软件 / 反编译(译逆工程)
  • 插件情况:

InvokeDllMethodsAdvance是一个国产的万能动态库调用工具,不用编写任何代码,就可以调用符合WINAPI标准的任意动态库文件(WINAPI标准即__stdcall调用约定)。国产IDMA工具界面主要使用C#WinForm编写,运行依赖于.netframework4.0环境,底层采用C++封装,用汇编实现对函数的动态调用(函数参数的入栈及调用)

此工具非常适合上位机软件开发或测试人员,可以省去编写demo的时间,直接使用此工具进行调试,有助于开发人员将更多的时间集中在功能开发上。

主要优点如下:

不用编写任何代码,即可调用动态链接库。
适合入职新员工或不懂动态链接库调用的人使用。
可以免去测试demo的编写,减轻开发人员工作量。
非常适合动态链接库的开发调试、测试等工作。

主要功能及使用

2.1主要步骤 
1、选择所要调用的动态库文件
2、选择动态库配套的头文件及函数
3、填写完参数后,调用该函数
4、函数的出参或返回值会展示在对应的位置
2.2选择动态库 
该操作完成对动态库的加载LoadLibrary
2.2.1选择动态库方式一:通过浏览文件选择 
点击按钮可通过浏览的方式选择所要调用的动态库。
2.2.2选择动态库方式二:通过拖拽文件选择
拖拽所要调用的动态库文件至动态库路径文本框。 
2.2.3选择动态库方式三:同时拖拽动态库和头文件
拖拽所要调用的动态库文件及头文件,至参数列表表格DataGridView。 
2.3选择头文件及函数
选择头文件的方式有三种,同上节中的动态库选择,一种通过按钮的方式,两种通过拖拽的方式。
2.3.1获取函数的方式一:选择头文件
通过选择头文件建立一个快速的函数切换列表,并自动将选定的函数参数拆分,便于填写和查看出入参。
选定一个函数后,工具会自动将函数拆分出参数类型、参数名称、参数数值、入参/出参、数据格式,如果自动分析出的入参/出参类型、数据格式等不符合实际情况,需自行勾选更改。(参数数值、入参/出参、数据格式是调用函数时最重要的三部分,只要这三部分设置正确,参数类型、参数名称的对错不影响函数的调用,无需关心。关于数据格式的详细说明请见附录)
注:1、头文件中的一个函数只能占一行,不符合需修改后再使用。
2、解析函数功能会自动忽略以下开头的行:/ # { } extern
2.3.2获取函数的方式二:手动填写函数名及参数
也可以不选择头文件,手动在中填写需要调用函数名,并在参数列表中追加需要的参数。追加或插入的参数默认为空行,参数数值、入参/出参、数据格式是调用函数时最重要的三部分,只要这三部分填写正确,参数类型、参数名称可不填写。关于数据格式的详细说明请见附录
2.3.3关于函数名及参数的调整
不管通过哪种方式获取的函数,都可以通过手动修改的方式,对函数名及参数进行调整。
通过右击已添加参数的行首,或底部的按钮,可对函数的参数个数进行调整

2.4工具使用示例
在文件夹下存在一个测试用的动态库文件:,该动态库导出了一个名为add的函数,函数的具体内部实现如下:
extern"C"int__stdcalladd(intnum1,intnum2,int*multi)
{
   *multi=num1*num2;
   returnnum1+num2;
}
使用工具调用该动态库的示例如下:
1、选择所要调用的动态库文件。点击选择动态库按钮,通过文件浏览的方式选择test.dll,选择完成后在Path中会显示dll文件的全路径。如下图一。
2、选择动态库配套的头文件及函数。点击选择头文件按钮,通过文件浏览的方式选择test.h,选择完成后在Methods下拉列表中会显示从.h中解析出的所有函数。本示例选择add函数,如下图一。
3、填写完参数后,调用该函数。在Methods下拉列表中选择add函数后,程序会自动解析并将函数的所有参数展示在下方的表格中,填写完入参后,点击Invoke按钮。本示例填写的入参为6和8,如下图一。
4、函数的出参或返回值会展示在对应的位置。本示例的出参为48,返回值为14,如下图二。(0xE是14的十六进制等价显示)

图一

图二
附录关于参数数据格式的详细说明
   本工具将所有的数据类型归为5大类:HEX、整数、字符串、单精度小数、双精度小数。

HEX:为最基础的数据类型,也是最强大的数据类型,可以用来表示任何数据类型(包括结构体),其本质为变量在内存中的实际存储结构,一般用来传递数组(十六进制字符串)。其作为出参时只显示内容的第一个字节,后面的内容用*省略,可双击变量地址,根据实际情况输入需要查看的长度,才可查看完整数据。
例如:inttemp1=1,则用HEX表示为:01000000,因为int在内存中是低字节在前,共占4个字节
   unsignedchartemp2[]={0x12,0x34,0x56},则用HEX表示为:123456
   chartemp3[]=“123456”,则用HEX表示为:313233343536.(因字符’1’的ASCII码为49=0x31)
整数:用来表示常见的数字类型的变量,例如int、long、short等。(如果unsignedchar用来表示整数,也需要指定为整数类型)
字符串:用来表示可见字符串,例如“123456”,不可见字符串请用HEX类型(如上述temp2)。
单精度小数:用来表示单精度小数类型,例如float
双精度小数:用来表示双精度小数类型,例如double

注:工具中会自动将带&或*的参数识别为出参,其余的算作入参,如与实际情况不符,请自行调整。

下载地址

热门软件

Top