Infra-red remote controls use one of several standard protocols. They are well-documented on the Internet. Most use pulse-width encoding, where narrow and wide pulses indicate 0 and 1 data bits.
If the data signal comes from an integrated receiver module, it is already demodulated. The signal is normally high, and goes low when there is infra-red activity at the right frequency. A data telegram begins with a start bit, which is followed by a number of data bits, which encode an address (so remote controls for TV sets don't interfere with remote controls for DVD players, for example), and a command. Then there's a gap. The whole telegram is usually repeated while the remote control's button is held down. Some protocols include a bit that toggles each time a new button is pressed, but not while a button is held down.
You can run some code on a micro to capture the timings on the data line and store them into a buffer. Set up a timer to provide a timing reference, and start polling the data line in a tight loop. When it goes low, record the timer value, then wait for it to return high, read the timer again, and calculate the pulse duration. Store this into a table in RAM, and repeat the process until the table is full. Then view the table with a debugger, or send it out a serial port and capture it with a terminal emulator on a PC.
This will give you a list of pulse widths. You should be able to identify the start bits, and see the differences between different commands. For some protocols, this will be enough information for you to decode incoming commands, but for some, you will need to record the durations of the gaps, as well as the pulses.