Saturday, July 17, 2010

Starcraft II beta

Yes, finally I got a beta invitation!! It is kind of late and I was in a personal emergency when I read that message, and have to leave immediately.

It is kind of late but I am so happy now. I was so bored that I wanted to play Diablo II, and found I can't find my copy (We bought 2 Diablo II so both me and my wife could play, but that is over 10 years ago and it is lost somewhere), so I have to buy online from Blizzard. Now thank you Blizzard!! I am going to download it (slow over the hospital wifi) and enjoy it later!

Tuesday, June 29, 2010

Microsoft meeting

My co-worker has finally pushed me to our local Microsoft meeting, and I have to admit it is a good experience. Relaxed and fun, free food and items. I win a MS T-shirt (which I always want to have one). The presenter showed some cool lambada moves and some general coding styles. Best of all, I saw a few former co-workers :-)

So if there are MS group meetings at your locale, I strongly encourage you to attend.

Thursday, June 24, 2010

Unreal Tournament

I had the game back in 2000, and love the game play (especially the one where you can snip on top of a tower and the last one).

Recently during a conversion with a friend, we talked about unreal and he wanted to play. So I promised that I will give him the CD. Well, turned out that CD is lost forever and somehow I wanted to play again as well.

So I went to GameStop near my home and bought unreal tournament 3. The graphics is better than the original, and I am going through the levels right now hopping the great levels in the original is still present in this new version.

It is great to play old games for cheap, my copy is only $10 :-)

Thursday, June 17, 2010

Still Waiting for Starcraft II

I always thought I am a very responsible adult, have the ability to not over spend, save for the future and when spending, spend rationally.

And Starcraft II kind of affected my mind. It is like a drug. I just bought a quad core cpu to replace my aging Athlon X2 (even though it should be able to handle Starcraft II just fine), and I will buy Starcraft II at the release (instead of wait for a used copy for half the price).

And the waiting is burning me from the inside. I feel like a drug addict.

Friday, May 28, 2010

Net Orbiter, cross dll obfuscating added

I took some time to add cross dll obfuscating. It was pretty easy (but I thought it will be easier). One core change is needed, and all others are just configuration changes. Much easier than when I use native TypeBuilder.

Now I need to make the interface a bit better, the current one is really hard to use even for me.

Wednesday, May 26, 2010

New obfuscator almost working now

Yep, after I developed my last obfuscator, which uses .Net's emit functionality, I decided to create a new one, parsing and constructing the .net assemblies myself.

The reason is simple. The emit functions has 2 drawbacks. First, there is no way to specify a catch or finally block is tiny or fat, and no way to let them not generate a leave command automatically. That increase the code size dramatically. Second, it automatically adds the framework reference in the assembly, so if it is a silverlight assembly, it will became a .net assembly, and requires a extra ildasm/ilasm to fix it.

The parsing was easy, obfuscating is much easier too, the reconstructing of the .net assembly is HARD!! I have to spend all my free time (which is tinny, often less than an hour a day) on it, and two days early I thought I got it, till I encounter a big file and the obfucsator was able to shrink it a lot. It just won't load. Turned out there are many small places where ECMA335 didn't specify, and I had to try it out.

Now all that is left is polish.... Which will be slow and boring.

Wednesday, May 19, 2010

Finally reconstructed a .net assembly

Yep, I was toying with ECMA335 recently and parse a .net assembly was easy. The re-construct of a .net assembly from the parts was hard, as you have to keep coming back to update the different RVAs. After that, I keep running to "Invalid IL format" problems, and turned out they are the alignments.

Last night I got it working, I was able to reconstruct my reconstruct program and use the reconstructed program again. That was with 3.5 framework. When I use the 4.0 framework, I got a strange "Divided by 0" exception, even though I can de-assembly using ildasm, so it is not a total success.