jakstab icon indicating copy to clipboard operation
jakstab copied to clipboard

Error While running Jakstab on simple hello world program compiled in Ubuntu 16.04 machine

Open bernardnongpoh opened this issue 7 years ago • 7 comments

Exception in thread "main" java.lang.AssertionError at org.jakstab.loader.elf.ELFModule.(ELFModule.java:120) at org.jakstab.Program.loadModule(Program.java:145) at org.jakstab.Program.loadMainModule(Program.java:116) at org.jakstab.Main.main(Main.java:115)

bernardnongpoh avatar Dec 11 '17 11:12 bernardnongpoh

I encountered the same problem. From my brief study of the code throwing the exception, it seems like the problem occurs because Jakstab assumes that the ELF binary must have a .dynamic and .plt section. However, not all ELF binaries have these section.

tpetersonkth avatar Aug 06 '19 13:08 tpetersonkth

this issue is closed without providing any solution for the given problem!!!

1Husin-Alhaj avatar Oct 20 '20 12:10 1Husin-Alhaj

Fair - the problem persists. Feel free to submit a PR fixing it.

jkinder avatar Oct 20 '20 12:10 jkinder

I have faced the same problem and I compiled a very tiny and simple c code file in Ubuntu using multiple ways but I always got the same error:

image

I tried to extract CFG for executable file, shared file, and object file ... but none of them worked

1Husin-Alhaj avatar Oct 20 '20 12:10 1Husin-Alhaj

@tpetersonkth seems to have pinpointed the issue in his comment above. You can try fixing it following the lead in his comment.

jkinder avatar Oct 20 '20 12:10 jkinder

@1Husin-Alhaj The version of Jakstab I used is available here: https://github.com/tpetersonkth/AlternatingControlFlowReconstruction/ in the Jakstab folder. This version is not much different from Kinder's version except that it adds under-approximation possibilities through extra command line options. I think the only fixes I did for this issue was to comment out some code in the ELFModule file. I am pretty sure that I did not do a proper fix though, that's why I didn't try to patch the official project. The changes made it work for binaries which didn't contain the missing sections mentioned in the error message.

You can try to see my changes in the ELFModule file or you can try to run the modified jakstab version I linked on your binaries directly. I think it should work.

tpetersonkth avatar Nov 02 '20 19:11 tpetersonkth