20090920

vista games on server 2008

Environment...
*local installation is Windows Server 2008 SP1 x64
*remote installation is Windows Vista x86

Tools...
http://www.hex-rays.com/idapro/idadown.htm (4.9_freeware)
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm#download

Acquire game files...
*use an existing Windows Vista installation:
-for this guide, VMWare with Vista x86 guest OS was used
-you can use another installation (on another machine)
-or post a comment, so I can send you the package
*copy the following files from Vista to your machine:
-%ProgramFiles%\Windows Games (whole folder)
-%WinDir%\System32\CardGames.dll
-%WinDir%\System32\XInput9_1_0.dll

General information...
*first try the games to see if (by chance) they work directly
*there are two common problems:
-XInput9_1_0.dll is missing
-the game has stopped working (info box)

DLL Missing...
*copy XInput9_1_0.dll
-into \system32 (\SysWOW64)
-or into current game folder
*for card games copy CardGames.dll
-into \system32 (\SysWOW64)
-or into current game folder

Game crashing...
*open IDA Pro
*open game EXE file for dissasembly
-answer yes to use microsoft symbol files (important)
*search (Alt+T) for
-'; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)'
*when found, go to the end of the function
*there should be an unconditional jmp instruction (screenshot)
*select the address of this instruction's row
*now go to Hex View (next tab - screenshot)
*remember the two bytes that are selected there (screenshot)
*copy them with at least 8 more bytes around them
*close IDA Pro
*open XVI and open the same game EXE
*search (Ctrl+F) for the copied bytes
*when found, try to search again
-to be sure that the combination is unique
*if it occurs only once, find the bytes you remembered
-modify them both to '90' (nop instruction)
*save the file





Conclusion...
*emulated vista environment with DLLs
*nop-ped jmp, because of wrong Windows

Remarks...
*the copy bytes/search bytes is lame
-couldn't find edit in IDA and
-the address in IDA doesn't correspond to the same in XVI
*using IDA for JIT Debug
-you can find the "crashing" jmp for yourself
*the environment that is used here is not strict
*post comments for help

20090911

dataBank3

11092006@2010
HullImpact

20090908

dataBank00

080306@2000
8

20090830

dataBank2

290809@2310-current
300809@0000-430100
rem-ride-11
yö-uima

dataBank1

070609@0230
Xz

dataBank0

170610@1817
A

20090821

nexuiz


Freeware 3D FPS...
*cross-platform
*darkplaces engine
*opengl based
*gpl licensed
*single/multiplayer
*low specs

System Requirements...
*hdd: 400 mb
*os1: windows 2000/xp/vista 32/64-bit
*os2: mac os x 10.4+ (ppc/x86)
*os3: linux kernel 2.2+ w/ glibc
*cp1: 1.5ghz intel pentium+ 4
*cp2: 1500+ amd athlon+
*gp1: radeon 9600ati+
*gp2: geforce 5700fx+
*ram: 512mb+

http://www.alientrap.org/nexuiz/