六三enjoy 发表于 2020-3-6 12:20

flash做的CM

用flash as3做的CM,代码有干扰。
密码唯一且固定。



请不要用破解windows程序的思路来破解
提示:ffdec

由于文件过大发网盘:
https://pan.baidu.com/s/1KVSsQbiUWBoE8VUgYpUYWg
提取码:s7rh
失效请及时告诉我。

Juno_Jr 发表于 2020-3-6 20:41

package cm_fla
{
    import flash.display.*;
    import flash.text.*;

    dynamic public class MainTimeline extends MovieClip
    {
      public var O0000OO00O000000OOOO:TextField;
      public var ok:SimpleButton;
      public var O0000OO00O00O000OOOO:TextField;
      public var 吾爱破解:String;
      public var 吾爱:String;

      public function MainTimeline()
      {
            addFrameScript(0, this.frame1);
            return;
      }// end function

      public function i52pj(param1)
      {
            this.pojie(param1);
            return;
      }// end function

      public function pojie(param1)
      {
            if (this.O0000OO00O000000OOOO.text == this.吾爱破解 + uint(param1) + Number(param1))
            {
                gotoAndStop(4);
            }
            else
            {
                gotoAndStop(3);
            }
            return;
      }// end function

      function frame1()
      {
            stop();
            if (this.O0000OO00O00O000OOOO.text == "52pj")
            {
                gotoAndStop("yes");
            }
            this.吾爱破解 = "52pojie";
            this.吾爱 = "吾爱破解";
            this.ok.addEventListener("click", this.i52pj);
            return;
      }// end function

    }
}

小逸君 发表于 2020-3-6 21:26

//class MainTimeline
package cm_fla
{
    import flash.display.*;
    import flash.text.*;
   
    public dynamic class MainTimeline extends flash.display.MovieClip
    {
      public function MainTimeline()
      {
            super();
            addFrameScript(0, this.frame1);
            return;
      }

      public function i52pj(arg1:*):*
      {
            this.pojie(arg1);
            return;
      }

      public function pojie(arg1:*):*
      {
            if (this.O0000OO00O000000OOOO.text != this.吾爱破解 + uint(arg1) + Number(arg1))
            {
                gotoAndStop(3);
            }
            else
            {
                gotoAndStop(4);
            }
            return;
      }

      function frame1():*
      {
            stop();
            if (this.O0000OO00O00O000OOOO.text == "52pj")
            {
                gotoAndStop("yes");
            }
            this.吾爱破解 = "52pojie";
            this.吾爱 = "吾爱破解";
            this.ok.addEventListener("click", this.i52pj);
            return;
      }

      public var O0000OO00O000000OOOO:flash.text.TextField;

      public var ok:flash.display.SimpleButton;

      public var O0000OO00O00O000OOOO:flash.text.TextField;

      public var 吾爱破解:String;

      public var 吾爱:String;
    }
}

FleTime 发表于 2020-3-6 21:07

本帖最后由 FleTime 于 2020-3-6 21:08 编辑

来晚了一步。。。
先用 FlashChanger 把exe还原为swf,再用硕思闪客精灵就能看到源码了

六三enjoy 发表于 2020-3-6 21:21

FleTime 发表于 2020-3-6 21:07
来晚了一步。。。
先用 FlashChanger 把exe还原为swf,再用硕思闪客精灵就能看到源码了

不推荐用闪客精灵,我用ffdec可以更好的还原代码

FleTime 发表于 2020-3-6 21:29

六三enjoy 发表于 2020-3-6 21:21
不推荐用闪客精灵,我用ffdec可以更好的还原代码

主要是我刚刚接触Flash方面,看到网上有人推荐闪客精灵{:301_1008:}

小逸君 发表于 2020-3-6 21:33

我也找到源码了 ,所以答案是什么 。。 我来的时候还没人回复。怎么突然都把源码解出来了

monvvv 发表于 2020-3-6 21:34

本帖最后由 monvvv 于 2020-3-6 21:39 编辑

来晚一步,楼上都贴源码了,我来详细(扯淡)分析一下:
从this.ok.addEventListener("click",this.i52pj);发现关键在
public function pojie(吾爱:*) : *
      {
         if(this.O0000OO00O000000OOOO.text == this.吾爱破解 + uint(吾爱) + Number(吾爱))
         {
            gotoAndStop(4);
         }
         else
         {
            gotoAndStop(3);
         }
      }
通过翻API Ref能看到一个lisenter handler定义如下
function (event:MouseEvent):void
可见参数`吾爱`的类型是MouseEvent,显然是个无效的数。然后在API ref里能看到uint()和Number()在处理无效参数时会使用默认值,然后uint和Number的默认值分别是0和NaN。
最后as3内会在+时把其他类型自动转字符串,然后拼接得到答案
52pojie0NaN。
当然这因为我没法调试,可以调试应该一下就看出来了。
顺便贴几个链接
https://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e54.html
https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Number.html
https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/uint.html

六三enjoy 发表于 2020-3-6 23:16

monvvv 发表于 2020-3-6 21:34
来晚一步,楼上都贴源码了,我来详细(扯淡)分析一下:
从this.ok.addEve ...

回答正确,另外这个程序还有一个隐藏的东西,不可能通过正常手段进入,提示:帧

六三enjoy 发表于 2020-3-6 23:25

本帖最后由 六三enjoy 于 2020-3-6 23:27 编辑

FleTime 发表于 2020-3-6 21:29
主要是我刚刚接触Flash方面,看到网上有人推荐闪客精灵
ffdec开源免费跨平台,源代码:https://github.com/jindrapetrik/jpexs-decompiler
页: [1] 2
查看完整版本: flash做的CM