样本调试之 loadlibrary 报错1114

问题描述

拿到了一份样本,却怎么也运行不起来,然后自己写了dll加载器进行调试,发现报错1114,网上很多相关资料没有。实在没有办法了,只能自己进入loadlibrary函数内部进行调试。

关键点

发现在报错之前执行了StrStrIA函数

StrStrIA 函数 (shlwapi.h)

查找字符串中第一次出现的子字符串。比较不区分大小写。
注:shlwapi.h 头文件将 StrStrI 定义为别名,它根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。将编码中性别名与非编码中性的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。有关详细信息,请参阅函数原型的约定。

报错原因

未找到字符串,导致 运行时错误,使得dll初始化失败

当System.loadLibrary("jep")代码时,如果报错那通常是因为找不到所需的动态链接库。根据引用中的错误信息,可以看到异常错误是java.lang.UnsatisfiedLinkError,并且错误信息中提到了"no jpcap in java.library.path"。这意味着在java.library.path中找不到名为"jpcap"的动态链接库。 为了解决这个问题,你可以采取以下几个步骤: 1. 确保你已经正确地安装了所需的库。在这种情况下,你需要确保"jpcap"库已经正确地安装在java.library.path中。 2. 确认java.library.path的值。它是一个系统属性,用于指定Java虚拟机加载本地库文件的搜索路径。你可以通过在代码中添加以下语句来查看它的值: System.out.println(System.getProperty("java.library.path"));。 3. 将动态链接库文件(.dll或.so文件)添加到java.library.path中。你可以通过将动态链接库文件复制到java.library.path所指定的目录中来实现。或者,你可以使用System.setProperty("java.library.path", "your/library/path");在代码中显式地设置java.library.path的值,将"your/library/path"替换为实际的库文件路径。 4. 在加载动态链接库之前,确保你的操作系统能够找到所需的库文件。你可以尝试在终端或命令提示符中运行ldd命令(Linux)或otool命令(Mac)来检查库文件的依赖关系。如果找不到某些依赖项,你需要安装它们或确保它们在LD_LIBRARY_PATH或DYLD_LIBRARY_PATH等环境变量中。 请注意,这些步骤是一般性的解决方案,具体的操作取决于你所使用的操作系统和具体的库文件。如果你能提供更多的上下文信息,比如你使用的操作系统和库文件的具体情况,我可以为你提供更具体的建议。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java 无法使用 dll 动态链接库 UnsatisfiedLinkError java.library.path Can‘t find dependent libraries](https://blog.youkuaiyun.com/weixin_40986713/article/details/111604425)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [jpcap报错:no jpcap in java.library.path](https://blog.youkuaiyun.com/fatherddd/article/details/127294957)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [深入解析System.load 与 System.loadLibrary](https://download.youkuaiyun.com/download/weixin_38694343/12813880)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值