The Layout Editor is an advanced tween and easing based animation and layout editor for GameEx Evolution.

The Layout Editor is an advanced tween and easing based animation and layout editor for GameEx Evolution.

We have resumed our work on the Apple Mac version of Windoze Solitaire. All is coming up roses and we will post some screenshots soon. We certainly have some treats in store.
The iOS version of Windoze Solitaire will be updated during or just after the launch of the Mac version (all going well).
We at Headsoft would like to wish all our customers a happy Christmas and a prosperous new year.
As a little gift, here is a way to obtain a secret award in Windoze Solitaire. If you can pry yourself away from the festivities on Christmas Day, play a quick round of solitaire. 😀

MAME Compiler 64 v2.0 Released

So there's an interesting bug in Windows when using the U+202E unicode Right-to-Left Override [RLO] character in a filename. You can essentially make a dangerous file masquerade as something harmless like an image file.
As a proof of concept look at the following example. Here we have a perfectly innocent meme called Narcs.jpg. We embed it as a resource in a simple C application.

#include <windows.h>
#include <fstream.h>
#include <tchar.h>
#include "resource.h"
#define BUFSIZE 65536
#define countof(array) (sizeof(array)/sizeof(array[0]))
void Debug(LPCTSTR szFormat, ...);
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
DWORD dwRetVal;
DWORD dwBufSize = BUFSIZE;
WCHAR lpPathBuffer[BUFSIZE];
CHAR lpPath[BUFSIZE];
dwRetVal = GetTempPath(dwBufSize, lpPathBuffer);
_tcscat(lpPathBuffer, L"Narcs.jpg");
wcstombs(lpPath, lpPathBuffer, BUFSIZE - 1);
HRSRC hrSrc = FindResource(hInstance, MAKEINTRESOURCE(IDR_JPEG1), TEXT("JPG"));
if (!hrSrc)
return 0;
HGLOBAL hJpeg = LoadResource(hInstance, hrSrc);
if (!hJpeg)
return 0;
DWORD jpegSize = SizeofResource(hInstance, hrSrc);
if (!jpegSize)
return 0;
unsigned char* jpegData = (unsigned char*)LockResource(hJpeg);
if (!jpegData)
return 0;
std:fstream outputFile(lpPath, ios::out | ios::binary);
outputFile.write(jpegData, jpegSize);
outputFile.close();
ShellExecute(NULL, NULL, lpPathBuffer, NULL, NULL, SW_SHOWNORMAL);
return 0;
}
It's compiled to Narcs.exe. The trick now is to rename it like so:

Now the file will appear to be named Narcs.jpg but upon launch will run and extract the Narcs.jpg to the Temp folder and display it using the default Shell application associated with jpegs. The problem here is a screensaver file (extension .scr) is essentially an executable and can now do whatever nafarious things it likes.
Thankfully Microsoft is aware of this issue and Windows Defender will now detect and quaranteen such a file immediately.
I ported the famous Scary Spider game written in Flash to Unity and of course I had to add a Red Back spider (as I'm originally from Australia)!


Our latest update is out and adds a host of new and unique games.
It has come to our attention that online leaderboards are not functioning for Klondike. This will be rectified in an update soon. Any scores achieved in the meantime will automatically be submitted to game centre when the update is released.

Jungool is now FREE.

Celebrate Thanksgiving with our special 'All Games Pack' sale. Massive discount don't miss out!
We are readying a new release for Oct, with a host of new and wonderful games.
If you have any suggestions for a game that we have not got in our Solitaire collection, please let us know and we will do our best to include it.