#

Tool of the day: Hexeditor XVI32

Wer kennt das nicht: da hat man nun eine Binärdatei vorliegen, und möchte gerne wissen, was sich dahinter verbirgt. Meist genügt ein Blick auf den Header der Datei mit Notepad, doch bei defizileren Unterschieden, wie z. B. dem ELF Header für 32 oder 64 Bit Prozessoren, versagt diese Methode: Ein Hexeditor muss her. Es gibt viele davon, jedoch hat einer meine Aufmerksamkeit besonders angezogen, da er nicht nur Freeware ist, sondern auch ganz ohne Installation auskommt. Funktionell bietet er dabei jedoch nur das Nötigste.

�brigens sieht der Unterschied zwischen ELF32 und ELF64 im Header wie folgt aus:

ELF 32: 7F 45 4C 46 01 02 01 00 00
ELF 64: 7F 45 4C 46 02 02 01 00 00

Das ganze entdeckte ich, als ich über JNI eine Library unter SPARC einladen wollte und die folgende Exception vorfand. Der Rechner war wohl nur 32 Bit und die Library 64 Bit…

Exception in thread "main" java.lang.UnsatisfiedLinkError:
/home/lib/libXXX.so: ld.so.1:
/home/java/usr/bin/../java/bin/../bin/sparc/native_threads/java: fatal:
/home/lib/libXXX.so: wrong ELF class: ELFCLASS64
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1419)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1343)
        at java.lang.Runtime.loadLibrary0(Runtime.java:749)
        at java.lang.System.loadLibrary(System.java:820)
        at myPackage.JNIXXX.<clinit>(JNIXXX.java:12)
        at myPackage.XXX.<init>(XXX.java:117)
        at myPackage.XXX.<init>(XXX.java:92)

Download XVI32

Tags:,

Leave a Reply »»

Note: All comments are manually approved to avoid spam. So if your comment doesn't appear immediately, that's ok. Have patience, it can take some days until I have the time to approve my comments.