This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

extratcingg preprogrammed 8051 chip with fuse locked

HELLO,

my name is mhemara fay. i have a q for you.

Anyone has successfully extracted a preprogrammed 8051 chip with fuse locked?
I want to retrieve the binary image from a programmed 8051 micro
any ideas?
Thanx

  • I guess 'q' stands for question? Beware of guys like erik malund, they will bite your head off :) :)
    about your question: now about making a loop that iterates the flash and places its contents byte by byte on the serial bus? never tried that, but it sounds reasonable to me.

  • Are you asking for help with copyright violations?

    Your question do represent a law violation in a large number of countries around the world!

    Ever thought about why chip wendors have implemented the protection, and why developers have chosen to ship their product protected?

  • oh my god, I misunderstood what "fuse lock" means! I thought he actually has access to the source...!!!
    mhemara, you potential criminal! now that is even worse than a spammer (see my last post; yuk), and possibly worse that a nigerian bank fraudster :) !

  • Think about it: why does anyone lock anything?

    Why do you lock your car?
    Why do you lock the doors to your house?

    If you think it would be OK for someone to break the lock in your car, and drive off with it, or to break the locks on your house and "extract" all your stuff - then feel free to have a go at breaking the lock on this chip and taking the code...

  • HELLO,

    this is mhemara fay agin and thank you for the answres you give.

    i am not a criminal! i need toi get code from a chip i programmed. it is my code but i lost the source!

    i do not think it is illegal to get my own code.

  • when you lock your house and loose your key you must get in your house?

  • no no no no budy, I don't think you "lost" your keys...

  • Didn't you consider leaving a spare key under your mat?

    Seriously - You should have been more careful with the source code.

  • If you loose the key to your house, you have to call a locksmith. If you break-and-enter yourself, the police will come - even if it is your house.

    But you still haven't got it: Even asking about copy protection, or discussing workarounds (if you own the product or not) is illegal in a number of countries, i.e. it is not needed to perform any copying. Just discussing how to do it, or requesting information about how to do it is illegal.

    This web server is most probably located in USA, so it is affected by US laws. And even if it wasn't, a number of countries requires their ISP to be responsible for the contents transmitted to/from or published on servers hosted/owned/served by them.

    By posting your question, you are violating the laws of a couple of countries that you may not want to violate. The IP number where you post from can be tracked down. Depending on what country you are sitting in, your ISP may be legally forced to forward the full contact information upon request.

    So discussing how to circumvent copy protection schemes is not something that should be continued on this site, whoever do own the rights to the firmware in the specific chip.

    By the way - how do you manage to loose the source code? No backup? No source code versioning? And even more strange: How do you manage to loose the binary? A factory normally have copies of the binary... If it wasn't factory-produced, but inhouse testing, the chip shouldn't have been locked in the first place, should it?

    No mister, to manage to get in a situation where your own application only exists in a read-locked chip requires one or more people to specifically throw away the key, or to be so incompetent that it is likely that the actual value of the program is even less than the value of the chip. A total data loss just doesn't (or really shouldn't) happen by accident, other than for a student or hobbyist!

  • How did you manage to "lose" the source?

    How much source have you "lost"?
    Was it 'C' or assembler?

    Even if you do manage to read the device, remember that it will just be "raw" binary - not full source. So you're still going to have plenty of work to do to get back to any proper source code...

    How long would it take to re-write from scratch? That may well be easier/cheaper than trying to "extract" the binary, disassemble it, and turn it back into useful source...

  • Just a footnote.

    A binary can not be used to recreate any source. All it can be used for is programming into more devices. Hence, it is of no use to a student. He/she can manage to get a pass based on that single chip.

    On the other hand: The main goal for a student is to gain experience, not produce finished products. So it would be an excellent time to create firmware version 2.0. Recreating what you have already done takes less time and will give a better program, based on the experience from the first iteration.

    A company that has lost it's source should not continue to produce hardware based on that program. If the hw needs to be adjusted because a component can't be bought anymore, there is a high probability that the firmware needs to be updated with a slightly changed timing, a changed initialization, an inverted signal, ... If the company doesn't make any money from the product, they would decide to stop selling the product and use the remaining units as spares. If they do make money, they would immediately start recreating the firmware based on existing specifications, or decide that it is time to start from scratch and update all electronics to reclaim some of the cost by using cheaper, more modern, solutions.

    The only people who have a real reason to produce equipment from a ripped binary are people who duplicates other companies products. People who pay for the Keil licenses most probably expects to reclaim their money by selling their products instead of letting other companies harvest what they didn't saw.

  • "All it can be used for is programming into more devices"

    Well, that's not entirely true:

    It would be possible to disassemble the binary and, from the disassembly, it could be possible to create some usable assembly "source".

    But that would be a non-trivial task for an experienced addembly programmer - and one would hope that such a person wouldn't be so careless as to lose the entire source code in the first place!

  • It is almost always cheaper to review the original specification, mails etc and recreate from that and a working unit than to fight with reverse-engineering. It also makes sure that the original source didn't contain a copyright clause that is reauired to have in the reverse-engineered source too doesn't result in inadvertent law violations. Remember that the compiler vendor may also forbid reverse-engineering of their runtime library. With a binary image, you don't know what instructions are from the runtime library and what instructions are from the application until a significant part of the application has been reverse-engineered.

    A friend of mine had to do a full reverse-engineering of a project after a company spent a lot of money to have a consultant write some software for them. The consultant was a crook. He supplied a secretly time-limited binary image, and then demanded ransom for the contracted source - and finally ended up supplying the source (in return for a job position) to a competing, larger, company... The bad thing was of course that small companies can't afford the legal fees - especially if they have to fight a much bigger company.

  • "It is almost always cheaper to review the original specification, mails etc and recreate from that and a working unit than to fight with reverse-engineering."

    Absolutely!

    I was just pointing out that it would - in principle, at least - be possible.
    Whether it would be sensible or worthwhile is, of course, an entirely different question!

    ;-)

  • Yes, I saw the italics on the "entirely" :)

    I just wanted to point out the non-obvious fact that it may be illegal to reverse-engineer your own project.