热搜:
下载InvokeDllMethodsAdvance 3.0 最新版

InvokeDllMethodsAdvance 3.0 最新版

更多
  • 软件大小:48.00MB (50,331,648 字节)
  • 软件类别:编程书集 -> 反编译
  • 软件授权:免费软件      软件语言:简体中文
  • 更新时间:2020/06/07
  • 软件厂商:
  • 软件官网:
  • 应用平台:
标签
软件介绍
热度:0

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

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

InvokeDllMethodsAdvance

主要优点如下:

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

主要功能及使用

2.1主要步骤1、选择所要调用的动态库文件2、选择动态库配套的头文件及函数3、填写完参数后,调用该函数4、函数的出参或返回值会展示在对应的位置2.2选择动态库该操作完成对动态库的加载LoadLibrary2.2.1选择动态库方式一:通过浏览文件选择点击按钮可通过浏览的方式选择所要调用的动态库。2.2.2选择动态库方式二:通过拖拽文件选择拖拽所要调用的动态库文件至动态库路径文本框。2.2.3选择动态库方式三:同时拖拽动态库和头文件拖拽所要调用的动态库文件及头文件,至参数列表表格DataGridView。2.3选择头文件及函数选择头文件的方式有三种,同上节中的动态库选择,一种通过按钮的方式,两种通过拖拽的方式。2.3.1获取函数的方式一:选择头文件通过选择头文件建立一个快速的函数切换列表,并自动将选定的函数参数拆分,便于填写和查看出入参。选定一个函数后,工具会自动将函数拆分出参数类型、参数名称、参数数值、入参/出参、数据格式,如果自动分析出的入参/出参类型、数据格式等不符合实际情况,需自行勾选更改。(参数数值、入参/出参、数据格式是调用函数时最重要的三部分,只要这三部分设置正确,参数类型、参数名称的对错不影响函数的调用,无需关心。关于数据格式的详细说明请见附录)注:1、头文件中的一个函数只能占一行,不符合需修改后再使用。2、解析函数功能会自动忽略以下开头的行:/#{}extern2.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表示为:123456chartemp3[]=“123456”,则用HEX表示为:313233343536.(因字符’1’的ASCII码为49=0x31)整数:用来表示常见的数字类型的变量,例如int、long、short等。(如果unsignedchar用来表示整数,也需要指定为整数类型)字符串:用来表示可见字符串,例如“123456”,不可见字符串请用HEX类型(如上述temp2)。单精度小数:用来表示单精度小数类型,例如float双精度小数:用来表示双精度小数类型,例如double注:工具中会自动将带&或*的参数识别为出参,其余的算作入参,如与实际情况不符,请自行调整。

软件截图

  • InvokeDllMethodsAdvance 3.0 最新版第1张

下载地址

InvokeDllMethodsAdvance 3.0 最新版