how can i read a microchip?

so im new to arduino and programming all together.

i was curious as to how some one could read a microchip (the contents of it, the coding if you will)

i have a chip for my 3d printer the xyz da vinchi 1.0 and im trying to find out whats on this micro chip.

is it possible to use the arduino and read whats on it?

thanks for the help!

It might be it depends on what chip it is.
It also depends if the manafacature has set the fuse bits that prevent you from reading it.

What you will see however is just the bytes that make up the machine code nothing readable.

If you start out by spelling "Da vinci" properly, you can find good stuff via google: Google found this

// Per.

If you can read the bytes you could put them through a disassembler...

But it's still very hard work to figure out what's going on.

Allan

If you can read the bytes you could put them through a disassembler...

But only if you know where the instruction boundary is. One trick I used to use for protecting EPROM code before protection resistors came in, was to put in a rouge byte or two in between subroutines so a disassembler would be thrown off and read back rubbish.

It is depending upon the manufacturer and also programmer. Some programmer protecting the code from code infringement. which means you can use that chip but you can't read the source code from program memory.

Some fuses and registers are set by programmer or developers.

Grumpy_Mike:
But only if you know where the instruction boundary is. One trick I used to use for protecting EPROM code before protection resistors came in, was to put in a rouge byte or two in between subroutines so a disassembler would be thrown off and read back rubbish.

Rogue, not rouge.

That's dyslexia for you. Cheers :wink:

Paul_KD7HB:
Rogue, not rouge.

A rouge herring for the disassembler.

wow, i guess i got allot to learn still! thanks for the insight everyone i greatly appreciate it!

One trick I used to use for protecting EPROM code before protection resistors came in, was to put in a rouge byte or two in between subroutines so a disassembler would be thrown off and read back rubbish

You could follow the call , jump, and return instructions.....

Still a right pain-in-the-neck....

I'd probably give up pretty quickly.

Allan

Yes don't give away all my secrets :wink:

I had plenty more I used to sprinkle around to fool disassemblers. A lot depended on the instruction set, and some included jumping into what would be the second or third byte of a multi byte instruction so the disassembler could not get it right.

One of the points was so that if someone stole the code wholesale it would contain all this rubbish that would mark it out, in a court of law as being exactly copied.