If you have a 64bit windows machine and the entire blockchain on your hard drive you can use this console app:
First, download an unzip the console app.
https://drive.google.com/file/d/0BwdyTvSh6bUkazZLRk1CQkVsNXM/edit?usp=sharingRun blockchain.exe passing in the command line argument of wherever the blk?
?.dat files are on your machine.
Example: blockchain.exe c:\Users\YourName\AppData\Roaming\Bitcoin\blocks
Once the program comes up, type the command: "scan" and hit enter. This will scan all of the blockchain.
Next, enable gathering address statistics by typing "statistics" and hitting enter. Warning you must have a lot of memory and swap available on your machine!
Next, type "process" and hit enter.
When that is done you can decide the minimum balance addresses you want to know about. Say you want all addresses with more than 1000 bitcoins. Then type: "min_balance 1000" and hit enter.
Now, to get a report of the top 100 addresses with a balance over a thousand type: "top_balance 100"
Scanning and processing the blockchain may take a long time on your machine (several minutes) the first time you run it. However, doing queries against it once it has been parsed is immediate.
You can also report the oldest addresses by using the command 'oldest' and you can get stats for 'zombie' addresses by typing 'zombie' followed by the number of days. So, if you type 'zombie 365' it will report stats about how many addresses (higher than the min balance and older than one year).
If somebody wants to build this for Ubuntu or Mac-OS that would be great too.
http://codesuppository.blogspot.com/2014/01/a-command-line-interface-for-blockchain.html