Open LittleNewton opened 2 months ago
Hi. Thanks for the feedback. FirmXRay was previously built on Ghidra v9.2.2. Some APIs may have changed so you may either revert to the previous version or update the source code with the latest API calls.
Great, docker build
job is successful after downgrading Ghidra to v9.2.2
.
@onehouwong Could you please tell me the exact version of JDK I should use in this project? Thanks!
Below is the JDK version that was used to run FirmXRay around 3 years ago:
java 11.0.1 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
Other JDK versions might work as well as long as they can compile
@onehouwong Thank you so much for your continuous help. The analysis job can run after adjusting JDK and Ghidra to the explicit versions! I wrote a simple Dockerfile and helper manuscript here. :)
Still, there is a simple question, the analysis output of example_nordic.bin
is very short:
{
"Path": 0,
"Size": 4475,
"Time": 4541,
"Vendor": "Nordic",
"Base": "00000000"
}
It only contains one segment. However, the results of BLE_Ear_s130.bin@cf3737e8a19b21e15cf1854c94349c4b
and oad.bin@45c11704740916023e63a09f6a02447b
is pretty normal.
Thanks for sharing! To debug the issue you mentioned, I will need more information from the internal executions. For example, checking if FirmXRay correctly finds the APIs' addresses would be useful, from https://github.com/OSUSecLab/FirmXRay/blob/master/src/main/Main.java#L167
Hi there.
This is my dockerfile:
When I invoke it on my Linux machine, error occurred:
I have compiled
ghidra.jar
(v11.1.1) using OpenJDK 17 and copied it to${FIRMXRAY_DIR}/lib/
.