社区
Java
帖子详情
已知dll文件,方法名,返回值参数,如何使用java调用
abbywl
2012-11-01 04:08:46
我用的是jnative,但我的参数是一个char类型数组
jnative接收不了这个类型
我要的结果不是方法的返回值 而是我传进来的这个 char类型数组 被dll文件方法处理后的 数组
求解呀
...全文
295
8
打赏
收藏
已知dll文件,方法名,返回值参数,如何使用java调用
我用的是jnative,但我的参数是一个char类型数组 jnative接收不了这个类型 我要的结果不是方法的返回值 而是我传进来的这个 char类型数组 被dll文件方法处理后的 数组 求解呀
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
PPS柴油
2012-11-02
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
本人做过这样的东东,用jni来调用java先定义好方法,然后生成dll的头文件,在用c、c++来实现。不然你怎么也调不了。
[/Quote]
不同的环境还要进行相应的编译才行哦!祝你好运
PPS柴油
2012-11-02
打赏
举报
回复
本人做过这样的东东,用jni来调用java先定义好方法,然后生成dll的头文件,在用c、c++来实现。不然你怎么也调不了。
abbywl
2012-11-02
打赏
举报
回复
那位大侠给方法呀
PPS柴油
2012-11-02
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
我的情况是 已有dll文件,需要java来调用已经存在的dll 获取的值是 传入参的数经过的值 参数是一个char数组
[/Quote]
调不了的
abbywl
2012-11-02
打赏
举报
回复
我的情况是 已有dll文件,需要java来调用已经存在的dll 获取的值是 传入参的数经过的值 参数是一个char数组
chenshuang_com
2012-11-02
打赏
举报
回复
看看这个:http://blog.csdn.net/chenshuang_com/article/details/7681670
freezpf
2012-11-01
打赏
举报
回复
懂C的话可以用JNI,不过好像JNA里有类型可以对应的
JavaNet的牛肉粉丝
2012-11-01
打赏
举报
回复
JNI
动态
调用
API源码可取
返回值
可传递多
参数
动态
调用
API源码可取
返回值
可传递多
参数
系统结构:载入动态链接库_,取进程地址_,释放动态链接库_,载入动态链接库_,取进程地址_,释放动态链接库_,呼叫窗口函数地址_,载入动态链接库
libssh2.
dll
本资料包含libbssh2.
dll
的多个版本,可以直接在windows中
使用
xscan
一. 系统要求:Windows NT4/2000/XP/2003 二. 功能简介: 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等二十几个大类。对于多数
已知
漏洞,我们给出了相应的漏洞描述、解决方案及详细描述链接,其它漏洞资料正在进一步整理完善中,您也可以通过本站的"安全文摘"和"安全漏洞"栏目查阅相关说明。 三. 所需
文件
: xscan_gui.exe -- X-Scan图形界面主程序 xscan.exe -- X-Scan命令行主程序 checkhost.exe -- 插件调度主程序 update.exe -- 在线升级主程序 *.
dll
-- 主程序所需动态链接库
使用
说明.txt -- X-Scan
使用
说明 /dat/language.ini -- 多语言配置
文件
,可通过设置"LANGUAGE\SELECTED"项进行语言切换 /dat/language.* -- 多语言数据
文件
/dat/config.ini -- 用户配置
文件
,用于保存待检测端口列表、CGI漏洞检测的相关设置及所有字典
文件
名
称(含相对路径) /dat/config.bak -- 备份配置
文件
,用于恢复原始设置 /dat/cgi.lst -- CGI漏洞列表 /dat/iis_code.ini -- IIS编码漏洞列表 /dat/port.ini -- 用于保存
已知
端口的对应服务
名
称 /dat/*_user.dic -- 用户
名
字典
文件
,用于检测弱口令用户 /dat/*_pass.dic -- 密码字典,用于检测弱口令用户 /dat/p0f*.fp -- 识别远程主机操作系统所需的操作系统特征码配置
文件
(被动识别) /dat/nmap-os-fingerprints -- 识别远程主机操作系统所需的操作系统特征码配置
文件
(主动识别) /dat/wry.
dll
-- "IP-地理位置"地址查询数据库
文件
/dat/*.nsl -- 经过整理的NASL脚本列表 /plugins -- 用于存放所有插件(后缀
名
为.xpn) /scripts -- 用于存放所有NASL脚本(后缀
名
为.nasl) /scripts/desc -- 用于存放所有NASL脚本多语言描述(后缀
名
为.desc) 注:xscan_gui.exe与xscan.exe共用所有插件及数据
文件
,但二者之间没有任何依赖关系,均可独立运行。 四. 准备工作: X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行),需要WinPCap驱动程序支持(WinPCap 2.3以上版本)。 五. 注意事项: 1.未安装WinPCap驱动虽然可以正常
使用
X-Scan,但一些需要定制数据包的检测功能将完全失效。 2.端口扫描中的SYN方式和被动主机操作系统识别功能在NT4系统下无法
使用
,在windows 2000等系统下
使用
时必须拥有管理员权限。 3.在"X-Scan"中内置的密码字典仅为简单示范,
使用
者如果希望软件有更强的密码猜解能力,应该自己编辑密码字典
文件
。 4.命令行方式检测过程中,按"[空格]"键可以查看各线程状态及扫描进度,按"q"键保存当前数据后提前退出程序,按""强行关闭程序。 5."X-Scan"所
使用
的地址查询数据库为"追捕"软件的数据库,并且得到作者许可。在此对"追捕"软件作者及所有为建立此数据库作出贡献的朋友表示感谢。由于没有考虑和将来"追捕"数据库的兼容问题,不能保证能正确
使用
以后版本的"追捕"数据库。在"追捕"数据库
文件
格式没有改变的情况下,可以将新版本的数据库
文件
"wry.
dll
"拷贝到/dat目录下替换旧版本
文件
,但建议在覆盖前备份旧
文件
. 六. 命令行方式运行
参数
说明: 1.命令格式: xscan -host [-] [其他选项] xscan -file [其他选项] 其中 含义如下: -active : 检测目标主机是否存活 -port : 检测常用服务的端口状态(可通过\dat\config.ini
文件
的"PORT-SCAN-OPTIONS\PORT-LIST"项定制待检测端口列表); -sql : 检测SQL-Server弱口令(可通过\dat\config.ini
文件
设置用户
名
/密码字典
文件
); -ftp : 检测FTP弱口令(可通过\dat\config.ini
文件
设置用户
名
/密码字典
文件
); -ntpass : 检测NT-Server弱口令(可通过\dat\config.ini
文件
设置用户
名
/密码字典
文件
); -smtp : 检测SMTP-Server弱口令(可通过\dat\config.ini
文件
设置用户
名
/密码字典
文件
); -pop3 : 检测POP3-Server弱口令(可通过\dat\config.ini
文件
设置用户
名
/密码字典
文件
); -smb : 检测NT-Server弱口令(可通过\dat\config.ini
文件
设置用户
名
/密码字典
文件
); -cgi : 检测CGI漏洞(可通过\dat\config.ini
文件
的"CGI-ENCODE\encode_type"项设置编码方案); -iis : 检测IIS编码/解码漏洞(可通过\dat\config.ini
文件
的"CGI-ENCODE\encode_type"项设置编码方案); -nasl : 加载Nessus攻击脚本; -all : 检测以上所有项目; [其他选项] 含义如下: -v: 显示详细扫描进度 -p: 跳过没有响应的主机 -o: 跳过没有检测到开放端口的主机 -t : 指定最大并发线程数量和并发主机数量, 默认数量为100,10 * cgi及iis
参数
中"编码方案"含义: 1.用"HEAD"替换"GET" 2.用"POST"替换"GET" 3.用"GET / HTTP/1.0\r\nHeader:" 替换 "GET" 4.用"GET /[filename]?param=" 替换 "GET"(可通过\dat\config.ini
文件
的"CGI-ENCODE\encode4_index_file"项设置[filename]) 5.用"GET " 替换 "GET" 6.多个"/"或"\" 7."/"与"\"互换 8.用"替换"" 注:各变形方案若不冲突则可以同时
使用
,如"-cgi 1,6,8"表示同时
使用
第1、6、8号方案对HTTP请求进行变形。 2.示例: xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -all -active -p 含义:检测xxx.xxx.1.1-xxx.xxx.255.255网段内主机的所有漏洞,跳过无响应的主机; xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -port -smb -t 150 -o 含义:检测xxx.xxx.1.1-xxx.xxx.255.255网段内主机的标准端口状态,NT弱口令用户,最大并发线程数量为150,跳过没有检测到开放端口的主机; xscan -file host.lst -port -cgi -t 200,5 -v -o 含义:检测"host.lst"
文件
中列出的所有主机的标准端口状态,CGI漏洞,最大并发线程数量为200,同一时刻最多检测5台主机,显示详细检测进度,跳过没有检测到开放端口的主机; 七. 插件接口: /* 该函数在初始化插件时被
调用
,用于获取插件基本信息。
返回值
含义:TRUE--插件初始化成功;FALSE--插件初始化失败。*/ extern "C" __declspec(
dll
export) BOOL __stdcall GetPluginInfo(PLUGIN_INFO *); /* 该函数在检测主机时被
调用
,传入主机基本信息及必要
参数
,返回扫描结果。
返回值
含义:TRUE--存在漏洞;FALSE--不存在漏洞。*/ extern "C" __declspec(
dll
export) BOOL __stdcall PluginFunc(VOID *); 插件应导出上述两个函数,xscan.exe将分别在初始化和扫描时
调用
。编译后将最终生成的.
dll
程序重命
名
为.xpn
文件
,并保存在xscan.exe所在目录的"plugin"子目录内。示例插件程序见“/plugins/XScan_Pub_Plugin_{by_Enfis}.rar”。
python如何
调用
dll
文件
中的函数
C或C++编写的程序效率非常高,有些复杂的计算python不如C或C++程序,所以有时
使用
python
调用
C或C++编写编译为
DLL
的
文件
来处理问题,那 python 如何
调用
dll
文件
中的函数呢?
JNA
调用
DLL
JNA JNA 即
Java
Native Access,是一个开源框架,是基于JNI做的封装。主要用于
调用
C或C++的动态库,达到程序需要实现的效果。 与JNI不同,JNI需要根据
java
生成.h
文件
,然后生成对应的
DLL
,这样会破坏原有的动态库或者需要重新封装一次原有的
DLL
为新的
DLL
;JNA则只需要知道
调用
DLL
的.h
文件
,根据头
文件
中定义的宏、函数等构造对应的
java
类和对象,实现Ja...
Java
51,410
社区成员
86,072
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章