e-m-b-a / emba

EMBA - The firmware security analyzer
https://www.securefirmware.de
GNU General Public License v3.0
2.7k stars 233 forks source link

Inconsistent results with or without threading (-t) enabled and -mp61 -mp99 -ms09 modules #1373

Open paianoa opened 2 days ago

paianoa commented 2 days ago

Emba 1.5.0

I noticed that running Emba against a firmware with options -mp61 -mp99 -ms09 I get different results if I enable Threading or not (-t option)

I would expected to have the same csv log files but this is not the case. I digged deep into the code and found out that PRE_THREAD_ENA variable of every P module is not honored when -m option is set with modules numbers too. This causes the P modules to not execute sequentially as in the case when no -t or -m options is provided (or yet -m options is provided with group module only: -mp).

In my tests If I run with -t -mp61 -mp99 -ms09 I get different (and incorrect) results than if I run the same options without -t (correct results). This happens because, with -t option, RTOS variable, BINARIES, FILE_ARR are not detected completely before starting s09 module. S09 starts with the previous variable set to default values.

Hope I explained it clearly and hope I'm not missing some design idea behind this behaviour

github-actions[bot] commented 2 days ago

Thank you for contributing an issue!

Welcome to the EMBA firmware analysis community!

We are glad you are here and appreciate your contribution. Please keep in mind our contributing guidelines here and here. Also, please check existing open issues and consider to open a discussion in the dedicated discussion area. Additionally, we have collected a lot of details around EMBA, the installation and the usage of EMBA in our Wiki.

If you like EMBA you have the chance to support us by becoming a Sponsor or buying some beer here.

To show your love for EMBA with nice shirts or other merch you can check our Spreadshop.

This is an automatic message. Allow for time for the EMBA community to be able to read the issue and comment on it.

m-1-k-3 commented 2 days ago

The pre-checking modules are self organising and should not be configured with -m options. EMBA is enabling the modules she needs automatically. Configuring these modules manually is currently not supported.

paianoa commented 2 days ago

Thank you @m-1-k-3, didn't know about that. In that case It would helpful if EMBA prints an error message when P modules are provided with -m option. Feel free to close the issue.

m-1-k-3 commented 2 days ago

Good Idea. Coul you make a PR?