GTA2 Classics Stuck at 640×480 (and fix!)
May 22, 2008 on 8:35 pm | In Development, Research | 4 CommentsLately with friends we’ve been having some multiplayer fun at GTA 2 Classics Edition (the free one that you can download at Rockstar Classics). I’m amazed to see how cool this game still is in multiplayer. BUT, there was a but. As of now it was impossible to make it run at more than 640×480, despite setting higher resolutions on the GTA 2 Manager. While it’s not a big issue, it’s still annoying nonetheless.
So I’ve looked and looked and looked and looked on the net to find some kind of answer. While I did find some people who had the same problem as me (and all my friends for that matter), I did not find any answer.
Because I’m not desperate, I’ve took my tools and started decompiling GTA 2 (;))
Long story short, here is a patch to activate high resolution on GTA 2 Classics Edition (aka 9.6F) only:
gta2patch.exe (7 kb)
Please bear in mind that this patch is VERY ghetto. It doesn’t even check if you are patching the right version, so USE AT YOU OWN RISK!
For the details, the source code and the alternate methods (if you don’t feel like downloading and launching an executable from an unknown source), hit the jump.
Continue reading GTA2 Classics Stuck at 640×480 (and fix!)…
Hacking into Vista’s Desktop Window Manager (DWM)
December 8, 2007 on 1:23 pm | In Development, Research | 2 CommentsWindow texture is soooo last week, when you can manipulate the windows themselves ![]()
![]()
Jump for the (quite long I admit) story ![]()
Continue reading Hacking into Vista’s Desktop Window Manager (DWM)…
DWM Hacking, Extracting the Window Texture
November 25, 2007 on 2:36 pm | In Development, Research | 4 CommentsLately I’ve been working with Ave on this, and here are the first results:
Download MP4 videos directly from DailyMotion
November 1, 2007 on 12:06 am | In Development, Projects, Research | 1 CommentSo I have this shiny iPhone, and I must say, although I was skeptical when it came out, I love it. Thanks to it I can watch YouTube videos on it, and the other competitor (at least here in France), DailyMotion, has an iPhone “webapp” for it. Sweet!
After a while, I wanted to grab some videos and put them on my phone, so I started to search for an application that would allow me to convert flvs to mp4s, and eventually I found some. But the process is kinda slow, and when you think the iPhone plays the videos directly in mp4 from DailyMotion (and YouTube), you would find this utterly inefficient!
But thankfully for you guys, there is a way to download videos directly in mp4 from DailyMotion, and by directly, I don’t mean using some transcoding service. I mean directly.
So how do we do that? Well, I’ve created a simple tool for you to convert DailyMotion urls, to direct download MP4 urls ![]()
Continue reading Download MP4 videos directly from DailyMotion…
Reverse Engineering the Windows XP Window Manager, Part 4: The real thing
March 26, 2007 on 2:21 pm | In Development, Research | 15 CommentsSooo, here we are. We finally reached the real PrintWindow() implementation. And before we start to comment, let’s take a look at the code:
Continue reading Reverse Engineering the Windows XP Window Manager, Part 4: The real thing…
Reverse Engineering the Windows XP Window Manager, Part 3
February 1, 2007 on 2:18 pm | In Development, Research | 1 CommentIn the previous part we managed to hunt down the real implementation of the PrintWindow API. Le’ts take a look at it. The functions is divided in 3 chunks:
Continue reading Reverse Engineering the Windows XP Window Manager, Part 3…
Reverse Engineering the Windows XP Window Manager, Part 2: IDA is my ally
October 21, 2006 on 5:13 am | In Development, Research | No CommentsFirst thing I did was fire up IDA and take a look at the disassembly of the PrintWindow. The function is exported in User32.dll.
And here is what I came accross:
-
.text:77D5D2A0 ; Exported entry 517. PrintWindow
-
.text:77D5D2A0
-
.text:77D5D2A0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
-
.text:77D5D2A0
-
.text:77D5D2A0
-
.text:77D5D2A0 ; __stdcall NtUserPrintWindow(x, x, x)
-
.text:77D5D2A0 public _NtUserPrintWindow@12
-
.text:77D5D2A0 _NtUserPrintWindow@12 proc near
-
.text:77D5D2A0 mov eax, 11DDh
-
.text:77D5D2A5 mov edx, 7FFE0300h
-
.text:77D5D2AA call dword ptr [edx]
-
.text:77D5D2AC retn 0Ch
-
.text:77D5D2AC _NtUserPrintWindow@12 endp
Pretty small heh! At least not enough for me to figure out how the function works! But I didn't stopped here of course ![]()
Continue reading Reverse Engineering the Windows XP Window Manager, Part 2: IDA is my ally...
Reverse Engineering the Windows XP Window Manager, Part 1
October 20, 2006 on 4:12 pm | In Development, Research | No CommentsAlmost 3 years ago, I started a project, expire, which was supposed to be the windows clone of Exposé, the Mac OS 10.3 window tiling feature. It was also my personnal project for my second year in Epitech. We had a few beta out, everything was going good, but the request came: "We want Windows 2000 support !".
To replace you in the context, the program used one hell of a handy API to get its screenshots of the windows: PrintWindow. What this api was doing is actually make a screenshot of a window into a DC. The main advantage over the classic BitBlt method is that it can also shot windows partially or completely out of the screen, or deep in the Z-order. Pretty handy for an Exposé clone heh! The problem is, this API was introduced with Windows XP! No support for Windows 2000 then.
So I started to investigate whether or not it was possible to recode PrintWindow in Windows 2000. And boy, it was possible. In fact, I didn't know at that time how far I was going to get with this!
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^