I ran across this puzzle in the SNES game Lufia II, but it has been around since before that. In Lufia II, it is called "the world's most difficult trick" and this name is not uncalled for - it is a fairly difficult puzzle. However, the state space is small enough that a computer can easily find the minimum solution by brute force, so I wrote a program to do just that. Below is its solution, requiring only 116 steps.

The object of the puzzle is to slide the blocks around in order to move the large square to the bottom center (so that your character can reach the items on it, at least in the game).