hach-que
|
|
Posted on: November 10, 2008, 04:54:12 am |
|
|
Joined: Nov 2008
Posts: 4
|
I'm Hach-Que from Roket Games. I'm looking to support ENIGMA games as part of the site's instant play functionality, however, as part of a security feature to be added to the instant play system, only certain executables will be made automatic. I'm wondering if there is any part of ENIGMA games that I can detect so that I am able to allow them to be automatically instant playable. I would have contacted via PM, but there doesn't seem to be that functionality on this board.
|
|
|
Logged
|
|
|
|
|
|
hach-que
|
|
Reply #3 Posted on: November 10, 2008, 04:46:41 pm |
|
|
Joined: Nov 2008
Posts: 4
|
I know people can make viruses in Game Maker/ENIGMA, but even an anti-virus wouldn't pick it up as it would be of a brand new type. The best I can do is prevent existing viruses from automatically becoming Instant Playable. There are no portions of Enigma that are instantly recognisable (apart from the string "Enigma Shell", and a few other titbits) because it is compiled not interpreted, and therefore doesn't have a runner in the same way that GM does. I'll need to know where those are exactly located in the EXE.
|
|
|
Logged
|
|
|
|
|
|
|
|
score_under
|
|
Reply #8 Posted on: November 13, 2008, 02:27:04 pm |
|
|
Joined: Aug 2008
Posts: 308
|
I'll need to know where those are exactly located in the EXE.
Nope, doesn't work like that. You see, the enigma shell is compiled with the game, every time, with, I think, optimization on. Which means that if any part of the game performs an operation similar to any part of the initialization code for Enigma's shell, then it will move the code around in the EXE. It's not like Game Maker, it just won't work and it's nearly impossible to distinguish from anything compiled without Enigma in C++ - enigma actually converts the code to C++ and sends it to MinGW for compiling.
|
|
|
Logged
|
|
|
|
|
|
Josh @ Dreamland
|
|
Reply #11 Posted on: November 16, 2008, 08:12:05 am |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
hach-que: Due to the fact that ENIGMA games are compiled, nothing's ever in the same place twice, really. However, I use a system to let me know where sprites are in the exe. It is a magic number, located eight bytes from the end of the exe, that reads 'sprn' as text. That should help you identify them for now.
I haven't actually given myself any other way to tell if a game's ENIGMA made, though. I suppose you would want the window class name, too. TMain is the one you'll want to hide, TSub is the one you'll want to embed.
I know those are very vague ways of identifying an ENIGMA game, but I didn't actually make them for the purpose. I'll see what I can do, starting with adding ENIGMA's name to the window class.
Also, I have no idea how this is going to work on Linux, or if it is at all. I don't recall anything like a window class from good ol' X. I suppose you'll just be supporting Windows?
Anyway. Good luck to you. Feel free to contact me by email if you have any more questions.
-Josh
|
|
« Last Edit: November 16, 2008, 08:17:12 am by Josh @ Dreamland »
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|