Gamesalad Obfuscator

wormilwormil Member Posts: 127
edited November -1 in Working with GS (Mac)
Hi All,
I've made a small tool to obfuscate your project files for publishing. You can see it in action in my demo video that I've linked below. (You also get a preview of my upcoming game series...)

I'm not claiming it's amazing or is the definitive answer, but it is an answer to something I saw as a problem, but I figured it will do for now.

What it does:
Changes the name tags for variables in actors (and instances) and the game itself.
Changes actor names.
Changes all labels for functional items.

This has no functional bearing on the game running itself, only the cosmetics. You can tell in the video that it's nearly impossible for a person to simply read what is going on with your code.

I'm not guaranteeing this stops abuse of game projects, but it should help to thwart it.

I hate charging for stuff, but I do miss eating actual food and not just tomatoes and ramen (and damn a beer would be nice now and then)! I think $2 is a fair price (unless you'd like to pay more).
I'll post it to the app store in the next few days, but if you want to paypal me directly, I'll send you the program.

TL;DR:
Worm wrote a program that makes projects hard to read but leaves functionality in place. He wants $2 so he can eat an actual meal and drink a beer unless you want to give him more.
Video:
<iframe width="425" height="349" src="http://www.youtube.com/embed/oUxICUNsh1A?hl=en&fs=1" frameborder="0" allowfullscreen></iframe>

Comments

  • wormilwormil Member Posts: 127
    Well, that's cool....lol.
  • wormilwormil Member Posts: 127
    Before anyone asks, I changed the completed dialog to reflect it being complete and not an error message.
  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    Hey there, I honestly have no idea what the purpose of your tool is. Could you possibly give some commentary in you video while its going cause I get nothing from the video or your description.

    You say something about making a project hard to read but still functional. How is this useful?
  • wormilwormil Member Posts: 127
    I've sent you a pm about it.
  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    I;ve replied but I just post it ere as well.

    For anyone like me who did not understand the purpose. it is to combat someone seeing how your rules and such are setup by pulling the gameproject out of a compiled .app package.

    This is my reply to the PM.
    "Ah, Well I sugest trying it. as it doesn't work. the project file is inside the .app package but it is encrypted. you cannot see any of the rules or anything. The images and sounds are in there as well but there is really nothing you can do about that. They are inside every .app package wether made with GS or not."

    Sorry wormil not trying to burn your sales. i'm sure some people will still go for the idea. I just didn't know what the idea behind the purpose was.

    Thanks
  • wormilwormil Member Posts: 127
    These files are not encrypted.
  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    Maybe not encrypted but they certainly are not usable. I just double checked. pull the BOT ipa out of my itunes library and opened the project file contained inside. 90% of the images are not even visible and the game project is useless if you were trying to use it for anything.
  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    I tell you what. Go download Alpha Balls Free. Thats the most recent game I have on the AppStore it was published with 0.9.71. I will buy into the threat if you can send me a working project file of my game.
  • wormilwormil Member Posts: 127
    PM sent.
  • JohnPapiomitisJohnPapiomitis Member Posts: 6,256
    well your trying to sell it in the marketplace so the convo should happen in this thread for people that might buy to see what it actually does or doesnt do. But to get to the point tenrdrmer is right the project you get after publishign is completly unuseable
  • wormilwormil Member Posts: 127
    Ok, I'm trying to avoid specifics here, for the sake of everyone.
    I'll pm you the same stuff I sent him.
  • wormilwormil Member Posts: 127
    Just to be clear, I was ready to eat my words and take it back, but I know I'm right here. I verified several times over that I am.
    Tenrdrmer is right, his app has art that can't be used, but the code can.
    I said this won't protect the code, but it will make it a mess to look at.
  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    Please send me what you have jumbled together then. I would love to see the file.
  • wormilwormil Member Posts: 127
    I sent you pm D:
  • tenrdrmertenrdrmer Member, Sous Chef, Senior Sous-Chef Posts: 9,934
    Well guys I must wormil is some kind of genius. He has show me how it works and I would say this prob will help in creating new hurdles for people looking for a new avenue of ripping off apps. We have seen that type of user many times in this forum in the past so I haven't decided yet but I may actually bite and buy this tool . It definitely makes the project file inside the .app look like extremely mass chaos. and from what he has shown there is a slightly higher threat than I ever thought. Nothing the average guy that has no clue how to do anything but buy a template and click publish could figure out but the right person could definitely get more than you want them to have.
  • wayneh001wayneh001 Member Posts: 300
    Hi, Sounds like a really good idea Wormil - yet another MUST BE DONE BY GAMESALAD at the Server side tool. Obfuscating the code further, would indeed help protect the files further.
    Good work.

    Wayne
  • wormilwormil Member Posts: 127
    I should raise my prices :)

    Anyways, if you guys want in on the program, I'll be able to ship sometime later today to you (it's 6am, I haven't been to bed yet). You can email me at wormil at gmail.com, and we'll get it shipped.
  • wormilwormil Member Posts: 127
    Hi Guys,

    Please read this entire post, and don't skip parts.

    First and foremost, I'm not sharing what information I have with anyone, unless a gamesalad rep themselves want to chat. What I thought was a known problem seems to not be, and I don't want to be some villain here.

    What my program does isn't the answer of all answers. It's simply an attempt to make it require WAY more work that it already (which is a lot of work) to do.

    "Obfuscated code is source or machine code that has been made difficult to understand for humans. Programmers may deliberately obfuscate code to conceal its purpose (security through obscurity) or its logic to prevent tampering, deter reverse engineering, or as a puzzle or recreational challenge for someone reading the source code. Programs known as obfuscators transform readable code into obfuscated code using various techniques." - http://en.wikipedia.org/wiki/Obfuscated_code

    The idea employed here is that your code is a valuable asset to you. You use words to represent things in your game (position, score, etc).

    I'll make a working example for you:
    We want to add points to the game.
    We make a game variable called 'score'.
    When an actor dies, we use the ChangeAttribute function to set "score=score + 1". We all know this looks like "game.Score" = "game.Score+1".
    What my program does, is change the name to whatever you want, let's say 'wormil'.
    Now the code when viewed looks like "game.wormil" = "game.wormil+1".

    So what? Well, let's say you have 10 or 20 more attributes (my game has about 40 I think) and they were all named "wormil"...which variable is it? Gamesalad knows, but the person reading the code in gamesalad would just see a mess of wormil.

    Now if all your actors were named wormil, and all of their tags were named wormil, and all of the instances of your actors were named wormil....well, it's a lot of wormil.

    This is not fool proof, it can be semi undone, as can any obfuscation. But, it will be undone into just as big of a mess. I'd rather have a huge mess of something that takes hours and hours to decode, that my code in plain sight.

    Please understand this is not a reflection on the gamesalad engine, or gamesalad as a company, or it's developers. Microsoft has this problem with .NET, Oracle has this problem with Java, etc. We all know that there is no uncrackable software (think about all the pirated games in the world). This is like having a lock on your front door. It's to keep honest people honest.

    This wasn't meant to scare people into buying my product. I'm not trying to make millions of dollars, just have a bit of pocket money for my time and effort in coding this app up, and to be able to afford some beer (6 pack of corona in Australia is $20 and a 700ml bottle of Jameson is $40 D:).

    If Gamesalad wants to talk to me, I'm open to it and can arrange a time to speak that is great for both of us.

    Regards,
    -Worm
  • wormilwormil Member Posts: 127
    Hrm, shameless self bump, for great justice D:
Sign In or Register to comment.