In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

keim challenge lv.10

OK, now I can break it !
Get Adobe Flash player
by keim_at_Si 19 Mar 2013
  • Forked from imo_'s almost impossible challenge
  • Diff: 6
  • Related works: 2
  • Talk

    makc3d at 16 Mar 2013 00:20
    what if you just replace getValue bytecode?
    keim_at_Si at 16 Mar 2013 22:15
    Yes, I can imagine it is a solution if I can detect the address of ABC on memory. But now I have few knowledge about ABC and how it works. Currently, I use ordinary cheat techniques only.
    yonatan at 17 Mar 2013 05:56
    @makc3d: You know any good tools/libs for this sort of thing? I had to resort to hex-editing just the modulo byte and clicking 100 times, because replacing getValue bytecode was too hard.
    makc3d at 17 Mar 2013 14:50
    yogurt had that kind of tool, it was bugy as hell but worked correctly in 50% cases :) do not remember exact name
    makc3d at 17 Mar 2013 14:55
    I looked it up, it was yogda.com and it seems abandoned. You can still find binaries around, e.g. http://code.google.com/p/opengg-clean-player/downloads/detail?name=Yogda.1.0.564.zip&can=2&q=
    yonatan at 17 Mar 2013 23:23
    hmm, not exactly what i was hoping for, but thanks for looking it up.
    keim_at_Si at 19 Mar 2013 07:13
    Done ! http://twitpic.com/ccj8o0
    yonatan at 19 Mar 2013 13:59
    modfied swf + local http proxy, or something more hardcore?
    keim_at_Si at 19 Mar 2013 14:03
    No, It's only in browser, nothing special to do except for memory hacking.
    keim_at_Si at 19 Mar 2013 14:07
    And currently this is the most challengable one.
    makc3d at 19 Mar 2013 16:41
    modifying swf is kind of pointless, since you could just do .text = "100" and call it a day.
    yonatan at 19 Mar 2013 23:21
    >you could just do .text = "100" and call it a day. yeah, but where's the fun in that??
    keim_at_Si at 21 Mar 2013 07:04
    basics for how to play the sort of challenges. http://en.wikipedia.org/wiki/Cheating_in_video_games#Memory_editing_software

    Tags

    Embed
/**
 * Copyright keim_at_Si ( http://wonderfl.net/user/keim_at_Si )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/SkZ9
 */

// forked from imo_'s almost impossible challenge
// forked from imo_'s oimo challenge lv.5
// forked from imo_'s oimo challenge lv.4
// forked from imo_'s oimo challenge lv.3
// forked from imo_'s oimo challenge lv.2
// forked from imo_'s oimo challenge lv.1
package {
    import flash.events.MouseEvent;
    import flash.text.TextFormat;
    import flash.events.Event;
    import flash.text.TextField;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        private var hash:* = {};
        private var tf:TextField;
        
        public function FlashTest() {
            tf = new TextField();
            tf.defaultTextFormat = new TextFormat("monospaced", 24);
            tf.selectable = false;
            tf.x = 32;
            tf.y = 32;
            tf.width = 400;
            tf.height = 400;
            addChild(tf);
            hash["target"] = hash["xor"] = 0;
            addEventListener(Event.ENTER_FRAME, frame);
            stage.addEventListener(MouseEvent.MOUSE_DOWN, function(e:Event = null):void {
                setValue((getValue() + 1) % 10);
            });
        }
        
        private function frame(e:Event = null):void {
            tf.text = "Change this to 100 -> " + getValue();
            setValue(getValue());

        }
        
        private function setValue(value:int):void {
            hash["target"] = value ^ (hash["xor"] = uint(Math.random() * 0xFFFFFFFF));
        }
        
        private function getValue():int {
            return hash["target"] ^ hash["xor"];
        }

    }
}