You might not be able to read it if it was code protected (commonly done in commercial products).
If it isn't protected then a PICKIT3 and MPlab will get you a HEX file from the chip. The HEX file isn't much use apart from to make copies as making it back into usable code is very time consuming and difficult.
A PICKIT 3 and MPLAB from microchip may do the job. But it is a BIG if. If the chip is code protected. You will not be able to get anything out of the chip. If it is taken from a commercial application. It is most likely that the chip is protected. However you do not know before you try it