-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using binwalk to analyze PLC firmware #281
Comments
Those LZMA results are definitely false positives. I suspect you're either running an older version of binwalk or you don't have the The reason for that is because there appears to be no compression or known file systems in this firmware image. There are a bunch of readable strings and what is probably code, but I'm not sure of the architecture. If you know the architecture I'd expect that you should be able to load this firmware image into a disassembler and start reversing. |
So I've tried throwing it at IDA and it's not able to give me anything. Any chance it could obfuscated or encrypted even though there are strings? |
There's always that chance, but it would seem unlikely from what I've seen. Do you know what CPU architecture the PLC uses? |
I've been trying to figure that out, but it doesn't seem to openly exposed by the vendor. My goal was to do this without having the physical PLC to determine this, but through device specifications. |
Without knowing the architecture, IDA isn't going to be much help. I haven't used it, but you might try cpu_rec; it claims to be able to identify a wide variety of architectures by analyzing the raw binary data. |
I tried running cpu_rect at it, and it's giving me that it's seeing SuperH architecture. Never heard of it, but it makes sense considering that the company is Automation Direct and SuperH was developed by Hitachi. Now to find a disassembler for it.
|
Seems reasonable! I've dealt with SuperH before actually. Like MIPS it's a RISC architecture that has jump/branch delay slots, and IDA Pro supports it. |
I was wondering if you have any information or have ventured into this area. I understand due to the critical nature of systems that implement PLCs that typically vendors try to keep people from reverse engineering their firmware. When I run binwalk on say this firmware. This is what I got from binwalk:
However, when these files are extracted using -Mre, all that I get out are files that are either empty or very small.
The text was updated successfully, but these errors were encountered: