Home > Games, Programming, Reversing, Windows > Hades. Now with x64 support!

Hades. Now with x64 support!

June 20th, 2009

I just managed to get Hades working in native x64 mode, which is a huge step forward. Not even InnerSpace can do that at the moment. Currently I only have one game to test it on because I can’t find half my fucking game discs >.<. I’ll be getting my hands on some more x64 games soon though, so that should be good.

The game I currenly have and am testing is Half-Life 2. Below is a screenshot of the first working build. Please disregard the profanity, Kynox was trying to troll me on IRC about not being able to get it working, and pretty much just as he said that I did infact get it working .

I had some very minor issues porting the code over, but luckily (and surprisingly) I didn’t fuck up much at all so it nearly worked “out of the box”. Only took about 30 minutes to track down and fix the issues I was having.

Pretty much the only one that was an actual issue and not just caused by a typo, wrong datatype, etc was with hooking the window subclassing APIs. Don’t forget that SetWindowLongPtrA/W resolves to SetWindowLongA/W via a #define under x86, yet is an actual API of that name under x64. If you don’t explicitly handle that then you’ll be hooking the wrong API and you won’t be able to get subclass detection and rehooking working correctly (if at all).

Honestly I’m amazed at how easy it was to get working. Makes me wonder why the rest of the tools out there are lagging so far behind.

Anyway, I guess I’ll test this for a bit longer, fix any bugs I find, then move on to getting D3D10 working and stable.

  1. Chromez
    June 20th, 2009 at 19:31 | #1

    Damn Cypher, that looks awsome.
    And thanks for showing us how crappy the Mimic anti-dection is.
    Keep it up!

  2. June 21st, 2009 at 01:33 | #2

    Articles for 64-bit developers:

    20 issues of porting C++ code on the 64-bit platform

    A 64-bit horse that can count

    64 bits, Wp64, Visual Studio 2008, Viva64 and all the rest…

    Seven Steps of Migrating a Program to a 64-bit System

  1. No trackbacks yet.