How to edit kongregate games?
-migrated-
How to edit kongregate games? Posted on: 08/08/2010 1:26am
Quote Post
Hello everyone. I'm new but with a purpose. I came here looking for a way to unlock kongregate games. I can download most flash games using a variety of methods, but the problem is after i downloaded it (convert it to .EXE standalone). The game played fine except some function were locked and only playable on kongregate website.

Does anyone know how to unlock that functions? I have Sothink decomplier, but i have no idea what i am looking for in order to edit and tell the SWF to allow me to play the FULL version of the game with out any of those dumb locked features.

For example, I loves this game called Elona Shooter, but the game is missing a CLASS and you can only access that class on kongregate.com. I want to be able to play the full version with all the class offline using a standalone .EXE.

If you guys know the way, and don't mind sharing, please reply  (broken image removed)
Re: How to edit kongregate games? Posted on: 08/08/2010 1:37am
Quote Post
Idk if you had actually read this but...

Quote from: "KongregateHack"
Like HtK said on the last forum, don't be a jerk.

  • Spammers will be dealt with extreme prejudice.
  • Don't kick mother English in the teeth. Use full sentences and make an effort to spell properly. "Leet-speek" may get you booted.
  • Pick your username wisely. Inappropriate names will get your application deleted if you're still validating. If you're already registered you'll be getting a name change courtesy of the admins.
  • Don't use your Kongregate username on this board.
  • Don't sign up with another person's Kongregate username. A name like Mike is common enough you shouldn't worry, but registering the name Damijin is definitely not cool. We're here to hack, not get others in trouble.
  • Read this post before asking any questions.
  • Respect the staff. If a staff member warns you, take it seriously and do not respond aggressively. Breaking this rule can - and will most likely - lead to a one day ban.
  • The off-topic BBCode is now obligatory. Click here for information on how to use it.

Note: If you have been unrighteously warned or banned, feel free to PM an administrator. Do not PM the staff member who warned/banned you.

Hacking Rule Verification (taken from BTD4 thread):
Quote from: "KongregateHack"
Quote from: "Aerelyte"
ok well whats the verdict? Are we to allow "premium only" hacks that would, without hacks, cost money? Or are we going to stay away from those? Im willing to bet this will not be the last time we have this complication so... better make a decision now.
Hacks that enable the premium content without paying aren't allowed. Hacks that do the exact same thing as the premium content, however, are allowed.

Example of hack you are not allowed to post here:
Code: [Select]
playButton.onRelease = function(){
    if(getPremiumService(upgrades).damageUpgradeBought == true){
        damage = 5;
    }else{
        damage = 1;
    }
}
true => false

Example of hack you are allowed to post here:
Code: [Select]
function levelUp(){
    damage += 10;
}
10 => 10000

Read the quote by KongregateHack and Aerelyte. I think this also applies to your question.

In Short: I think you're not allowed to do that.. Someone correct me if it's allowed or not..

And really, why do u want to play offline. All you have to do is go on kongregate and play.. for FREE
Re: How to edit kongregate games? Posted on: 08/08/2010 1:39am
Quote Post
I'm sorry, I tried searching for information but couldn't find any. That's why i post for help.  :oops:

I know Kongregate is free, but i don't like to go online all the time. sometimes i'm away and want to play on my netbook, so playing offline with the standalone .exe works very well.

BTW, i don't think your post answer my question. Its not about the premium content or anything like that. Its just kongregate blocked certain functions like for example, you get 9 out of 10 weapons, unless YOU play on their website then you can have 10/10 weapons. I mean there must be a way to edit the SWF script or something to not do that. Right? i barely have any experience in this, so I'm asking for help. Kongregate games are free so why is there premium?
Re: How to edit kongregate games? Posted on: 08/08/2010 2:05am
Quote Post
Quote from: "Viviox"
I'm sorry, I tried searching for information but couldn't find any. That's why i post for help.  :oops:

I know Kongregate is free, but i don't like to go online all the time. sometimes i'm away and want to play on my netbook, so playing offline with the standalone .exe works very well.

BTW, i don't think your post answer my question. Its not about the premium content or anything like that. Its just kongregate blocked certain functions like for example, you get 9 out of 10 weapons, unless YOU play on their website then you can have 10/10 weapons. I mean there must be a way to edit the SWF script or something to not do that. Right? i barely have any experience in this, so I'm asking for help. Kongregate games are free so why is there premium?

Okay i'll try digging up some stuff if i could. I'm not 100% certain on finding any as I'm not as *pro* as phreneticus, derek, Zirak, or Chaoming.

Also, what games do u want me to enable these functions...
Re: How to edit kongregate games? Posted on: 08/08/2010 2:17am
Quote Post
I want Elona Shooter only. But if you find a method that works, you can tell me and i can learn how to do it for any other games later. Thanks  (broken image removed)
Re: How to edit kongregate games? Posted on: 08/08/2010 2:32am
Quote Post
Quote from: "Viviox"
I want Elona Shooter only. But if you find a method that works, you can tell me and i can learn how to do it for any other games later. Thanks  (broken image removed)

Okay, I'm already on it (broken image removed)
I Found the statement "Playable in the Kongregate Version. Clicking it will open the link." In SoThink SWF Decompiler and I think I'm on to something (broken image removed)

Okay I g2g and Sleep. After trying some time... Its a little harder than u think. I tried doing AoB's but it just doesn't work out >.> . As far as i could have gotten is getting probably the base of the AoB i think. Maybe Derek, Phreneticus, Zarik or Chaoming could help you. Although i'm gonna still try tomorrow.

Here's what i got.
14 4a 00 00 d2 d3 a0 24 03 ab 2a 12 13 00 00 29 60 8f 18 24 00 ab 2a 12 07 00 00 29 60 e2 25 24 00 ab 12 0d 00 00

Also the whole function is:
Code: [Select]
public function changeUnlock()
        {
            var _loc_1:Array = null;
            var _loc_2:int = 0;
            var _loc_3:int = 0;
            _loc_1 = ["1", "2"];
            if (unlocked)
            {
                _loc_2 = 0;
                unlocked = false;
                window2_mc.unlockButton.unlockText.text = "Next Page";
            }
            else
            {
                _loc_2 = 4;
                unlocked = true;
                window2_mc.unlockButton.unlockText.text = "Previous Page";
            }
            _loc_3 = 0;
            while (_loc_3 < 4)
            {
               
                _loc_1 = getClass(classList[_loc_2 + _loc_3]);
                if (idx.unlocked[_loc_3 + _loc_2] == true)
                {
                    if (_loc_2 + _loc_3 == 3 && (kongregate == 0 && armor == 0))
                    {
                        _loc_1 = ["Militia", "Playable in the Kongregate Version. Clicking it will open the link.", ""];
                    }
                    radio_mc[_loc_3].alpha = 1;
                    radio_mc[_loc_3].mouseEnabled = true;
                }
                else
                {
                    radio_mc[_loc_3].alpha = 0.5;
                    radio_mc[_loc_3].mouseEnabled = false;
                    _loc_1 = ["??????", "You need to win a medal to play this class.", ""];
                }
                radio_mc[_loc_3].dummy.mouseEnabled = false;
                radio_mc[_loc_3].txt.text = _loc_1[0];
                radio_mc[_loc_3].hintTxt = [_loc_1[0], _loc_1[1], "", "", ""];
                _loc_3++;
            }
            updateGene();
            return;
        }

and in Raw Data:
Code: [Select]
public function changeUnlock()
        {
//d0
_as3_getlocal <0>
//30
_as3_pushscope
//20
_as3_pushnull
//80 9a 0e
_as3_coerce Array
//d5
_as3_setlocal <1>
//24 00
_as3_pushbyte 0
//d6
_as3_setlocal <2>
//24 00
_as3_pushbyte 0
//d7
_as3_setlocal <3>
//2c 14
_as3_pushstring "1"
//2c 15
_as3_pushstring "2"
//56 02
_as3_newarray [array size:2]
//80 9a 0e
_as3_coerce Array
//d5
_as3_setlocal <1>
//60 f2 25
_as3_getlex unlocked
//12 1d 00 00
_as3_iffalse offset: 29
//24 00
_as3_pushbyte 0
//d6
_as3_setlocal <2>
//5e f2 25
_as3_findproperty unlocked
//27
_as3_pushfalse
//68 f2 25
_as3_initproperty unlocked
//60 f9 30
_as3_getlex window2_mc
//66 8e 26
_as3_getproperty unlockButton
//66 ad 24
_as3_getproperty unlockText
//2c fe 07
_as3_pushstring "Next Page"
//61 c1 21
_as3_setproperty text
//10 19 00 00
_as3_jump offset: 25
//24 04
_as3_pushbyte 4
//d6
_as3_setlocal <2>
//5e f2 25
_as3_findproperty unlocked
//26
_as3_pushtrue
//68 f2 25
_as3_initproperty unlocked
//60 f9 30
_as3_getlex window2_mc
//66 8e 26
_as3_getproperty unlockButton
//66 ad 24
_as3_getproperty unlockText
//2c c4 08
_as3_pushstring "Previous Page"
//61 c1 21
_as3_setproperty text
//24 00
_as3_pushbyte 0
//d7
_as3_setlocal <3>
//10 d6 00 00
_as3_jump offset: 214
//09
_as3_label
//5d d6 24
_as3_findpropstrict getClass
//60 d0 2c
_as3_getlex classList
//d2
_as3_getlocal <2>
//d3
_as3_getlocal <3>
//a0
_as3_add
//66 86 35
_as3_getproperty {}
//46 d6 24 01
_as3_callproperty getClass(param count:1)
//80 9a 0e
_as3_coerce Array
//d5
_as3_setlocal <1>
//60 f0 1e
_as3_getlex idx
//66 f2 25
_as3_getproperty unlocked
//d3
_as3_getlocal <3>
//d2
_as3_getlocal <2>
//a0
_as3_add
//66 86 35
_as3_getproperty {}
//26
_as3_pushtrue
//14 4a 00 00
_as3_ifne offset: 74
//d2
_as3_getlocal <2>
//d3
_as3_getlocal <3>
//a0
_as3_add
//24 03
_as3_pushbyte 3
//ab
_as3_equals
//2a
_as3_dup
//12 13 00 00
_as3_iffalse offset: 19
//29
_as3_pop
//60 8f 18
_as3_getlex kongregate
//24 00
_as3_pushbyte 0
//ab
_as3_equals
//2a
_as3_dup
//12 07 00 00
_as3_iffalse offset: 7
//29
_as3_pop
//60 e2 25
_as3_getlex armor
//24 00
_as3_pushbyte 0
//ab
_as3_equals
//12 0d 00 00
_as3_iffalse offset: 13
//2c c6 07
_as3_pushstring "Militia"
//2c 2f
_as3_pushstring "Playable in the Kongregate Version. Clicking it will open the link."
//2c 01
_as3_pushstring ""
//56 03
_as3_newarray [array size:3]
//80 9a 0e
_as3_coerce Array
//d5
_as3_setlocal <1>
//60 ab 1c
_as3_getlex radio_mc
//d3
_as3_getlocal <3>
//66 86 35
_as3_getproperty {}
//24 01
_as3_pushbyte 1
//61 e0 18
_as3_setproperty alpha
//60 ab 1c
_as3_getlex radio_mc
//d3
_as3_getlocal <3>
//66 86 35
_as3_getproperty {}
//26
_as3_pushtrue
//61 bb 18
_as3_setproperty mouseEnabled
//10 25 00 00
_as3_jump offset: 37
//60 ab 1c
_as3_getlex radio_mc
//d3
_as3_getlocal <3>
//66 86 35
_as3_getproperty {}
//2f 41
_as3_pushdouble 0.5
//61 e0 18
_as3_setproperty alpha
//60 ab 1c
_as3_getlex radio_mc
//d3
_as3_getlocal <3>
//66 86 35
_as3_getproperty {}
//27
_as3_pushfalse
//61 bb 18
_as3_setproperty mouseEnabled
//2c 9b 03
_as3_pushstring "??????"
//2c e5 0b
_as3_pushstring "You need to win a medal to play this class."
//2c 01
_as3_pushstring ""
//56 03
_as3_newarray [array size:3]
//80 9a 0e
_as3_coerce Array
//d5
_as3_setlocal <1>
//60 ab 1c
_as3_getlex radio_mc
//d3
_as3_getlocal <3>
//66 86 35
_as3_getproperty {}
//66 fc 19
_as3_getproperty dummy
//27
_as3_pushfalse
//61 bb 18
_as3_setproperty mouseEnabled
//60 ab 1c
_as3_getlex radio_mc
//d3
_as3_getlocal <3>
//66 86 35
_as3_getproperty {}
//66 ff 22
_as3_getproperty txt
//d1
_as3_getlocal <1>
//24 00
_as3_pushbyte 0
//66 86 35
_as3_getproperty {}
//61 c1 21
_as3_setproperty text
//60 ab 1c
_as3_getlex radio_mc
//d3
_as3_getlocal <3>
//66 86 35
_as3_getproperty {}
//d1
_as3_getlocal <1>
//24 00
_as3_pushbyte 0
//66 86 35
_as3_getproperty {}
//d1
_as3_getlocal <1>
//24 01
_as3_pushbyte 1
//66 86 35
_as3_getproperty {}
//2c 01
_as3_pushstring ""
//2c 01
_as3_pushstring ""
//2c 01
_as3_pushstring ""
//56 05
_as3_newarray [array size:5]
//61 8e 2b
_as3_setproperty hintTxt
//c2 03
_as3_inclocal_i <3>
//d3
_as3_getlocal <3>
//24 04
_as3_pushbyte 4
//15 23 ff ff
_as3_iflt offset: -221
//5d bc 1b
_as3_findpropstrict updateGene
//4f bc 1b 00
_as3_callpropvoid updateGene(param count:0)
//47
_as3_returnvoid
        }

So yeah. i tried to get the AoB's for this:  if (_loc_2 + _loc_3 == 3 && (kongregate == 0 && armor == 0))
Re: How to edit kongregate games? Posted on: 08/08/2010 2:56am
Quote Post
Thanks. Hopefully you can figure out how to unlock Kongregate games. As there's no guide for it so far (been looking all over google. Have a good sleep.   (broken image removed)

BTW, which version of Elona Shooter are you using? I'm uisng the same one downloaded from Kongregate.com (its the newest version of the game). I noticed your code is a bit different from mine.
Re: How to edit kongregate games? Posted on: 08/08/2010 6:39am
Quote Post
System Bot
Quote from: "Viviox"
For example, I loves this game called Elona Shooter, but the game is missing a CLASS and you can only access that class on kongregate.com. I want to be able to play the full version with all the class offline using a standalone .EXE.
Is it possible to use all features on the original version? (no premium things)

@zero57 You need only these lines:
Code: [Select]
//5e f2 25
_as3_findproperty unlocked
//27
_as3_pushfalse
//68 f2 25
_as3_initproperty unlocked

Final AoB:
5e f2 25 27 68 f2 25 =>
5e f2 25 26 68 f2 25

Use HxD to replace the first AoB with the second. If you get an error, that it can't find it, decompress the file first with this tools.

This post was imported from an account that no longer exists!
Previous Name: phreneticus
Re: How to edit kongregate games? Posted on: 08/08/2010 2:40pm
Quote Post
Quote from: "phreneticus"
Quote from: "Viviox"
For example, I loves this game called Elona Shooter, but the game is missing a CLASS and you can only access that class on kongregate.com. I want to be able to play the full version with all the class offline using a standalone .EXE.
Is it possible to use all features on the original version? (no premium things)

@zero57 You need only these lines:
Code: [Select]
//5e f2 25
_as3_findproperty unlocked
//27
_as3_pushfalse
//68 f2 25
_as3_initproperty unlocked

Final AoB:
5e f2 25 27 68 f2 25 =>
5e f2 25 26 68 f2 25

Use HxD to replace the first AoB with the second. If you get an error, that it can't find it, decompress the file first with this tools.

Ahh, see? Look how smart phreneticus is. instead of 27 (false) you change it into 26 (true).
Re: How to edit kongregate games? Posted on: 08/08/2010 2:40pm
Quote Post
System Bot
Quote from: "zero57"
instead of 27 (false) you change it into 26 (true).
That was obvious, wasn't it?

@Topic I have the same issue. zero57's code looks different than mine. I'll find the AoB for the "real" version.

Edit: Done.

5e f1 29 27 68 f1 29 =>
5e f1 29 26 68 f1 29

This post was imported from an account that no longer exists!
Previous Name: phreneticus
Re: How to edit kongregate games? Posted on: 08/08/2010 2:50pm
Quote Post
Ah Sorry, idk what happened to my game but, here it is, the original one. (Thanks to phreneticus for pointing out the correct ones to pick)

Disable Kongregate Militia Class Lockage

5e f1 29 27 68 f1 29 =>
5e f1 29 26 68 f1 29

Code: [Select]
//5e f1 29
_as3_findproperty unlocked
//27
_as3_pushfalse
//68 f1 29
_as3_initproperty unlocked

^^^^
used that to change it like phreneticus said (broken image removed)

HOLY FK NINJA'D! Okay whatever gonna test it out anyways.

EDIT: +Karma phreneticus for proness Vivoix instead of me.
EDIT2: Well, the codes work (broken image removed) Just change all of the addresses and you can play Militia. (broken image removed)
Re: How to edit kongregate games? Posted on: 08/08/2010 8:58pm
Quote Post
Awesoness Guys!!!! I'll work on it right now. Thanks alot ^_^. BTW, does this code identical to all other locked kongregate games? or do you have to find new codes for each games?

OK, my games has different number than you guys. But i was able to find the script line and edit with Hex editor.

5e de 29 27 68 de 29 ==> 5e de 29 26 28 de 29

It works, but i found another identical lines just beneath the line i edit. Don't know what that is so i'll play around with the hex see what does it do. Thanks guys.
Re: How to edit kongregate games? Posted on: 08/08/2010 9:08pm
Quote Post
System Bot
Quote from: "Viviox"
BTW, does this code identical to all other locked kongregate games? or do you have to find new codes for each games?
You have to find new codes for every game. Some games are protected, some guys don't have this function at all, some games have a more complicated one. It's very different.

This post was imported from an account that no longer exists!
Previous Name: phreneticus