Jump to content


The System Registry


  • This topic is locked This topic is locked
64 replies to this topic

#31 Rusky

Rusky

    GMC Member

  • GMC Member
  • 2492 posts

Posted 29 January 2011 - 06:46 PM

The registry itself isn't the functionality anybody wants. The registry should be removed and replaced with higher level, cross-platform APIs for:
  • persistent data
  • discovering system configuration
  • setting up file associations, etc.
Anything more specific like actually messing with the system beyond what makes sense for a game and its tools (e.g. setting the desktop wallpaper, messing with proxy settings, changing windows options) belongs in a DLL.
  • 1

#32 FredFredrickson

FredFredrickson

    Artist

  • Global Moderators
  • 9210 posts
  • Version:GM:Studio

Posted 29 January 2011 - 06:58 PM

I was one of those who said they use it - I use it for storing little bits of information about users who use my online account system so they can log in with one game, and then other games that use the system will recognize this and allow them to log in automatically. This can be done with files in a user space too though, so if it needs to go, I'm not going to be heartbroken about it. It is quite a security risk, after all! :D
  • 0

#33 ugriffin

ugriffin

    Idiot

  • Global Moderators
  • 1583 posts
  • Version:Mac

Posted 29 January 2011 - 07:25 PM

I feel it's kind of silly to remove stuff just because it's there. People use it, people enjoy it. What's the point of removing it just for the sake of it?
  • 0

#34 NakedPaulToast

NakedPaulToast

    GM Studio/Mac/Win

  • GMC Member
  • 8288 posts
  • Version:GM:Studio

Posted 29 January 2011 - 07:34 PM

The problem with removing functionality that is platform specific, is that Game Maker as a whole will then only contain functionality limited to the least common denominator.

Ideally, when appropriate, platform specific functionality is nothing more than an API:
  • It runs the specific system calls on the native platform.
  • But runs runner code on non-native platforms.
Similar to how the Registry functions have been implemented on GM4Mac.

I understand removing platform specific functionality from the runner code-base to clean up the runner, but then implement it with a GEX.
  • 0

#35 Rusky

Rusky

    GMC Member

  • GMC Member
  • 2492 posts

Posted 29 January 2011 - 07:35 PM

Nobody wants to remove it "just for the sake of it." There's no reason to have full access to the registry when everything it's used for (legitimately) could be offered in a simpler, easier-to-use way. Easier to use, easier to maintain (code and documentation -wise) and easier to learn.

What's the point of keeping something just for the sake of it?
  • 0

#36 HaRRiKiRi

HaRRiKiRi

    GMC Member

  • GMC Member
  • 1364 posts

Posted 29 January 2011 - 07:56 PM

The only reason I used registry functions were to get all installed fonts, so I could make my own font selection box. But GM's registry capability was too limited for this, and so I actually needed to use DLL anyway.

On a slightly related note, will GM ever have the capability to get the fonts or at least without this bug.

  • 0

#37 gnysek

gnysek

    GMC Member

  • GMC Member
  • 539 posts
  • Version:GM:Studio

Posted 29 January 2011 - 08:05 PM

What's about %APPDATA% - folder in Documents And Settings - it may be usable to save some settings there rather than in registry.
  • 1

#38 BlueMoonProductions

BlueMoonProductions

    BlueMoonProductions

  • GMC Member
  • 241 posts
  • Version:GM:Studio

Posted 29 January 2011 - 08:40 PM

I don't see a reason why to remove it.. Because it's a security-leak-thing? We could always use DLL's..
Game Maker shouldn't be limited to it's own window. It should be a program, with all capabilities that other languages or software have. Including registry-manipulation.
  • 3

#39 GStick

GStick

    All Secrets Exposed

  • GMC Member
  • 1915 posts
  • Version:GM:Studio

Posted 29 January 2011 - 08:41 PM

That said... Platform specific stuff may well (long term) be moved to extensions anyway to allow for a cleaner codebase.

I like this. It also allows things like the registry to still be supported, in a sense. This is a pretty good solution, with Mac, iPad, and Android support now available (sort of).
  • 0

#40 Rani_sputnik

Rani_sputnik

    GMC Member

  • GMC Member
  • 428 posts
  • Version:GM:Studio

Posted 29 January 2011 - 09:24 PM

I feel it's kind of silly to remove stuff just because it's there... ...What's the point of removing it just for the sake of it?


Because Mike wont be removing it 'just cause it's there.'

A - If they remove it and turn it into an extension or DLL, it will be exactly the same as before but it wont be clogging up the runner and making it platform specific.
B - There is genuine security risk with using the registry. Sure beginners can't do too much cause they actually have to know what they're looking for but they can still clogg up your computer with stuff you really don't want.

The way I figure it is that it is not hard to use an extension. Hopefully it'll keep the functions out of beginners hair, but experts can still do what they like.
  • 0

#41

  • Guests

Posted 29 January 2011 - 09:25 PM

I still haven't really heard any convincing arguments to keep it "inside" Game Maker directly. I think what might be safer is move it to extensions, then whenever a game/application uses extensions warn the user (1st time in) that these could contain unsafe code, if the user agrees, then never ask again. However, I'm not a fan of this, as it makes Game Maker games look like a security problem in itself.

So currently, I'm still thinking there's no good use for it, providing we provide a better "settings" system; and I agree XML would work better than INI files, but INI files are "okay" for now.

As to file type association... Mmmm.. It's nice for editors, but for from essential, and I agree that making it simple is just as dangerous as the registry access itself. Games and standard apps just don't need it. Better/simpler access to the "user data" area where inside the users documents folder, would be better all round I think.

In terms of making things the lowest common denominator... yes, there's always that danger, but as Game Maker is actually well below what machines can do just now, I don't think this is currently an issue. But your right, it IS something we need to be careful of, because I hate that as well.....

#42 Smarty

Smarty

    GMC Member

  • GMC Elder
  • 7470 posts
  • Version:GM:Studio

Posted 29 January 2011 - 09:44 PM

I still haven't really heard any convincing arguments to keep it "inside" Game Maker directly. I think what might be safer is move it to extensions, then whenever a game/application uses extensions warn the user (1st time in) that these could contain unsafe code, if the user agrees, then never ask again.

But what argument can anyone bring up to keep it in, if you'd offer registry access through an extension as an alternative? I can see only two consequences: you'd have to bring in an extension, which isn't that big of a deal; and you'll have to be a Pro user instead of a Lite one.

If your next topic is going to be about removing execute_shell and execute_program, I don't think you need to bother asking us - just throw them out and put them in one extension with the registry access. They're on the same risk level.
  • 8

#43 True Valhalla

True Valhalla

    ಠ_ಠ

  • GMC Member
  • 5277 posts
  • Version:Unknown

Posted 29 January 2011 - 11:24 PM

Removal of the registry functions is a loss of GM's usefulness -- it is counterproductive, to force users to rely on a DLL if they want to alter the registry. The security flaws would still be there, whether registry functionality is provided by GM or an application extension. It's embarrassing enough having to use a DLL for online functionality and another for decent INI file management, yet alone something as seemingly simple as a registry entry.

Personally, I find the registry functions very valuable. Not only are they the strongest client side method to permanently ban a computer from accessing my online game, amongst other uses ranging from monitoring multi-account creation to simply storing data away form the users view. I use HKEY_CLASSES_ROOT and several levels of the default key, in particular.

My suggestion is to patch any major security issues, but maintain the core functionality that the registry functions provide. Any major sections of the registry that would be obviously dangerous to alter could be blacklisted.

Simply, the security flaws will exist no matter what. If the functions are removed completely, registry users will be left isolated and have to resort to a DLL -- certainly not my idea of an upgraded product.

As opposed to paying for reduced functionality, I'd happily pay for patched functionality.
  • 1

#44 mcmonkey

mcmonkey

    mcmonkey

  • GMC Member
  • 773 posts
  • Version:GM:Studio

Posted 29 January 2011 - 11:44 PM

I'd gladly pay to not have random noobs deciding they know what belongs in MY registry. If the registry must be edited, I would prefer knowing that it's an expert GM user that's doing it.
  • 2

#45 Rusky

Rusky

    GMC Member

  • GMC Member
  • 2492 posts

Posted 30 January 2011 - 12:06 AM

If your next topic is going to be about removing execute_shell and execute_program, I don't think you need to bother asking us - just throw them out and put them in one extension with the registry access. They're on the same risk level.

They're also both on (almost) the same compatibility level. It would be nice to separate platform-specific functionality into extensions, contrary to what some people are saying.
  • 1

#46 True Valhalla

True Valhalla

    ಠ_ಠ

  • GMC Member
  • 5277 posts
  • Version:Unknown

Posted 30 January 2011 - 01:58 AM

I'd gladly pay to not have random noobs deciding they know what belongs in MY registry.


Like your registry is some holy place that must not be touched, right? If you're so worried, then don't play games by authors you don't trust.

If the registry must be edited, I would prefer knowing that it's an expert GM user that's doing it.


Any idiot can use a DLL. In fact, it will probably be easier to alter the registry using a DLL than it is in GM!
  • 1

#47 Chronic

Chronic

    Administrator

  • Global Moderators
  • 2729 posts
  • Version:GM:Studio

Posted 30 January 2011 - 02:20 AM

I would remove registry all together and add/improve other common ways to store data in a file, such as ini and xml. But with that said, i'm literate enough with computers to know that removing registry functions won't stop me from altering it if i wanted to.
  • 0

#48 ~Dannyboy~

~Dannyboy~

    ~hoqhuue(|~

  • GMC Member
  • 2144 posts
  • Version:GM8

Posted 30 January 2011 - 02:24 AM

If your next topic is going to be about removing execute_shell and execute_program, I don't think you need to bother asking us - just throw them out and put them in one extension with the registry access. They're on the same risk level.

This. In fact those functions can be used to modify the registry, simply create a VBScript using the text file functions and then run it using execute_shell.
  • 0

#49 mcmonkey

mcmonkey

    mcmonkey

  • GMC Member
  • 773 posts
  • Version:GM:Studio

Posted 30 January 2011 - 02:41 AM


I'd gladly pay to not have random noobs deciding they know what belongs in MY registry.


Like your registry is some holy place that must not be touched, right? If you're so worried, then don't play games by authors you don't trust.

It's not holy, but if it gets damaged too bad it'll be expensive to repair.


If the registry must be edited, I would prefer knowing that it's an expert GM user that's doing it.

Any idiot can use a DLL. In fact, it will probably be easier to alter the registry using a DLL than it is in GM!

If said idiot has $25 and knows how to transfer it online. And still takes some learning for said idiot.. not to mention, if it's a DLL, it'll be in the folder right next to the .exe. Which means I can see it's there and decide not to play..
  • 1

#50 True Valhalla

True Valhalla

    ಠ_ಠ

  • GMC Member
  • 5277 posts
  • Version:Unknown

Posted 30 January 2011 - 03:40 AM



I'd gladly pay to not have random noobs deciding they know what belongs in MY registry.


Like your registry is some holy place that must not be touched, right? If you're so worried, then don't play games by authors you don't trust.

It's not holy, but if it gets damaged too bad it'll be expensive to repair.


Lol'd.



If the registry must be edited, I would prefer knowing that it's an expert GM user that's doing it.

Any idiot can use a DLL. In fact, it will probably be easier to alter the registry using a DLL than it is in GM!

If said idiot has $25 and knows how to transfer it online. And still takes some learning for said idiot.. not to mention, if it's a DLL, it'll be in the folder right next to the .exe. Which means I can see it's there and decide not to play..


The ability to buy Game Maker and use a DLL does not qualify someone as an "expert GM user"! For your information, a DLL can be renamed and included to only be extracted on game start up.

*sigh*

The point is, removing registry functionality won't make you any safer whatsoever.
  • 1

#51 Dangerous_Dave

Dangerous_Dave

    GMC Member

  • Global Moderators
  • 9413 posts
  • Version:Unknown

Posted 30 January 2011 - 03:47 AM

The ability to buy Game Maker and use a DLL does not qualify someone as an "expert GM user"! For your information, a DLL can be renamed and included to only be extracted on game start up.

*sigh*

The point is, removing registry functionality won't make you any safer whatsoever.

Except for those of us who run games in secure mode, thereby stopping DLLs from being allowed ;).
  • 0

#52 True Valhalla

True Valhalla

    ಠ_ಠ

  • GMC Member
  • 5277 posts
  • Version:Unknown

Posted 30 January 2011 - 04:09 AM


The ability to buy Game Maker and use a DLL does not qualify someone as an "expert GM user"! For your information, a DLL can be renamed and included to only be extracted on game start up.

*sigh*

The point is, removing registry functionality won't make you any safer whatsoever.

Except for those of us who run games in secure mode, thereby stopping DLLs from being allowed ;).


Heh, though GM's own registry functions are no risk then either :D
  • 0

#53 Recreate

Recreate

    Furry

  • GMC Member
  • 2986 posts
  • Version:GM:Studio

Posted 30 January 2011 - 04:51 AM


The ability to buy Game Maker and use a DLL does not qualify someone as an "expert GM user"! For your information, a DLL can be renamed and included to only be extracted on game start up.

*sigh*

The point is, removing registry functionality won't make you any safer whatsoever.

Except for those of us who run games in secure mode, thereby stopping DLLs from being allowed ;).

Which is essentially nobody.
  • 3

#54 Dangerous_Dave

Dangerous_Dave

    GMC Member

  • Global Moderators
  • 9413 posts
  • Version:Unknown

Posted 30 January 2011 - 06:10 AM

Which is essentially nobody.

You know the risks, it's your choice.
  • 0

#55 Revel

Revel

    ɹǝqɯǝɯ ɔɯƃ

  • GMC Member
  • 4926 posts
  • Version:GM8

Posted 30 January 2011 - 06:11 AM

Personally, I don't like when things mess with my registry, but hey, thats how Windows works. I think the registry functionality should stay.

It doesn't really pose more of a security threat then other things. If it was removed, people could simply use DLLs (as others have mentioned here). Also, GM has been around for 10+ years and I haven't found a single malicious game that has messed up my registry, so I think it's safe to say that messing up the registry isn't exactly what users are trying to do.


Also, I don't use UAC, but doesn't it warn you if something writes to registry that could possibly mess up Windows? If someone can confirm this that would be great.
  • 1

#56 Chronic

Chronic

    Administrator

  • Global Moderators
  • 2729 posts
  • Version:GM:Studio

Posted 30 January 2011 - 07:14 AM

I know many ways to alter the registry with out the use of execute_* functions, a DLL, and it will work regardless of safe mode.

However, just because it can be altered using other ways does not make the registry system functions any less of a security threat.
  • 0

#57 Tan

Tan

    GMC Member

  • GMC Member
  • 8 posts

Posted 30 January 2011 - 08:07 AM

I think the use of registry must be limited to saving games and storing the values, because then it would ot be easy for anyone to open up the .sav file and make needed changes.

-Tan
  • 0

#58 Dangerous_Dave

Dangerous_Dave

    GMC Member

  • Global Moderators
  • 9413 posts
  • Version:Unknown

Posted 30 January 2011 - 09:13 AM

It would be easy for them to open up the registry and make the changes. Just encrypt your save files.
  • 0

#59 ragarnak

ragarnak

    GMC Member

  • GMC Elder
  • 19468 posts
  • Version:GM8

Posted 30 January 2011 - 10:11 AM

Except for those of us who run games in secure mode, thereby stopping DLLs from being allowed ;).

That only works when test-starting from within the GM editor itself, not on executables.

Which is essentially nobody.

Than my name is "essentially nobody". I've set my system to switch on "Secure mode" every time I start my computer. Yes, by overwriting a certain entry in the Registry. :P
  • 0

#60 sabriath

sabriath

    12013

  • GMC Member
  • 3189 posts

Posted 30 January 2011 - 10:25 AM

Considering that there is 'ini' ability, I see no use in the registry (unless you are making an installer...but that doesn't deal with GM directly). There's a much higher chance of children screwing something up having it (or filling it up with useless crap) rather than actually having anything usable come from it.

My vote...deprecate it, move on. If someone REALLY needs use of it, I have some cheese and crackers for them.
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users