热搜词
发表于 2021-9-8 22:37:58 | 显示全部楼层 |阅读模式
江苏省中小学免费语音教材光盘版(七年级至九年级上册)光盘镜像文件拷贝到硬盘后,双击根目录下的START.EXE程序文件,弹出如下提示:
请在光驱或正规U盘中运行!
如果使用对应 flash player 11 播放器(10或9等老版本不支持),播放时会闪一下,然后退出。

请在光驱或正规U盘中运行.png

解决方法:
1.使用Flash反编译工具 Flash Decompiler Trillix  打开start.swf文件,然后再转换为fla源码文件。
flash decompiler trillix.png

flash decompiler trillix 02.png

2.使用 Adobe Flash CS6 编辑start.fla源文件,同时打开源文件根目录下的\start.swf_as\com\kingsunsoft\pep\localdata\LocalValidate.as 脚本语言(ActionScript 3.0)。
代码如下:

package com.kingsunsoft.pep.localdata
{
    import flash.external.*;
    import flash.net.*;
    import flash.system.*;

    public class LocalValidate extends Object
    {
        public function LocalValidate()
        {
            super();
            return;
        }

        public static function readFile(arg1:String):String
        {
            var loc1:*=null;
            var loc2:*=null;
            var loc3:*=null;
            var loc4:*=null;
            return loc4 = ExternalInterface.call("readFile", arg1);
        }

        public static function writeFile(arg1:String, arg2:String):int
        {
            var loc1:*=null;
            var loc2:*=null;
            var loc3:*=null;
            var loc4:*=null;
            return int(ExternalInterface.call("writeFile", arg1, "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + arg2));
        }

        public static function checkRegeist():Boolean
        {
            var loc1:*=ExternalInterface.call("isreactivated");
            if (loc1 == "true")
            {
                return true;
            }
            return false;
        }

        public static function ValidateKingsunSwf():Boolean
        {
            var valResultStr:String;
            var validateRestList:Array;

            var loc1:*;
            validateRestList = null;
            valResultStr = "120||0";
            if (lessonIdStr.length == 0)
            {
                lessonIdStr = "abc";
            }
            try
            {
                valResultStr = ExternalInterface.call("validatelesson", lessonIdStr);
                if (valResultStr == "close|1")
                {
                    fscommand("quit");
                    loc2 = false;
                }
            }
            catch (e:Error)
            {
                valResultStr = "78045||0";
                var loc3:*=false;
            }
            finally
            {
                if (!(valResultStr == null) && valResultStr.length > 6)
                {
                    validateRestList = new Array();
                    validateRestList = valResultStr.split("||");
                    if (String(validateRestList[0]).length > 3)
                    {
                        if (String(validateRestList[0]).substr(2, 1) == "1")
                        {
                            var loc4:*=true;
                            3;
                            return loc4;
                        }
                        fscommand("quit");
                        loc4 = false;
                        4;
                        return loc4;
                    }
                    loc4 = false;
                    5;
                    return loc4;
                }
                loc4 = false;
                6;
                return loc4;
            }
        }

        public static function ValidateKingsunTrial():int
        {
            var valResultStr:String;
            var validateRestList:Array;

            var loc1:*;
            validateRestList = null;
            valResultStr = "120||0";
            if (lessonIdStr.length == 0)
            {
                lessonIdStr = "abc";
            }
            try
            {
                valResultStr = ExternalInterface.call("validatelesson", lessonIdStr);
            }
            catch (e:Error)
            {
                valResultStr = "78045||0";
                var loc3:*=0;
            }
            finally
            {
                if (!(valResultStr == null) && valResultStr.length > 6)
                {
                    validateRestList = new Array();
                    validateRestList = valResultStr.split("||");
                    if (String(validateRestList[0]).length > 3)
                    {
                        if (String(validateRestList[0]).substr(2, 1) == "1")
                        {
                            if (String(validateRestList[0]).substr(4, 1) == "8")
                            {
                                var loc4:*=8;
                                2;
                                return loc4;
                            }
                            loc4 = 4;
                            3;
                            return loc4;
                        }
                        fscommand("quit");
                        loc4 = 0;
                        4;
                        return loc4;
                    }
                    loc4 = 0;
                    5;
                    return loc4;
                }
                loc4 = 0;
                6;
                return loc4;
            }
        }


        {
            lessonIdStr = "";
        }

        public static var lessonIdStr:String="";
    }
}

搜索如下代码并替换:

        public static function checkRegeist():Boolean
        {
            var loc1:*=ExternalInterface.call("isreactivated");
            if (loc1 == "true")
            {
                return true;
            }
            return false;
        }

        public static function ValidateKingsunSwf():Boolean
        {
            var valResultStr:String;
            var validateRestList:Array;

            var loc1:*;
            validateRestList = null;
            valResultStr = "120||0";
            if (lessonIdStr.length == 0)
            {
                lessonIdStr = "abc";
            }
            try
            {
                valResultStr = ExternalInterface.call("validatelesson", lessonIdStr);
                if (valResultStr == "close|1")
                {
                    fscommand("quit");
                    loc2 = false;
                }
            }
            catch (e:Error)
            {
                valResultStr = "78045||0";
                var loc3:*=false;
            }
            finally
            {
                if (!(valResultStr == null) && valResultStr.length > 6)
                {
                    validateRestList = new Array();
                    validateRestList = valResultStr.split("||");
                    if (String(validateRestList[0]).length > 3)
                    {
                        if (String(validateRestList[0]).substr(2, 1) == "1")
                        {
                            var loc4:*=true;
                            3;
                            return loc4;
                        }
                        fscommand("quit");
                        loc4 = false;
                        4;
                        return loc4;
                    }
                    loc4 = false;
                    5;
                    return loc4;
                }
                loc4 = false;
                6;
                return loc4;
            }
        }

把以上代码替换为如下代码:
        public static function ValidateKingsunSwf():Boolean
        {
            var valResultStr:String;
            var validateRestList:Array;

            var loc1:*;
            validateRestList = null;
            return true;
        }


3.保存修改,然后发布为exe放映格式文件。

flash cs6 01.png

flash cs6 02.png

flash cs6 03.png

修改过的start.swf_as\com\kingsunsoft\pep\localdata\LocalValidate.as 代码文件:
LocalValidate_as.txt (3.08 KB, 下载次数: 114)

全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-21 17:06 , Processed in 0.177035 second(s), 25 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team