Program from MUC

Can we know get to know the program if a MUC is given ?

  • Yes

    Votes: 0 0.0%
  • It's a No you foolish

    Votes: 0 0.0%
  • May be

    Votes: 0 0.0%

  • Total voters
    0
  • Poll closed .

Thread Starter

rabhishek91

Joined Feb 14, 2013
51
Hi. I have some weird doubt.
Usually we burn/transfer the program to Micro-controller.

Can this be done the other way ?

I mean can we get to know the program from Micro-controller by any means ? :confused:
 

takao21203

Joined Apr 28, 2012
3,702
It is not a totally useless question.

Sometimes the program is programmed at the Factory, nowadays, even for FLASH parts. It is not expensive.

While other chips are even able to read a program from external chips, from punched tape, from a keyboard and who knows what.
 

Thread Starter

rabhishek91

Joined Feb 14, 2013
51

Markd77

Joined Sep 7, 2009
2,806
With commercial chips it's usually not possible for the hobbyist. Most of them will be read protected which means there's no easy way of getting the code from the chip.
 

takao21203

Joined Apr 28, 2012
3,702
Many older PCBs used mask programmed controllers.
Total ewaste now.

New PCBs often use leadless packages, they are not really an option for home assembly.

Not to speak, many controllers used are of unknown making.

Digital cameras normally include a discrete FLASH, and a discrete RAM.
Still with leads.

You can read out with any decent FLASH writer.

Since the codes contained are hudge, it makes next to no sense to disassemble them.
 

Thread Starter

rabhishek91

Joined Feb 14, 2013
51
Many older PCBs used mask programmed controllers.
Total ewaste now.

New PCBs often use leadless packages, they are not really an option for home assembly.

Not to speak, many controllers used are of unknown making.

Digital cameras normally include a discrete FLASH, and a discrete RAM.
Still with leads.

You can read out with any decent FLASH writer.

Since the codes contained are hudge, it makes next to no sense to disassemble them.
Got it bro. So I believe there is some method to do so :)but it's not accessible to everyone.
 

takao21203

Joined Apr 28, 2012
3,702
Got it bro. So I believe there is some method to do so :)but it's not accessible to everyone.
Many FLASH chips nowadays are SMD.

You need at least an adapter. And the software for the FLASH writer needs to support it.

It is possible to take off leaded SMD chip, and for instance just push on adapter PCB. It is good enough to read out.

Don't use my info to break the DVD region EEPROM lock :)

But for yourself, if you can not watch even your own DVDs, it is totally OK.

For EEPROM you need a 50 dollar FLASH writer. Or you can build it yourself with a PIC, Arduino, etc.
 

Thread Starter

rabhishek91

Joined Feb 14, 2013
51
Many FLASH chips nowadays are SMD.

You need at least an adapter. And the software for the FLASH writer needs to support it.

It is possible to take off leaded SMD chip, and for instance just push on adapter PCB. It is good enough to read out.

Don't use my info to break the DVD region EEPROM lock :)

But for yourself, if you can not watch even your own DVDs, it is totally OK.

For EEPROM you need a 50 dollar FLASH writer. Or you can build it yourself with a PIC, Arduino, etc.
Bro probably these stuffs are too much for me. So i won't be doing it.
Was just curious about these things. That's it :)
 

Markd77

Joined Sep 7, 2009
2,806
This is an example of a decompiled program for Microchip PIC:
Quite hard to figure out, there are no variable names, labels for the gotos or comments.
It is possible, especially if you know what it is supposed to do, but not an easy job.
Rich (BB code):
000000:  283b  goto    0x3b
000004:  00fe  movwf    0x7e
000005:  0803  movf    0x3, w
000006:  00ff  movwf    0x7f
000007:  1283  bcf    0x3, 0x5
000008:  1303  bcf    0x3, 0x6
000009:  15b3  bsf    0x33, 0x3
00000a:  084c  movf    0x4c, w
00000b:  0782  addwf    0x2, f
00000c:  2810  goto    0x10
00000d:  2816  goto    0x16
00000e:  281c  goto    0x1c
00000f:  2822  goto    0x22
000010:  13b3  bcf    0x33, 0x7
000011:  1533  bsf    0x33, 0x2
000012:  0839  movf    0x39, w
000013:  0086  movwf    0x6
000014:  0acc  incf    0x4c, f
000015:  2827  goto    0x27
000016:  1133  bcf    0x33, 0x2
000017:  14b3  bsf    0x33, 0x1
000018:  083a  movf    0x3a, w
000019:  0086  movwf    0x6
00001a:  0acc  incf    0x4c, f
00001b:  2827  goto    0x27
00001c:  10b3  bcf    0x33, 0x1
00001d:  1733  bsf    0x33, 0x6
00001e:  083b  movf    0x3b, w
00001f:  0086  movwf    0x6
000020:  0acc  incf    0x4c, f
000021:  2827  goto    0x27
000022:  1333  bcf    0x33, 0x6
000023:  17b3  bsf    0x33, 0x7
000024:  083c  movf    0x3c, w
000025:  0086  movwf    0x6
000026:  01cc  clrf    0x4c
000027:  0833  movf    0x33, w
000028:  0085  movwf    0x5
000029:  110b  bcf    0xb, 0x2
00002a:  087f  movf    0x7f, w
00002b:  0083  movwf    0x3
00002c:  0efe  swapf    0x7e, f
00002d:  0e7e  swapf    0x7e, w
00002e:  0009  retfie
00002f:  0782  addwf    0x2, f
000030:  34eb  retlw    0xeb
000031:  3421  retlw    0x21
000032:  34ba  retlw    0xba
000033:  34b3  retlw    0xb3
000034:  3471  retlw    0x71
000035:  34d3  retlw    0xd3
000036:  34db  retlw    0xdb
000037:  34a1  retlw    0xa1
000038:  34fb  retlw    0xfb
000039:  34f3  retlw    0xf3
00003a:  0008  return
00003b:  3020  movlw    0x20
00003c:  0084  movwf    0x4
00003d:  0180  clrf    0
00003e:  0a84  incf    0x4, f
00003f:  1f84  btfss    0x4, 0x7
000040:  283d  goto    0x3d
000041:  303f  movlw    0x3f
000042:  00b1  movwf    0x31
000043:  0103  clrw
000044:  1283  bcf    0x3, 0x5
000045:  1703  bsf    0x3, 0x6
000046:  008d  movwf    0xd
000047:  1683  bsf    0x3, 0x5
000048:  1703  bsf    0x3, 0x6
000049:  138c  bcf    0xc, 0x7
00004a:  140c  bsf    0xc, 0
00004b:  1283  bcf    0x3, 0x5
00004c:  1703  bsf    0x3, 0x6
00004d:  080c  movf    0xc, w
00004e:  1283  bcf    0x3, 0x5
00004f:  1303  bcf    0x3, 0x6
000050:  00ac  movwf    0x2c
000051:  3001  movlw    0x1
000052:  1283  bcf    0x3, 0x5
000053:  1703  bsf    0x3, 0x6
000054:  008d  movwf    0xd
000055:  1683  bsf    0x3, 0x5
000056:  1703  bsf    0x3, 0x6
000057:  138c  bcf    0xc, 0x7
000058:  140c  bsf    0xc, 0
000059:  1283  bcf    0x3, 0x5
00005a:  1703  bsf    0x3, 0x6
00005b:  080c  movf    0xc, w
00005c:  1283  bcf    0x3, 0x5
00005d:  1303  bcf    0x3, 0x6
00005e:  00ad  movwf    0x2d
00005f:  0064  clrwdt
000060:  1683  bsf    0x3, 0x5
000061:  1303  bcf    0x3, 0x6
000062:  30c2  movlw    0xc2
000063:  0081  movwf    0x1
000064:  1283  bcf    0x3, 0x5
000065:  1303  bcf    0x3, 0x6
000066:  30a0  movlw    0xa0
000067:  008b  movwf    0xb
000068:  0190  clrf    0x10
000069:  0192  clrf    0x12
00006a:  3081  movlw    0x81
00006b:  009f  movwf    0x1f
00006c:  1683  bsf    0x3, 0x5
00006d:  3070  movlw    0x70
00006e:  008f  movwf    0xf
00006f:  3011  movlw    0x11
000070:  0085  movwf    0x5
000071:  0186  clrf    0x6
000072:  308e  movlw    0x8e
000073:  009f  movwf    0x1f
000074:  1283  bcf    0x3, 0x5
000075:  20f4  call    0xf4
000076:  20f4  call    0xf4
000077:  20f4  call    0xf4
000078:  20f4  call    0xf4
000079:  20f4  call    0xf4
00007a:  20f4  call    0xf4
00007b:  20f4  call    0xf4
00007c:  20f4  call    0xf4
00007d:  20ea  call    0xea
00007e:  0835  movf    0x35, w
00007f:  00b9  movwf    0x39
000080:  0836  movf    0x36, w
000081:  00ba  movwf    0x3a
000082:  0837  movf    0x37, w
000083:  00bb  movwf    0x3b
000084:  0838  movf    0x38, w
000085:  00bc  movwf    0x3c
000086:  01b0  clrf    0x30
000087:  0848  movf    0x48, w
000088:  07ab  addwf    0x2b, f
000089:  0847  movf    0x47, w
00008a:  1803  btfsc    0x3, 0
00008b:  0f47  incfsz    0x47, w
00008c:  07aa  addwf    0x2a, f
00008d:  0830  movf    0x30, w
00008e:  1803  btfsc    0x3, 0
00008f:  0f30  incfsz    0x30, w
000090:  07a9  addwf    0x29, f
000091:  0bb2  decfsz    0x32, f
000092:  287d  goto    0x7d
000093:  0831  movf    0x31, w
000094:  1903  btfsc    0x3, 0x2
000095:  2898  goto    0x98
000096:  03b1  decf    0x31, f
000097:  287d  goto    0x7d
000098:  01a0  clrf    0x20
000099:  082c  movf    0x2c, w
00009a:  00a1  movwf    0x21
00009b:  082d  movf    0x2d, w
00009c:  00a2  movwf    0x22
00009d:  20ff  call    0xff
00009e:  0821  movf    0x21, w
00009f:  00bd  movwf    0x3d
0000a0:  0822  movf    0x22, w
0000a1:  00be  movwf    0x3e
0000a2:  20b8  call    0xb8
0000a3:  303f  movlw    0x3f
0000a4:  00b1  movwf    0x31
0000a5:  01b2  clrf    0x32
0000a6:  01a9  clrf    0x29
0000a7:  01aa  clrf    0x2a
0000a8:  01ab  clrf    0x2b
0000a9:  20ab  call    0xab
0000aa:  287d  goto    0x7d
0000ab:  083f  movf    0x3f, w
0000ac:  202f  call    0x2f
0000ad:  00b5  movwf    0x35
0000ae:  0840  movf    0x40, w
0000af:  202f  call    0x2f
0000b0:  00b6  movwf    0x36
0000b1:  0841  movf    0x41, w
0000b2:  202f  call    0x2f
0000b3:  00b7  movwf    0x37
0000b4:  0842  movf    0x42, w
0000b5:  202f  call    0x2f
0000b6:  00b8  movwf    0x38
0000b7:  0008  return
0000b8:  0e3d  swapf    0x3d, w
0000b9:  390f  andlw    0xf
0000ba:  3ef0  addlw    0xf0
0000bb:  00c0  movwf    0x40
0000bc:  07c0  addwf    0x40, f
0000bd:  3ee2  addlw    0xe2
0000be:  00c1  movwf    0x41
0000bf:  3e32  addlw    0x32
0000c0:  00c3  movwf    0x43
0000c1:  083d  movf    0x3d, w
0000c2:  390f  andlw    0xf
0000c3:  07c1  addwf    0x41, f
0000c4:  07c1  addwf    0x41, f
0000c5:  07c3  addwf    0x43, f
0000c6:  3ee9  addlw    0xe9
0000c7:  00c2  movwf    0x42
0000c8:  07c2  addwf    0x42, f
0000c9:  07c2  addwf    0x42, f
0000ca:  0e3e  swapf    0x3e, w
0000cb:  390f  andlw    0xf
0000cc:  07c2  addwf    0x42, f
0000cd:  07c3  addwf    0x43, f
0000ce:  0dc2  rlf    0x42, f
0000cf:  0dc3  rlf    0x43, f
0000d0:  09c3  comf    0x43, f
0000d1:  0dc3  rlf    0x43, f
0000d2:  083e  movf    0x3e, w
0000d3:  390f  andlw    0xf
0000d4:  07c3  addwf    0x43, f
0000d5:  0dc0  rlf    0x40, f
0000d6:  3007  movlw    0x7
0000d7:  00bf  movwf    0x3f
0000d8:  300a  movlw    0xa
0000d9:  07c3  addwf    0x43, f
0000da:  03c2  decf    0x42, f
0000db:  1c03  btfss    0x3, 0
0000dc:  28d9  goto    0xd9
0000dd:  07c2  addwf    0x42, f
0000de:  03c1  decf    0x41, f
0000df:  1c03  btfss    0x3, 0
0000e0:  28dd  goto    0xdd
0000e1:  07c1  addwf    0x41, f
0000e2:  03c0  decf    0x40, f
0000e3:  1c03  btfss    0x3, 0
0000e4:  28e1  goto    0xe1
0000e5:  07c0  addwf    0x40, f
0000e6:  03bf  decf    0x3f, f
0000e7:  1c03  btfss    0x3, 0
0000e8:  28e5  goto    0xe5
0000e9:  3400  retlw    0
0000ea:  151f  bsf    0x1f, 0x2
0000eb:  191f  btfsc    0x1f, 0x2
0000ec:  28eb  goto    0xeb
0000ed:  081e  movf    0x1e, w
0000ee:  00c7  movwf    0x47
0000ef:  1683  bsf    0x3, 0x5
0000f0:  081e  movf    0x1e, w
0000f1:  1283  bcf    0x3, 0x5
0000f2:  00c8  movwf    0x48
0000f3:  0008  return
0000f4:  309e  movlw    0x9e
0000f5:  00cd  movwf    0x4d
0000f6:  3010  movlw    0x10
0000f7:  00ce  movwf    0x4e
0000f8:  0bcd  decfsz    0x4d, f
0000f9:  28fb  goto    0xfb
0000fa:  0bce  decfsz    0x4e, f
0000fb:  28f8  goto    0xf8
0000fc:  28fd  goto    0xfd
0000fd:  0000  nop
0000fe:  0008  return
0000ff:  01a3  clrf    0x23
000100:  01a4  clrf    0x24
000101:  01a5  clrf    0x25
000102:  0820  movf    0x20, w
000103:  00a8  movwf    0x28
000104:  0821  movf    0x21, w
000105:  00a7  movwf    0x27
000106:  0822  movf    0x22, w
000107:  00a6  movwf    0x26
000108:  3008  movlw    0x8
000109:  00ca  movwf    0x4a
00010a:  0cab  rrf    0x2b, f
00010b:  1803  btfsc    0x3, 0
00010c:  2923  goto    0x123
00010d:  0bca  decfsz    0x4a, f
00010e:  290a  goto    0x10a
00010f:  00ca  movwf    0x4a
000110:  0caa  rrf    0x2a, f
000111:  1803  btfsc    0x3, 0
000112:  2921  goto    0x121
000113:  0bca  decfsz    0x4a, f
000114:  2910  goto    0x110
000115:  00ca  movwf    0x4a
000116:  0ca9  rrf    0x29, f
000117:  1803  btfsc    0x3, 0
000118:  291f  goto    0x11f
000119:  0bca  decfsz    0x4a, f
00011a:  2916  goto    0x116
00011b:  01a0  clrf    0x20
00011c:  01a1  clrf    0x21
00011d:  01a2  clrf    0x22
00011e:  3400  retlw    0
00011f:  1003  bcf    0x3, 0
000120:  295d  goto    0x15d
000121:  1003  bcf    0x3, 0
000122:  2947  goto    0x147
000123:  1003  bcf    0x3, 0
000124:  2932  goto    0x132
000125:  0cab  rrf    0x2b, f
000126:  1c03  btfss    0x3, 0
000127:  2932  goto    0x132
000128:  0826  movf    0x26, w
000129:  07a2  addwf    0x22, f
00012a:  0827  movf    0x27, w
00012b:  1803  btfsc    0x3, 0
00012c:  0f27  incfsz    0x27, w
00012d:  07a1  addwf    0x21, f
00012e:  0828  movf    0x28, w
00012f:  1803  btfsc    0x3, 0
000130:  0f28  incfsz    0x28, w
000131:  07a0  addwf    0x20, f
000132:  0ca0  rrf    0x20, f
000133:  0ca1  rrf    0x21, f
000134:  0ca2  rrf    0x22, f
000135:  0ca3  rrf    0x23, f
000136:  0bca  decfsz    0x4a, f
000137:  2925  goto    0x125
000138:  3008  movlw    0x8
000139:  00ca  movwf    0x4a
00013a:  0caa  rrf    0x2a, f
00013b:  1c03  btfss    0x3, 0
00013c:  2947  goto    0x147
00013d:  0826  movf    0x26, w
00013e:  07a2  addwf    0x22, f
00013f:  0827  movf    0x27, w
000140:  1803  btfsc    0x3, 0
000141:  0f27  incfsz    0x27, w
000142:  07a1  addwf    0x21, f
000143:  0828  movf    0x28, w
#Some code removed here to make it small enough to post
 

Thread Starter

rabhishek91

Joined Feb 14, 2013
51
This is an example of a decompiled program for Microchip PIC:
Quite hard to figure out, there are no variable names, labels for the gotos or comments.
It is possible, especially if you know what it is supposed to do, but not an easy job.
Thank you sir. I got an idea about these stuff.
 
Top