从别人的电脑上拷贝了JEB-1.5.21404100,在自己电脑上运行后就软件崩溃。自己电脑环境是CentOS6.6,JAVA1.8,使用./jeb_linux.sh运行。然后崩溃,终端显示:
JEB v1.5.201404100 (full debug) is starting...
Current directory: /home/quan/jeb-1.5.201404100
Base directory: /home/quan/jeb-1.5.201404100
Program directory: /home/quan/jeb-1.5.201404100/bin
Loading plugin: GenSig.py
Loading plugin: ApplySigs.py
Loading plugin: SamplePluginPython.py
Loading plugin: SamplePluginJava.java
Opening /home/quan/ReverseAPK/Android_Demo.apk
DEX analysis complete
Generating disassembly output...
Done
java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed.
./jeb_linux.sh: line 42: 4468 已放弃 (core dumped) $JAVA -Xmx2048m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -XX:MaxHeapFreeRatio=30 -jar $JEBPATH "$@"
错误原因:
java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed.
./jeb_linux.sh: line 42: 4468 已放弃 (core dumped) $JAVA -Xmx2048m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -XX:MaxHeapFreeRatio=30 -jar $JEBPATH "$@"
该问题可能会在CentOS6.6或更高版本出现,可能是由于cairo的版本兼容问题。
解决方法是:
vim jeb_linux.sh
在文件的最后将 :
$JAVA -Xmx2048m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -XX:MaxHeapFreeRatio=30 -jar $JEBPATH "$@"
更换成:
$JAVA -Xmx2048m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -XX:MaxHeapFreeRatio=30 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false -jar $JEBPATH "$@"
将cairo禁用掉。软件即可运行。同样的问题还出现在eclipse,SmartGit,SmartSVN中。