Code Monkey home page Code Monkey logo

Comments (9)

extremecoders-re avatar extremecoders-re commented on August 25, 2024

Can you share the firmware binary?

from firmware-analysis-toolkit.

DerZc avatar DerZc commented on August 25, 2024

Hi,
@extremecoders-re The binary I used is getting from this link https://support.dlink.com/ProductInfo.aspx?m=DIR-880L ,but this problem only occurs at certain times.
I also meet the problem that I can't get the IP address, I read the log file and find that he is not one of the following three situations.
run.sh is not generated
When I read the log file I find your tool can find the RAM and ROM address from the firmware binary. Can you tell me how you did it?
Thank you very much!!

from firmware-analysis-toolkit.

Silipwn avatar Silipwn commented on August 25, 2024

Stuck on a same issue @extremecoders-re :|
Is it because it's waiting for sudo permissions?

from firmware-analysis-toolkit.

extremecoders-re avatar extremecoders-re commented on August 25, 2024

@DerZc I checked the firmware binary. It's for an ARM device, however as per your screenshot its wrongly identified as mipsel. So may be you're using an older version of firmadyne. Here its correctly being identifed as arm.

The proceed anyway (y, N) message you're getting is from these lines in makeImage.sh

echo "----Creating Filesystem----"
mkfs.ext2 "${DEVICE}"
sync

You can temporarily work around the error by forcing it to create the filesystem rather than prompting for user input. mkfs.ext2 -F "${DEVICE}"

Finally, this particular firmware binary DOES have issues with the recent versions of qemu. In my tests here, using an older version, I was able to boot to a terminal.

qemu-system-arm -version  
QEMU emulator version 2.0.0 (Debian 2.0.0+dfsg-2ubuntu1.30), Copyright (c) 2003-2008 Fabrice Bellard

I also meet the problem that I can't get the IP address,

Using an older qemu may work

[+] Building QEMU disk image
[+] Setting up the network connection, please standby
[+] Network interfaces : [('br0', '192.168.0.1'), ('br1', '192.168.7.1')]
[+] Running the firmware finally
[+] command line : sudo /home/oit/tools/firmadyne-new/scratch/1/run.sh

When I read the log file I find your tool can find the RAM and ROM address from the firmware binary. Can you tell me how you did it?

This is done my inspecting the kernel boot log which is the same as you see on screen. This is a part of upstream firmadyne.


@Silipwn Its looks to be waiting on the mkfs.ext2 "${DEVICE}" call.

Overall, I would say this particular firmware does not play well with firmadyne out of the box. You may need to change some of the scripts in order to boot it successfully.

from firmware-analysis-toolkit.

Silipwn avatar Silipwn commented on August 25, 2024

@extremecoders-re Thanks for the help 👍 :)

from firmware-analysis-toolkit.

DerZc avatar DerZc commented on August 25, 2024

@extremecoders-re Sorry to bother you again. I use a older QEMU but I also can not get the IP
image
Can you help me, thank you very much

from firmware-analysis-toolkit.

DerZc avatar DerZc commented on August 25, 2024

@extremecoders-re Thank you for your help.
I get the IP address but I can not ping it.
image
Can you tell me how can I solve this question?

from firmware-analysis-toolkit.

extremecoders-re avatar extremecoders-re commented on August 25, 2024

@DerZc Ping doesn't always work. For testing the firmware, all you need is to be able to access the web sever. To this end, I would recommend to edit the run.sh script and change from tap to user-mode networking, using the -redir tcp options. Then you may try to curl/wget/nc to the IP both from your host and within the qemu console.

As you can see, firmadyne doesn't work in all cases out of the box. Emulating a device with qemu will always be experimental and not guaranteed to work every-time unless you are willing to put a lot of effort which includes editing the firmware itself to make it compatible.

In many cases, you can use qemu user mode emulation to run just the webserver for testing. I would recommend this approach as it's a lot easier.

from firmware-analysis-toolkit.

DerZc avatar DerZc commented on August 25, 2024

@extremecoders-re I got it, thank you very much.
Can you give me some testcase that are arm arch. I have run some firmware that are arm arch but none of them succeed.

from firmware-analysis-toolkit.

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.