Hacker News new | past | comments | ask | show | jobs | submit login
Raymond Chen patches MS Money executable to fix bug (msdn.com)
347 points by joe_bleau on Nov 14, 2012 | hide | past | favorite | 30 comments



Reading this makes me miss the early days of learning to program. I would reverse engineer games that I enjoyed and write hacks for them. I spent hours and hours every night staring at ASM and network data. Man, how I'd love to somehow be able to get paid to reverse engineer games all days.

Edited to include funny sample. It was literally a hack to make the chat client better. How nerdy was/am I? Hah: https://github.com/ryancole/broodwar-chat-enhancements/blob/...


Interested in joining a fast growing venture + industry titan(s) backed Information Security startup that is changing cyber security and information privacy the world over?

Although there may not be games to reverse engineer (where I got my start 14 years ago as well) there are plenty of other equally fun applications of this skill set. :)

I'm the founder and currently on a plane but if you email adam (a t) socialfortress com we will get back promptly.


FYI - it looks like some of your wufoo scripts on the Enterprise signup page are loading insecurely. Wufoo has https endpoints as well, so it should be a quick fix.


I think a lot of us started that way. I learned to type playing Diablo 1 all summer when it came out (I was 12 or so). I also learned Visual Basic and C++ a year or so later trying to write hacks for the game. I can't remember how many times I locked up Windows playing with a debugger :)

It was good times. I miss it all the time.


This. Therefore this is hackernews.


I read this comment thinking "wow, that's exactly what I did when I was learning to program". Then I glanced at the name and realized why it sounded so familiar.

<-- Soul, from way back then. I'm having a blast looking at soupbot, though I have to admit I'm more than a little jealous that your code looks so much cleaner than mine was!


There's probably public and private security organisations which will pay you to analyse network data, and disassemble binaries.


From top of my mind gog.com might be interested in your skillset, probably not the only one.


Good times, Skywing :)


Anyone unfamiliar with Mr. Chen might enjoy Joel's article. The first time I read it the bits from/about Chen definitely left a lasting impression:

http://www.joelonsoftware.com/articles/APIWar.html


From the same article, although not related to this subject, I found this gem:

"Here are a few examples of things you can't really do well in a web application:

1. Create a fast drawing program

2. Build a real-time spell checker with wavy red underlines

3. Warn users that they are going to lose their work if they hit the close box of the browser

4. Update a small part of the display based on a change that the user makes without a full roundtrip to the server

5. Create a fast keyboard-driven interface that doesn't require the mouse

6. Let people continue working when they are not connected to the Internet"

It makes me smile that all of these are now incredibly trivial to implement in web apps :-)


Amazing how often I get asked to create #2 tho (about once every month or two). I usually ask, "So the fact that no site not owned by Microsoft or Google does this isn't scaring you at all?". And the answer is, "Well it would be nice to have". The next step is telling them it would take me over a month to build...and everything goes down hill from there with accusations about my competency.


> 6. Let people continue working when they are not connected to the Internet" > now incredibly trivial

Really? That was not my experience with one month off the grid using a Cr-48 in 2011.


Except there is no standard implementation for any of those things, every webapp treats them differently, offers a different subset, some offering none at all.


How do you do #4 and #6?


For #4, I assume he means something like "click-to-expand" which now can be done entirely client-side in Javascript.


For #4, assuming that the assets have been preloaded, you can display the change through your scripting, while sending the update to the server.


Genuinely hard to express how seeing this made me feel -- particularly on a day of coincidental turmoil for Windows & MS. (I was a developer & dev lead on MS Money long ago, and clearly remember dragging him over for extended nighttime in-person kd stack-unwinding sessions.) He was so generous to our efforts to make that product a good one, and his electric, unstoppably curious, just-get-it-right combination of deep skill, energy, & attention to customers still totally inspires.

Be as much like him as possible. Necktie optional.


I have to say, MS Money might be the only product from MS that I genuinely loved. I was a big fan of MS for years, but in the mid-2000's the security stuff on XP got to be too much. After leaving Windows for the Mac in 2005, Money was the only product I actually missed (and still miss).

Your team did a seriously great job. I had never used Quicken before switching to the Mac. When I did, I couldn't believe what a steaming pile of user experience pain it was compared to Money. There were so many little details that were right in Money and head-slappingly wrong in Quicken. So often my experience with a lot of other MS products has been that if you wander the little dark corners, edge cases are lurking to bite you. I just never got that feeling when using Money.


MS Money is a great product for simple home use. THough it seems with some new features the program went a little cock-eyed and some of the nice simple tasks became harder, but it was still a great tool (i have no money these days, so no longer have a need to use it)..

For all interested, here is the link to download the latest version for free. http://www.microsoft.com/en-au/download/details.aspx?id=2073...


This pretty much makes me want to dust off my Treo 650 and go back to the Palm OS, because no smartphone since has been as productivity enabling.


this should be forwarded to all the douches that call themselves hackers ... this is what hacking is. P.S. I am nowhere near this level but again I don't call myself a hacker just a coder.


I still use MSMoney. For my relatively simple home finances, its absolutely perfect.


Likewise. It does the job, has a nice interface, and still works with direct connect to my bank.

Though the Quicken that just came out with mobile app support is tempting the hell out of me...


It was a great program when I first started using it in 1998 or so, and got progressively worse with each release.


Can anyone who works at MSFT explain why Raymond Chen wouldn't have access to the source of MS Money? Code doesn't compile on modern compilers? Written in an obscure language? They've lost the code? Company is so siloed that no one from another dept is allowed to see the code?


In general not everyone has access to all code. Microsoft has over 90k employees not counting contractors. To get access to various projects/depts source depots you have to request access. Some access is auto-approved, for instance I am auto approved for devdiv and windows source access. Others require someone approving your access request. For instance, a few months back I was seeing a really, really annoying bug in Lync, I wanted to troubleshoot it since the repro was sporadic and I wanted to include an analysis in the bug I filed. It was the I found even getting access to non-stripped Office pdbs requires special permission, I applied for it and was denied :( Sometimes the bureaucracy baffles me.


MS Money was end of life'd at the end of January 2011(http://support.microsoft.com/kb/2118008 ).

It's possible that MS has archived the source off of their development repositories, since nobody should be doing anything with that code.


BTW, it is really irritating that the MSVBVM60.DLL shipped with Vista and later and the VB6 ActiveX controls shipped with MS08-070 and later has no symbols on the public symbol server (MS had provided DBGs and PDBs for older versions of these in the past).


For the extra challenge put the code in the data fed to the program, causing a stack overflow and make it run the code that makes everything nice again!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: