Nifty piece of electronic test equipment which, put simply, lets you see what's going on in a digital circuit.
They are fairly expensive (the cheapest one I ever used, which was really quite good for the price, was made by Thurlby Thandar, and cost about £1200 five years ago) but almost essential items of equipment when you are either reverse engineering
(rather like hacking
) or debugging
almost any kind of microprocessor
The Logic Analyser is essentially to digital circuits what an oscilloscope is to analog circuits - pretty much the only way that you can measure or test the signals on all those little wires (or, more usually, tracks on a printed circuit board) and work out either what's going wrong (i.e. why it doesn't work), or reverse engineer someone else's design to see how it does work.
For the more technically minded
A logic analyser (LA
from now on) is effectively a multi-channel digital sampler, which has (for example) 48 separate signal inputs (more inputs=more money), each of which can capture a digital signal (i.e. 1 or 0) at any particular instant in time. The sampling rate
(i.e. how many 'grabs' of each input it can do in a second) of the instrument is also dependant on it's cost, the one I mention above could sample 48 inputs at 25Mhz (25 million grabs a second), and had enough memory to store 8192 sets of results (one set being the 1 or 0 state of all the 48 inputs at an instant in time).
Say you are reverse-engineering a games console, say a Nintendo Gameboy. You would work out what pins on the cartridge connector corresponded to what CPU signals (too involved to explain here, but a fair amount of guesswork and sleuthing), and connect each pin to an input on the LA. Then you would find yourself a clock signal (which goes from 0 to 1 and back at a fixed rate and is used to synchronise everything) and feed that into the LA so it knows when to sample the inputs.
Logic Analysers invariably have a fairly large screen, which can display (say) 80 column text and graphics, and a keyboard which lets you program it. You have to tell the LA how you want the sampled input values displayed on the screen - a sea of 1s and 0s generally isn't very readable - so you can tell it for example that inputs 0-15 correspond to the address bus and inputs 16-24 correspond to the data bus, and then it will display each memory address accessed in hex, and what value was read or written to that address. Once you have this information (and more), you can let the hacking begin!
1) A logic analyser is an almost indispensible hardware hacker's tool, but they are prohibitively expensive - the 25Mhz one I used would be virtually useless nowadays, when machines use 400Mhz and upwards clock speeds and 128-bit busses. You can get equipment which will handle this sort of thing (see the Uber-equiment makers Tektronix), but trust me, if you have to ask, you can't afford it.
2) One of the development kits for the Sony Playstation, the H2700 board, is effectively a Playstation with a custom logic analyser attached. It contains 96Mb of RAM which is used to sample all the interesting signals from the Playstation chip set, and is used to see what's actually going on in the hardware when the PSX is running a game - very useful for fine-tuning games for maximum performance.