栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Ghidra Java API报NoClassDefFoundError的解决方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ghidra Java API报NoClassDefFoundError的解决方法

Ghidra是很优秀的逆向工程工具,我也写过一些博客介绍其Java API的用法,例如:Ghidra在Eclipse中新建和运行项目的路径问题_qysh123的专栏-CSDN博客

但是不得不吐槽,其Java API用起来真的是太傻了。我经常遇到的一个问题是:往往我们按照Java的规范新建了类,也包含在classpath中,但是就是报找不到这个类,例如:

ERROR Abort due to Headless analyzer error: Node (HeadlessAnalyzer) java.lang.NoClassDefFoundError: Node

顺便说一下Java打印classpath路径的方法:

System.out.println(System.getProperty("java.class.path"));//当前的classpath路径
System.out.println(System.getProperty("user.dir"));//用户的当前路径

而且这个问题的发生似乎还有随机性,我发现如果更新代码之后(例如加上或删掉一行),再运行的时候就不太容易报这个错,真是让人无力吐槽啊。经过请教师妹,终于搞清了这个问题的解决方法:如果是ubuntu系统,在用户目录下会有一个隐藏文件夹:.ghidra

我们需要在每次运行script之前删掉类似于这样的:/home/yu/.ghidra/.ghidra_10.0.1_PUBLIC/osgi/compiled-bundles 目录下的所有文件夹,从这个路径来看,还是OSGI或者classpath这些方面没设置好啊。总得来说这个问题太弱智了。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666908.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号