das-labor / panopticon

A libre cross-platform disassembler.
https://panopticon.re
GNU General Public License v3.0
1.43k stars 78 forks source link

New frontend #283

Closed flanfly closed 7 years ago

coveralls commented 7 years ago

Coverage Status

Coverage increased (+0.2%) to 60.996% when pulling 6160559737af59f0c7660c75137c47b1e54746a4 on flanfly:frontend into 31304534f6429bc787ed955de237d05a46146958 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage increased (+3.1%) to 63.795% when pulling d719bae820ccd26bfd53ad4d230c5dfb118d4972 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage increased (+2.9%) to 63.61% when pulling bbf23ff90d1a52b1481499adef34a28e59d10dcb on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

flanfly commented 7 years ago

I consider it done now. I'll keep the PR open for 3-4 days in case anybody wants to review it.

m4b commented 7 years ago

This looks awesome!

So loading up tests/data/libfoo.so, clicking on most of the functions yields this error and does not display anything:

qml: display cfg for 765fa2cb-dea2-42de-8309-2ae43e00bf4f
ERROR:qtpanopticon::singleton: layouting failed

also, what happened to the function names, as they're no longer reported and just shows func_<address>, etc. See screenshot

Some other things:

  1. i've noticed adding a comment sometimes adds duplicate text, see screenshot
  2. I've noticed what looks like RREIL output in the dissassembly (see screenshot, lower left, it has __phi in the disassembly)
  3. similarly, sometimes the function has __init at the top of the cfg

screenshot from 2017-05-07 15-41-29

coveralls commented 7 years ago

Coverage Status

Coverage increased (+2.7%) to 63.397% when pulling 917fa9156da37f46d4b3d5a45e50f2ced61bef2b on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

flanfly commented 7 years ago

ERROR:qtpanopticon::singleton: layouting failed

You're right :/

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.5%) to 58.168% when pulling 8ae8e2a3fa2e46fd1f24f7427d2f0233557dad12 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

m4b commented 7 years ago

Seems many of issues above are gone/fixed now, awesome work!

However, building and running on libfoo.so and clicking on ifoo function causes crash:

cargo run tests/data/libfoo.so 
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/qtpanopticon tests/data/libfoo.so`
qml: display cfg for 33120385-c5dc-4bdc-934d-cabf89db3aa7
ERROR:qtpanopticon::glue: send_function_nodes(): Input graph is empty
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Panopticon(Error("Input graph is empty")), State { next_error: None, backtrace: None })', /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libcore/result.rs:868
note: Run with `RUST_BACKTRACE=1` for a backtrace.
fatal runtime error: failed to initiate panic, error 5
flanfly commented 7 years ago

Yep, some functions crash the layout algorithm. Shouldn't be too hard to fix.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.2%) to 58.449% when pulling f6d8281a70e6897a19cc4d6a8f9ee5e1efe87f68 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.1%) to 58.562% when pulling e5e5601779e89fef7cdf6130f104faf0b9bc9fe9 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.2%) to 58.426% when pulling e5e5601779e89fef7cdf6130f104faf0b9bc9fe9 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.4%) to 58.29% when pulling befb662030638f371d28ba67a2f818373e124824 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.6%) to 58.114% when pulling 7e95342006383f9975ce927b5631a160127fcec7 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.8%) to 57.839% when pulling d291d825653f1de4045c49a0fc02856430ecb94f on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.8%) to 57.83% when pulling 8c08fd86bc5f5067f166139457e83cd904423d8d on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.8%) to 57.833% when pulling fe61f07508b73f7b719b4a42b9272f745bc3fa03 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

flanfly commented 7 years ago

Somebody review this shit.

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-2.8%) to 57.878% when pulling 69f5401ae67a4ef1d04dd734318260df90a10661 on flanfly:frontend into 43a83efc33b860710ba6b450627d14be5cff04f5 on das-labor:master.

flanfly commented 7 years ago

Thanks everybody!