GithubHelp home page GithubHelp logo

Comments (13)

gogo2464 avatar gogo2464 commented on August 26, 2024 2

Yes the binary crashes once recompiled. Can I send you the assembly by email please? I am currently on my phone. I need to wait before sending you the assembly.

from ddisasm.

aeflores avatar aeflores commented on August 26, 2024

Hi @gogo2464
Thanks for opening and issue and showing interest in Ddisasm!

We will investigate this case, but my first guess is that the process is running out of RAM. The binary that you pointed out is ~90MB.

Ddisasm is pretty memory intensive. As a rough estimation, any binary over ~20MB is likely going to require more than 32GB of RAM. We are working on lowering the memory consumption to be able to handle bigger, but that will likely take some time.

from ddisasm.

gogo2464 avatar gogo2464 commented on August 26, 2024

No problem. I am just setting my computer to use 500GB of swap. If you want I can document on the repo what I did.

Could we just set an option to see percent of adavance on each step?

Thank you very much for your answer.

from ddisasm.

aeflores avatar aeflores commented on August 26, 2024

I am just setting my computer to use 500GB of swap

I am curious, did it work?

Could we just set an option to see percent of adavance on each step?

Most of the disassembly work is done by the Datalog code (which is transformed to C++ by souffle) so it is not straightforward to record progress there.

from ddisasm.

gogo2464 avatar gogo2464 commented on August 26, 2024

"I am curious, did it work?"

Yes :) after 3 days of processing. :) I set up my computer in order to avoid to shutdown automatically.

We might store intermediate calculus into sqlite? What do you think of this idea?

from ddisasm.

gogo2464 avatar gogo2464 commented on August 26, 2024

@aeflores I can not recompile it.

ddisasm disassemble with these logs:

Building the initial gtirb representation [    2s]
Processing module: PacketTracer
    disassembly              load [38m44s]    compute 
[ 39h3m]  transform WARNING: Moving symbol to first block of section: __bss_start
[33m19s]
    SCC analysis                              compute [ 2m19s]  transform [   0ms]
    no return analysis       load [ 4m29s]    compute [44m24s]  transform [ 702ms]
    function inference       load [ 7m41s]    compute [ 5m40s]  transform [  1m1s]
Printing assembler [20m24s]

then I did:

I got no error to run it but a segfault and valgrind

==78274== Warning: set address range perms: large range [0x59c97028, 0x7b0b6b1e) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0xa777a75e) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0xa777a776) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0x8c2c8b4c) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0x8c2c8b64) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0xa3c3be9c) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0xa3c3beb4) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0x96975db9) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0x96975dd1) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0x841f69e1) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0x841f69f9) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0xd6ae6274) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0xd6ae628c) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0xd32e56cd) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0xd32e56e5) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0x80a1c76c) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0x80a1c784) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0xb1b11ac9) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0xb1b11ae1) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0x7d952e67) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0x7d952e7f) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0xcb047e39) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0xcb047e51) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0xabec034d) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0xabec0365) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0x7b2303e1) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0x7b2303f9) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0x88187765) (undefined)

==78274== Warning: set address range perms: large range [0x59c97028, 0x8818777d) (noaccess)

==78274== Warning: set address range perms: large range [0x59c97040, 0xb729f014) (undefined)

The original binary is around 90MB

from ddisasm.

gogo2464 avatar gogo2464 commented on August 26, 2024

@aeflores do I open an issue?

from ddisasm.

aeflores avatar aeflores commented on August 26, 2024

Hi @gogo2464 I there is no need to open another issue. Can you clarify, did you manage to reassemble but the rewritten binary crashes? or did the reassembly itself crashed?

Do you have a way of sharing Ddisasm's gtirb file or the assembly output with us?

from ddisasm.

gogo2464 avatar gogo2464 commented on August 26, 2024

@aeflores I sent you an email. Did you received it?

from ddisasm.

aeflores avatar aeflores commented on August 26, 2024

I did! Unfortunately, it might take me some time to get to it.

from ddisasm.

gogo2464 avatar gogo2464 commented on August 26, 2024

@aeflores Ah alright. No problem. Sorry. I will wait.

from ddisasm.

gogo2464 avatar gogo2464 commented on August 26, 2024

@aeflores should I ask my question on another canal please?

from ddisasm.

aeflores avatar aeflores commented on August 26, 2024

As of 2fd73fe this issue should be solved.

from ddisasm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.