A Flash Developer Resource Site

Results 1 to 12 of 12

Thread: [Resolved] [Resolved] [Resolved] [Resolved] [Resolved] [Resolved] [Resolved] [Resolved] [Resolved] [

  1. #1
    Junior Member
    Join Date
    Oct 2001
    Posts
    5
    How Can I protect swf file from being disassemble by tools such as swfscanner ?

  2. #2
    Registered User
    Join Date
    Feb 2001
    Posts
    13,041
    Hi

    the sad truth: you cannot....
    You can make the job harder by using rubbish variable names, you could even use hand-coded flash assembler (which probably beats any detection algorithm but requires some effort in the first place), and you could use server interactions that vary over time
    BTW: there is no point in asking macromedia to add protection - the swf format has been made public, and this has given us many great tools like external effects packages, generators. There would be a point in asking the scnner etc manufacturers in honoring some protocol (e.g. requesting a password if one was set on the file)

    Musicman

  3. #3
    Junior Member
    Join Date
    Sep 2001
    Posts
    20
    Possibly the best protection is to make the swf harder to download.

    cheers
    khat

  4. #4
    Member
    Join Date
    Apr 2001
    Location
    AU
    Posts
    42
    It's a problem that has occured before (i cant remember the thread but it was something to do with someone's game getting huge high scores)

    i suggest examine the swf format specs, and you'll notice that there is a limited amount of info that is stored in the swf on export from flash. use this to your advantage, along with inserting your own code and creating ambiguous vars in the actionscript.

    Just remember, that if someone wants what's in the file, they'll get it.

  5. #5
    Senior Member
    Join Date
    Sep 2000
    Location
    Hyderabad, AP, INDIA
    Posts
    131

    Arrow THE MOST SECURE FLASH CODE EVER!!!

    Ok uys an girls..
    I just happen to have with me a certain CD, which arguably is the first CD that Ive seen that has non-breakable Flash content. Totally unpenetrable...period.
    Ok I dont know how this guy did it but this is the gist:
    The D's a MEdical Entrance Tutorial CDROm from the UK, called PLAB test something.
    Now the whole interface and everything is in Flash, and it sets up using 3rd party setup progs. The DATA is contained in a single file on the CD called..."some_garbage_letters.tmp".
    NOw I cudnt copy this file for all my worth to the hard drive. It just stops short after about 20%.

    And so you have to have the CD in the Drive and u cant break any code.
    ANYONE KNOW ABOUT THIS!!??
    HOWD HE do it!??


  6. #6
    ism BlinkOk's Avatar
    Join Date
    Aug 2001
    Location
    , location, location
    Posts
    5,002
    I've tried this and I can't get it to work. Mabey you can.
    Posted on http://www.actionscript.org
    Keep prying eyes away from your flash 5 code

    //this snippet of code is *very* handy, why?! because it stops Actionscript Viewer 2(the latest) from seeing your code
    //basically this will keep your code safe from prying-eyes
    //copy and paste the following line of code onto any frame in your movie that contains actionscript
    //that you want to hide from Actionscript Viewer 2, the code doesnt really make any sense and so
    //Actionscript Viewer gets confused, thanks to Demons from flashkit for this handy little trick:
    Code:
    void(a)<=b>"c"||0(!1 && !0);
    Hope this helps!
    BlinkOk

  7. #7
    Registered User
    Join Date
    Feb 2001
    Posts
    13,041
    Hi,

    people have created more or less ingenious ways of protecting software on cdrom, and probably every cdrom that was worth it got cracked sooner or later.
    I thought the initial question was about web content where you simply have to supply real swf to browser. If a standalone app is decrypting the content and piping it into a player, it is probably quite safe. On the other hand, if it relies on a bad-on-purpose cd to prevent copying, it might fail in someone's cdrom drive. In any case the protection makes the cd unavailable to anyone running a different OS.
    As for the ability of cracking: once you can replace the supplied flash player by one of your own, you can crack it. If you cannot, the cd might be bad on someone who has got a special purpose player modified with accessibility features...

    Musicman
    [Edited by Musicman on 01-31-2002 at 07:34 PM]

  8. #8
    aCtioNScRipTer
    Join Date
    Feb 2001
    Posts
    274
    BlinkOk:

    That code din work for me either

  9. #9
    ism BlinkOk's Avatar
    Join Date
    Aug 2001
    Location
    , location, location
    Posts
    5,002
    This is strange. I posted similar hack protection code in another thread and one guy said it didn't work but another guy said it did. I think this needs some more investigation;
    http://board.flashkit.com/board/show...hreadid=263113
    BlinkOk
    [Edited by BlinkOk on 02-07-2002 at 07:22 PM]

  10. #10
    aCtioNScRipTer
    Join Date
    Feb 2001
    Posts
    274
    I went thru tons of site yesterday to find out why it didn't work for me. Reason was because that code is useless for ASV ver 2.0. So I guess that guy who had it working is using ver 1.5...I'm not too sure but that is what I've read

  11. #11
    Junior Member
    Join Date
    Feb 2002
    Posts
    4
    I think a good way to protect your movie is to make it hard to download. The problem is, that if you open a .swf file in a texteditor such as notepad, you get the binary code plus the relative urls for the loadmovie action. So you have to (if possible) reference your loadmovie actions in a more complicated structure....
    Another idea is, if you have access to a database (for example mySQL) on your server, you can create a binary datafield where you put the binary code of the .swf in it (for example create a data-upload stream in php and store this stream in the database) , and reference it in a php-Script. I have not tested this solution, but i think this solution has the most effort, because the only reference to the binary code is a SQL-Query, the file physically is not stored on a server. If you try to mix these techniques maybe you get a result.....
    Please report successful results in the forum, i didn't test it myself.......

  12. #12
    Maya * ActionScript Addict DangerAhead's Avatar
    Join Date
    Jun 2000
    Location
    San Francisco
    Posts
    299

    EASY way to protect your code from Thieves

    My friend and her twin sister, made up "OP language" as kids to speak in code.

    {I feel like Nel}

    basically place an "op" after each consanant and leave vowels alone:

    my name, "Geordie" would be:

    gopeoropdopie

    gop
    e
    o
    rop
    dop
    i
    e

    This presents a good way to fix code so it becomes unreadable to CodeJerkies. this op language is virually unreadable, annoying, easy to pickup, and totally changes the coding atmosphere so any thieves have to pull their hair out to understand the code:

    Before OP language
    Code:
    function pageBack () {
        if (modIncrement <= 1) {
            if (htmlPage == 1) {
                trace (course[modIncrement][htmlPage]);
                thePageGet = course[modIncrement][htmlPage];
            } else if (htmlPage > 1) {
                htmlPage--;
                thePageGet = course[modIncrement][htmlPage];
            }
        } else if (modIncrement > 1) {
            if (htmlPage == 1) {
                modIncrement--;
                htmlPage = course[modIncrement].length - 1;
                thePageGet = course[modIncrement][htmlPage];
            } else if (htmlPage > 1) {
                htmlPage--;
                thePageGet = course[modIncrement][htmlPage];
            }
        }
        newPage = (((("../" + courseID) + "/module") + modIncrement) + "/") + thePageGet;
        getURL (newPage, "think-content");
        _root.backLightUp.play();
        seeDimension();
    }
    The Same Code in with OP-Language Applied:

    Code:
    function pageBack () {
        if (mopodopInopcopropemopenoptop <= 1) {
            if (hoptopmoplopPopagope == 1) {
                trace (copouropsope[mopodopInopcopropemopenoptop][hoptopmoplopPopagope]);
                tophopePopagopeGopetop = copouropsope[mopodopInopcopropemopenoptop][hoptopmoplopPopagope];
            } else if (hoptopmoplopPopagope > 1) {
                hoptopmoplopPopagope--;
                tophopePopagopeGopetop = copouropsope[mopodopInopcopropemopenoptop][hoptopmoplopPopagope];
            }
        } else if (mopodopInopcopropemopenoptop > 1) {
            if (hoptopmoplopPopagope == 1) {
                mopodopInopcopropemopenoptop--;
                hoptopmoplopPopagope = copouropsope[mopodopInopcopropemopenoptop].length - 1;
                tophopePopagopeGopetop = copouropsope[mopodopInopcopropemopenoptop][hoptopmoplopPopagope];
            } else if (hoptopmoplopPopagope > 1) {
                hoptopmoplopPopagope--;
                tophopePopagopeGopetop = copouropsope[mopodopInopcopropemopenoptop][hoptopmoplopPopagope];
            }
        }
        nopewopPopagope = (((("../" + copouropsopeIDop) + "/module") + mopodopInopcopropemopenoptop) + "/") + tophopePopagopeGopetop;
        getURL (nopewopPopagope, "think-content");
        _root.backLightUp.play();
        seeDimension();
    }
    All you really have to do after that is rename any textVariable fields according to OP-language rules. or you can make up your own language Fu<KeRupper so people can't steal your code.

    I just thought this would be an easy one and it makes the code unbearable to look at and it's simple

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center