[REQUEST] Backyard Monsters
-migrated-
[REQUEST] Backyard Monsters Posted on: 06/30/2011 4:24pm
Quote Post
I know there's threads, but they're all idiots to be honest.

I'm looking for a tutorial on how to find particular things within the SWF file, after ripping it and opening within SWF Decomp.

Either that, or someone who has already done so, and can post me some AoBs. (Or mail them if you don't want them public)

I'm looking for things like instant build, instant upgrades, increased resources etc.


And if possible, god mode.
Re: [REQUEST] Backyard Monsters Posted on: 06/30/2011 11:34pm
Quote Post
I'm actually more interested in how to get the swf intact, whenever I get the swf, its always in 5 parts, and due some reasons, part 3 is always broken... (where the action is described....)
Re: [REQUEST] Backyard Monsters Posted on: 07/03/2011 2:56pm
Quote Post
swfmdump
Grabs it all for me.

And upon loading it into Sothink, there's 480+ actions there.

viewtopic.php?f=28&t=1354&hilit=swfmdump
Re: [REQUEST] Backyard Monsters Posted on: 07/04/2011 4:41pm
Quote Post
Code: [Select]
?package
{
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;

    public class BMUSHROOM extends BFOUNDATION
    {
        public var _mushroom:DisplayObject;
        public var _mushroomFrame:int;

        public function BMUSHROOM()
        {
            return;
        }// end function

        override public function SetProps()
        {
            super.SetProps();
            return;
        }// end function

        override public function PlaceB()
        {
            ;
            ((null >= this in null) - 1).PlaceB();
            var _loc_1:* = _mc.addChild(new doodad_mushroom_mc());
            _loc_1.mc.gotoAndStop(this._mushroomFrame);
            _loc_1.mouseEnabled = false;
            ;
            _loc_1.mouseChildren = false;
            var _loc_2:* = _mcBase.addChild(new doodad_mushroom_shadow());
            MovieClip(_loc_2).gotoAndStop(this._mushroomFrame);
            ;
            default xml namespace = ~(null as !null - 1[_loc_1]) + 1;
            _loc_2.blendMode = "multiply";
            _origin = new Point(x, y);
            return;
        }// end function

        override public function Setup(param1:Object)
        {
            ;
            null._mushroomFrame = param1.frame;
            super.Setup(param1);
            _hp.Set(_hpMax.Get());
            return;
        }// end function

        override public function Export()
        {
            ;
            var _loc_1:* = (null * (null as null + (~this + 1))).Export();
            _loc_1.frame = this._mushroomFrame;
            return _loc_1;
        }// end function

        override public function Description()
        {
            return;
        }// end function

        override public function HasWorker()
        {
            ;
            default xml namespace = null >> (null ^ _shake);
            if (null[null in null] > 60 && BASE._pendingPurchase.length == 0)
            {
                _mc.x = _origin.x;
                _mc.y = _origin.y;
                _mcBase.x = _origin.x;
                _mcBase.y = _origin.y;
                MUSHROOMS.Pick(this);
            }
            else if (_shake % 2 == 0)
            {
                ;
                with (-this)
                {
                    null.x = null - _mc / (_origin.x > 2) + Math.random() * 4;
                    _mc.y = _origin.y - 2 + Math.random() * 4;
                    _mcBase.x = (_origin.x - 1) + Math.random() * 2;
                    _mcBase.y = (_origin.y - 1) + Math.random() * 2;
                }
                ;
                with (undefined)
                {
                    var _loc_1:* = [-];
                    var _loc_2:* = null._shake + 1;
                    _loc_1._shake = _loc_2;
                    return;
        }// end function

        override public function Click(event:MouseEvent = null)
        {
            ;
            event = TUTORIAL;
            if (new activation._stage >= 200 && !_picking)
            {
                super.Click(event);
            }
            return;
        }// end function

        override public function Render(param1:String = "")
        {
            return;
        }// end function

        public function SoundGood()
        {
            return;
        }// end function

        public function SoundBad()
        {
            return;
        }// end function

    }
}

That's the code they use for the mushroom, any pointers? Thinking of some kind of mushroom spawn time hack.
Re: [REQUEST] Backyard Monsters Posted on: 07/10/2011 6:30am
Quote Post
Quote from: "sutoko"
That's the code they use for the mushroom, any pointers? Thinking of some kind of mushroom spawn time hack.

Mushroom spawning I believe is done server-side. That code just puts them on the map. I only checked the Kongregate version, and it might be different on Facebook, but you'll want to look at the mushrooms package instead. You may find that some calculations are done client-side.

Look in this function, for example:
Code: [Select]
       public static function Pick(param1:BFOUNDATION) : Boolean
        {
            ;
            _loc_4--;
            _loc_9++;
            var _loc_4:* = null << _loc_2;
            var _loc_5:int = 0;
            var _loc_6:int = 0;
            var _loc_7:* = undefined;
            var _loc_8:int = 0;
            var _loc_2:* = param1._id;
            var _loc_3:String = "";
            if (BASE._pendingPurchase.length > 0)
            {
                return false;
            }
            if (param1.RecycleC())
            {
                _loc_4 = new Rndm(int(param1.x * param1.y));
                _loc_5 = 0;
                _loc_6 = 0;
                var _loc_9:* = QUESTS._global;
                var _loc_10:* = QUESTS._global.mushroomspicked + 1;
                _loc_9.mushroomspicked = _loc_10;
                if (int(_loc_4.random() * 4) == 0)
                {
                    var _loc_9:* = QUESTS._global;
                    var _loc_10:* = QUESTS._global.goldmushroomspicked + 1;
                    _loc_9.goldmushroomspicked = _loc_10;
                    _loc_5 = Math.random() * 3 + 1;
                    if (_loc_5 == 3)
                    {
                        _loc_5 = 1;
                    }
                    ;
                    _loc_8++;
                    _loc_9--;
                    _loc_9++;
                    _loc_6++;
                    null.Purchase(BASE, "MUSHROOM" + _loc_5[-1], "MUSHROOMS");
                    _loc_6 = 3;
                    if (_loc_5 == 2)
                    {
                        _loc_6 = 8;
                    }
                    _loc_3 = KEYS.Get("pop_mushroom_msg1", {v1:_loc_6});
                    _loc_7 = new popup_mushroomshiny();
                    _loc_7.tTitle.htmlText = "<b>" + KEYS.Get("pop_goldenmushroom_title") + "</b>";
                    _loc_7.tMessage.htmlText = "You've picked a golden mushroom worth " + _loc_6 + " Shiny. <b>Mushrooms grow back every day.</b>";
                    POPUPS.Push(_loc_7, null, null, "chaching", "goldmushroom.png");
                }
                else
                {
                    _loc_8 = int(Math.random() * 3);
                    if (_loc_8 == 0)
                    {
                        _loc_3 = KEYS.Get("pop_mushroom_msg2");
                    }
                    else if (_loc_8 == 1)
                    {
                        _loc_3 = KEYS.Get("pop_mushroom_msg3");
                    }
                    else if (_loc_8 == 2)
                    {
                        _loc_3 = KEYS.Get("pop_mushroom_msg4");
                    }
                    BASE.Save();
                }
                LOGGER.Stat([34, _loc_6]);
                QUESTS.Check();
                ;
                _loc_4++;
                _loc_3--;
                _loc_6--;
                _loc_9--;
                null.Say(null is WORKERS * _loc_3, QUEUE.Remove("mushroom" + _loc_2, true), 3000);
            }
            return true;
        }// end function
Re: [REQUEST] Backyard Monsters Posted on: 07/10/2011 3:32pm
Quote Post
It's not much, but this one works.

[aob:px1c0m08]24 04 a2 46 03 01 24 00
24 00 a2 46 03 01 24 00[/aob:px1c0m08]

Mushrooms are always golden.
Re: [REQUEST] Backyard Monsters Posted on: 07/10/2011 7:52pm
Quote Post
Damn interwebber, sweet job brah, very sweet job, that code works like a charm.  I found a few other codes that work but there are steps that need to be taken and the changing and disassemble of the memory for them to work right. The main code that is really needed is just instant resources. Also the codes I am talking about too are only and mainly for the Kong version of this game, the hell with the facebook version.

Here are codes that I tested on the Kong version that work or are still working or are currently work:

Instant resources:

INSTRUCTIONS:
83 C4 10 F3 0F 7E 8D E0 FE FF FF disass...
change mov [ebp-00000114],eax to mov [ebp+00000114],eax
change movq xmm1,[ebp-00000120] to movq xmm1,[ebp+00000120]
change add esp,10 to add esp,50
whait to OPS MESSAGE and click down on you accaunt icon home
than whait for another OPS message and click again on you accaunt and fast change speedhack to 0.1 (EDIT: CHANGE TO 0.05 for more time to make resources FULL)
your resources are ful and click FAST bank all MORE TIMES but no longer to get another OPS message and then fast back add esp,50 to add esp,10

or


First, search 83 C4 10 F3 0F 7E 8D E0 FE FF FF and dissasamble
Second, change add esp,10 to add esp,50
Third, close the box and tick enable speed hack, change the speed in the box from 1.0 to 0.05 but don't click apply
Fourth, go back to your backyard monsters wait for the oops message and click down on you account icon home.
5, when the screen says loading fast click apply( for the speed hack) then click on every harvester.
6, find a harvester ( there can be more than 1) that has 2 million or any random high number.
7, keep clicking bank until nothing. U can find more harvesters which has crazy high numbers but u are taking a risk because the oops message can pop up any time and the resources u banked will NOT get saved or u can go back to cheat engine and dissasamble the address again and change add esp,50 to add esp,10 and change speed to 1.0
8,Go back to bym an u will see all your harvesters full, again. click bank all again.
9, the oops message won`t appear again. U have to refresh the page if u want to do this hack again


(both code credits go to URBAN DAMAGE)


Instant Build

74 05 8B 45 08 EB 1D 8B change je to jg

(credit goes to redeyes)

Instant Monsters

75 15 8B 83 84 01 00 00 - Change "JNE" to "JB"

(credit goes to redeyes)

Instant Repair:
(Wait for instructions)
Code:
89 43 58 6A
Or
89 43 50 6a 03

First of I take no credit for finding any of these codes, someone else already created them and found them all for the face book version I supposed but I tested to see if they are working for the Kong version and all of them currently still are.

In order to get the codes to work after you have set the plug-in container and changed to array of bytes, make sure you also have "Also scan-read for memory
Re: [REQUEST] Backyard Monsters Posted on: 07/21/2011 10:39pm
Quote Post
How about Instant Upgrade? ... That would be cool. Atm if you apply the building technique for the upgrades the game goes ''oops'' (broken image removed)
Re: [REQUEST] Backyard Monsters Posted on: 11/17/2011 9:10am
Quote Post
30 wave done in 2 days (broken image removed)
Re: [REQUEST] Backyard Monsters Posted on: 11/18/2011 11:30am
Quote Post
I wish there was any AoB for this game :<
The golden mushrooms one does not work anymore, ftl