Hiding Actionscript code

Hello,
Apologies in advance if this question has been asked many
times before - I know virtually nothing about Flash or
Actionscript.
We're investigating the possiblity of distributing Flash
projectors with our application. We'd like to copy-protect the
projectors and we're looking using Actionscript to write some
copy-protection code.
Before we even start this, we need to know whether it's
possible to hide our Actionscript code - it looks like there are
tools available to enable someone to take a peak at our code (e.g.
Action Script
Viewer).
Is it possible to hide ActionScript code? Would we need to
use an obfuscator?
Many thanks.

there are two related, but different issues here. one is
hiding/encrypting/obscurring actionscript in a swf and the other is
stopping someone that has a legit copy of your software from
distributing it without your approval.
first, you can obscure your code and make it difficult for a
novice to unobscure without using a secure external file.
actionscript obsfucator is an example of one such (trivial)
obscuring program.
but it's very easy to "crack" (and that term is used very
loosely because the schemes are all trivial to unravel and probaby
don't deserve the term). and it's easy to automate the unobscuring
of such swf-obscurring schemes using a jsfl file.
in the end, it's quicker and easier to unobscure actionscript
that an author has run through a program like actionscript
obsfucator than it was for the actionscript's author to obscure.
and that's a pretty bad obscuring scheme. but it's still good
enough to block the majority of would-be code lifters.
now to answer your question, flash can load several file
types (like txt files, xml files, aso files) that may be relevent
in this discussion and several file types that i don't think are
relevent (jpg, mp3 and swf) files. it can also prompt the execution
of some programs.
however, files on a computer, no matter the file-type, are
not secured from an authorized user of that computer. a local file
can hide nothing that it contains from unrestricted users of that
system. though again, it may be difficult for a novice to inspect
some file types (like aso files).
further, this external file has to be loaded (or executed)
using actionscript in flash and this part of the flash actionscript
would have to be "unencrypted/not obscured" in order to prompt the
loading/excecution of the external file. so, anyone could "see"
what file is being used to load the "key". and therefore it's
location and that fact that it is "the key" cannot be hidden. and
that eliminates your security.
the user simply copies that "key" file along with your
projector file and can distribute that pair to anyone they like.
the user need not even unobscure or decrypt the remainder of your
actionscript and need understand nothing about your (possibly)
sophisticated encryption/obscurring scheme.
so, for your purposes that won't work. for someone that only
wants to protect their actionscript from being inspected it is
possible to encrypt the actionscript and prevent that from being
decrypted by all but the most sophisticated of decryption
specialists, IF they have, at least, one secure file (that would
contain the "key(s)").

Similar Messages

  • [svn:fx-trunk] 12077: Although Spark RichText does not support link formats , modifying compiled FXG to not generate ActionScript code that will cause compile time exceptions .

    Revision: 12077
    Revision: 12077
    Author:   [email protected]
    Date:     2009-11-20 18:16:32 -0800 (Fri, 20 Nov 2009)
    Log Message:
    Although Spark RichText does not support link formats, modifying compiled FXG to not generate ActionScript code that will cause compile time exceptions.
    Removing references to Flex Builder 3 in RPC.
    QE notes: N/A
    Doc notes: N/A
    Bugs:
    SDK-24305 - Link format property nodes cause errors on RichText in FXG 2.0
    SDK-24322 - A couple references to Flex Builder 3 in Flex 4 LangRef (and code comments)
    Reviewer: Deepa
    Tests run: checkintests
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-24305
        http://bugs.adobe.com/jira/browse/SDK-24322
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as
        flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java

  • Actionscript code can be seen in a search, but not seen in Actions Panel nor symbol

    I purchased a template which has flash menu buttons.  The current button url's go to index.html, index-2.html, index-3.html, and so on.  I want to change these.  In Flash, I searched for index-3.html and it finds it at the location:  Symbol 'Button2 copy 3' -> Layer 'Layer 4' -> Frame '1'   and the actionscript command is:  getURL("index-3.html");
    Everything is fine so far.  However, when I double-click the symbol and go to the location (or double-click the search result), the actionscript command cannot be found at all.  I tried pressing F9 to open the Actions Panel, and I see the button symbol but I don't see any actionscript commands associated with it.  It seems to be very unusual - the search picks up the actionscript command but it can't be seen in the symbol's location where it says it is nor can it be seen in the Actions Panel.  The script does work but it just cannot be seen!  Does anyone know how to see the actionscript code in the Actions Panel or in the button symbol?

    show a screenshot of movie explorer after searching for getURL("index-3.html")

  • Buttons and ActionScript Code

    Hi everyone just signed up to this forum today, really need help, would appreciate your help.
    Basically I have created 5 buttons on one single layer. I am now trying to link each button to a website, but to no success as of yet.
    I realised that maybe in order to make it easier for myself I need to put each button in its own layer and insert the following actionscript code I've inserted for one of my buttons:
    stop()
    home_btn.addEventListener(MouseEvent.CLICK, mouseClick);
    function mouseClick(event:MouseEvent):void
    var request = new URLRequest("http://www.sign-technologies.net/");
    navigateToURL(request,"_blank");
    This code links my first button "home_btn" to my site, which is still underconstruction. When I run it in flash it works, but when I click the button in the actual web browser it will not go to the webpage, so I'm stuck.
    Another question: For convience sake is there a way I can have all the buttons in one layer, but insert code that can seperate one button from the other? Anyone have that code?

    You can place all of your buttons in one layer and all of your code preferably in another layer.  What you will need to do is have differently named functions for each button.  You can not name them all "mouseClick"... I'll suggest you name the function in relation to the button, as in....
    home_btn.addEventListener(MouseEvent.CLICK, homeClick);
    function homeClick(event:MouseEvent):void
         var request = new URLRequest("http://www.sign-technologies.net/");
         navigateToURL(request,"_blank");
    As far as the file not working when testing in a browser, it should.  There is nothing wrong with the code.
    There are other ways of coding where you can have the same function shared by all the buttons, but that might be a better lesson for another day.

  • Retrieve the hided source code

    hi all.
           I have hided the source code of a program by appending the program to a internal table and inserting   '*@#@@[SAP]'  to the internal table at in dex one its working well. My task is to retrieve the hided source code of the program in the same name itself...

    Hi,
    It is not possible to make any changes; you have to delete and recreate the program from scratch.
    I hope you saved a backup copy of the source code, otherwise you could re-import the transport requests that contain your source code, a kind of versione restore.
    Regards,
    Andrea

  • Software for convert Filter Presets to ActionScript Code

    This software convert filter presets in Flash 8, CS3 and CS4
    to ActionScript code...
    Very Fast and Usseful...
    http://www.astrodreams.com/flashfilterpresets/convert_flash_filters_presets_to_actionscrip t117release.rar

    that's the easy way. just load the bitmap into the library
    and reference it. but my client needs the entire app to rely upon
    code only, no timeline or library references. so i need to recreate
    the line art of the bitmap of a grab icon into graphics api.
    wondering if there's an easy convert of a bitmap to graphics api
    actionscript code or do i have to just do it by hand which would be
    a pain.

  • Will app store approve an app to load external swf containing actionscript code in it?

    Will app store approve an app to load external swf containing actionscript code in it?

    Hi...It is not in the application bundle...it will be hosted on a server and from there it will be loaded in the application. I had created one sample application where it is loading a swf which is hosted on different server. This swf contained some actionscript code on its timeline. This app was working on ipad. I just wanted to know whether App Store will approve this.

  • Actionscript code

    When I build a movie in Flash, how do I switch to the
    Actionscript code? is it like switching in Dreamweaver?

    Hi,
    Press F9 to open the actions panel.
    Alan

  • Actionscript code in a swf dont run when impoterd in flex

    Hi,
    I have an actionscrip flex project.
    I embed a movieclip from a swf like this:
    [Embed(source="../../content/testmenu.swf",
    symbol="MenuOne")]
    public static var MenuOne:Class;
    The movieclip has a frame with this code:
    dispatchEvent( new Event( "InCompleted", true ) );
    stop();
    running in flash everything works properly but in flex the
    movieclip dont stop play and i dont get the event
    Any help on this?
    Thanks

    Go to Project -> Properties -> Flex Library Build Path -> Classes (Tab)
    Uncheck any of the actionscript files that are not actually classes, but rather an external import into a class (your MXML).
    Also, FYI, it is common practice to use lowercase for actionscript files that are includes, and not actual classes. Camel case file names should be reserved for class files..

  • Where is this actionscript code?

    Dear All,
    I am getting the message below which does make sense but I
    cannot find any actionscript on Scene 1, layer=Layer 1,
    frame=1:Line 2.
    I get the ststement on three different frames. None of them
    have actionscript. I believe the fla file was previously an older
    version (possibly 5) and now I am working with 2004 MX.
    **Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 2:
    Statement must appear within on/onClipEvent handler
    Thanks again. I am getting so confused over this one.
    Alastair MacFarlane

    I have found the code!
    Thanks for both your help.
    Alastair
    "evanton" <[email protected]> wrote in
    message
    news:fjtrfo$qdu$[email protected]..
    > Dear All,
    >
    > I am getting the message below which does make sense but
    I cannot find any
    > actionscript on Scene 1, layer=Layer 1, frame=1:Line 2.
    >
    > I get the ststement on three different frames. None of
    them have
    > actionscript.
    > I believe the fla file was previously an older version
    (possibly 5) and
    > now I
    > am working with 2004 MX.
    >
    > **Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 2:
    Statement must
    > appear
    > within on/onClipEvent handler
    > {
    >
    > Thanks again. I am getting so confused over this one.
    >
    > Alastair MacFarlane
    >

  • Hiding the code

    Hi All,
    Can anyone tell me how to hide the code of a report from the user? I know that if I goto the program's attributes and change its STATUS to SYSTEM PROGRAM, it cannot be debugged, but I have been told that tweaking the debugger will still allow me to debug the application.
    Please help,
    Regards,
    Madhur

    Hi,
    Pl find the sample program.
    Hiding ABAP Source code
    PROGRAM ZHIDE NO STANDARD PAGE HEADING.
    This program hides any ABAP's source code and protects it with a
    password in this source code.  So the first candidate to be hidden
    should be ZHIDE itself.
    After hiding, you can still run the abap (the load version is intact)
    but it cannot be displayed, edited, traced, transported or generated.
    If the ABAP is not hidden, the program hides it, if it is hidden, it
    unhides it.
    To execute this program, change the user name and password in this
    source code first.
    SELECTION-SCREEN BEGIN OF BLOCK BLOCK.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(8) PWD.
    SELECTION-SCREEN POSITION 35.
    PARAMETERS: PASSWORD(8) MODIF ID AAA.
    SELECTION-SCREEN END OF LINE.
    PARAMETERS: PROGRAM(8).
    SELECTION-SCREEN END OF BLOCK BLOCK.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-GROUP1 = 'AAA'.
          SCREEN-INVISIBLE = '1'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    INITIALIZATION.
      PWD = 'PASSWORD'.
    START-OF-SELECTION.
      TABLES: TRDIR.
    User name and passsword check
      IF SY-UNAME <> 'SAP' OR PASSWORD <> 'PASSWORD'.
        WRITE: / 'Wrong password'.
        EXIT.
      ENDIF.
    SAP owned?
      IF NOT PROGRAM CP 'Z' AND NOT PROGRAM CP 'Y'.
        WRITE: / 'Do not hide original SAP programs!'.
        EXIT.
      ENDIF.
    Exists?
      SELECT SINGLE * FROM TRDIR WHERE NAME = PROGRAM.
      IF SY-SUBRC <> 0.
        WRITE: / 'Program does not exists!'.
        EXIT.
      ENDIF.
    Does it have a current generated version?
      DATA: F1 TYPE D, F3 TYPE D.
      DATA: F2 TYPE T, F4 TYPE T.
      EXEC SQL.
      SELECT UDAT, UTIME, SDAT, STIME INTO :F1, :F2, :F3, :F4 FROM D010LINF
                           WHERE PROG = :PROGRAM
      ENDEXEC.
      IF F1 < F3 OR ( F1 = F3 AND F2 < F4 ).
        WRITE: / 'The program has no recent generated version!'.
        EXIT.
      ENDIF.
    Compose a new program name
      DATA: NEW_NAME(8), I TYPE I, J TYPE I.
      NEW_NAME = PROGRAM.
      DO 8 TIMES.
        I = SY-INDEX - 1.
        NEW_NAME+I(1) = '_'.
    Search for acceptable program name variations
        J = 0.
        SELECT * FROM TRDIR WHERE NAME LIKE NEW_NAME.
          J = J + 1.
        ENDSELECT.
        IF J = 1.
          EXIT.
        ENDIF.
        NEW_NAME = PROGRAM.
      ENDDO.
    Cannot generate appropriate program name
      IF J > 1.
        WRITE: / 'Cannot generate appropriate program name'.
        EXIT.
      ENDIF.
    Check if it is already in d010s (already hidden)
      DATA: F5(8).
      EXEC SQL.
        SELECT PROG INTO :F5 FROM D010S WHERE PROG = :NEW_NAME
      ENDEXEC.
      IF F5 IS INITIAL.
    There is no such hidden program, hide it
        EXEC SQL.
          UPDATE D010S SET PROG = :NEW_NAME WHERE PROG = :PROGRAM
        ENDEXEC.
      ELSE.
    There is already a hidden program there, unhide it
        EXEC SQL.
          UPDATE D010S SET PROG = :PROGRAM WHERE PROG = :NEW_NAME
        ENDEXEC.
      ENDIF.
    end of program

  • How to refactor ActionScript code into Utility or Helper Classes ?

    Hello
    My application is growing in size. Many of my components are now 1000+ lines of code, most of which is ActionScript functions.
    What is the best way to refactor this into classes? Are there any tutorials explaining something like this?
    I'd like to do something like "myComponent1Util" and "myComponent2Util" respectively, to handle common functions. I notice I have a lot of functions that could be refactored into smaller functional code.
    Anybody have any tips or advice before I journey down that road? It would be appreciated.
    Thanks!

    There is no general rule of thumb. Most probably your classes are overloaded
    with responsibilities. You can try to read Martin Fowler's refactoring as a
    starting point. Examples are in Java and C# but you'll get the big picture.
    C

  • Is the Actionscript code complete for navigation bar?

    Could someone help me out please.
    I have used flash in the head of my pages and have added
    navigation bar within that header
    I have attached code to the message so you are able to see
    the actionscript I have used to control
    said navigation. The problem is this does not seem to be
    working as I cannot navigate from one page to
    another please could someone enlighten me cheers
    My sites URL is as follows
    http://andysite.prohost4u.co.uk

    Still having the same problems cannot navigate through site
    properly I have changed upprecase SELF to lowercase
    self but when I click from one page eg homepage to about me
    that works but then I go from about me to web design
    I get an error message:
    Not Found
    The requested URL /about_me/web_design/index.html was not
    found on this server.
    Additionally, a 404 Not Found error was encountered while
    trying to use an ErrorDocument to handle the request.
    seems to me the URL changes as there is no
    /about_me/web_design/index.html
    any information would be much appreciated
    I have uploaded site to server if that will help explain
    http://www.andysite.prohost4u.co.uk

  • Need help in creating a view with Encryption for hiding the code used by the multiple users

    Hi,
    Can anyone help me out in creating view with encryption data to hide the stored procedure logic with other users.
    I have create a stored procedure with encryted view but while running this manually temporary views are getting created, therefore the problem is if there are 500 entries then 500 temp views will get created.
    Any solution to aviod creating temporary views, please refer my code below
    USE [etl_validation]
    GO
    /****** Object:  StoredProcedure [dbo].[Pr_DBAccess_mod]    Script Date: 05/23/2014 12:53:22 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[Pr_DBAccess_mod](@ETL_CONFIG_ID INT)
    AS
    BEGIN
    DECLARE @openquery NVARCHAR(MAX),
     @DATABASENAME NVARCHAR(100),
     @HIERNAME NVARCHAR(100),
     @TABLENAME NVARCHAR(100),
     @SERVERTYPE NVARCHAR(100),
     @SERVERNAME NVARCHAR(100),
     @USERNAME NVARCHAR(100),
     @PASSWORD NVARCHAR(100),
     @ETL_CONFIG_IDN NVARCHAR(100);
     SET @ETL_CONFIG_IDN=CAST(@ETL_CONFIG_ID AS NVARCHAR);
     SET @TABLENAME='Department';
     SET @SERVERTYPE='SQL';
     SET @SERVERNAME ='192.168.31.176';
     SET @DATABASENAME='AdventureWorks2008R2';
     SET @HIERNAME = 'HumanResources';
     IF @SERVERTYPE='SQL'
     BEGIN
    /*SET @openquery= 'SELECT * INTO ##TestTable
                     FROM OPENROWSET(''SQLNCLI'',''server=192.168.31.176;Trusted_Connection=yes;'','''+@query+''')'
    SET @openquery=  'CREATE VIEW '+@TABLENAME+@ETL_CONFIG_IDN+
                     ' WITH ENCRYPTION AS SELECT * FROM OPENROWSET(''SQLNCLI'',''SERVER='+@SERVERNAME+';TRUSTED_CONNECTION=YES;'',''SELECT * FROM '+@DATABASENAME+'.'+@HIERNAME+'.'+@TABLENAME+''')'
    SELECT @openquery
    END
    EXECUTE sp_executesql @openquery
    END

    Hi aa_rif,
    According to your description and code message, you execute the sp_executesql statement in your stored procedure, it indeed create many views with a tablename and ETL_CONFIG_ID named. If you need not to use these temporary views, you can delete them when
    it contains the tablename in one view name.  
    In addition, if you want to create view with encryption in SQL Server, you can use directly the ENCRYPTION option to encrypt the T-SQL of a view in create view commands, for more information, see:
    http://learnsqlserver.in/4/Create-View-With-Encryption.aspx. if not, you can descript more detail about requriements, so that more forum members can involve into the thread and help you
    out. 
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • Hiding JSP code during deploynment in tomcat5

    I have developed a JSP application using JSP pages,Servlets and JavaBeans and i would reaaly like to hide my JSP code.
    Since JSP pages have to be converted to Java Sources and then to classes, is there a way i can deploy only the class files sumped by my tomcat? Please assist because i am desperate with this solution

    Hi
    This thing can be done. Let me give u an example
    suppost i have a context named Test in webapps directory. it contains
    a jsp named hello.jsp.Now start Tomcat, access the hello.jsp file
    eg:
    http://localhost:8080/Test/hello.jsp
    Now it will compile the jsp and the servlet version of the jsp will be created in work\Catalina\localhost\Test\ . inside this directory the servlet of the corresponding JSP gets created with following package
    org.apache.jsp.hello_jsp.java
    inside org/apache/jsp directory u will find the hello_jsp.java and hello_jsp.class File.We will require only class file.Delete the .java file
    make a jar of org.apache.jsp.hello_jsp say test.jar
    Now copy test.jar to webapps/Test/web-inf/lib
    edit the web.xml like this
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
    <servlet>
         <servlet-name>HelloServlet</servlet-name>
         <servlet-class>org.apache.jsp.hello_jsp</servlet-class>     
    </servlet>
    <servlet-mapping>
         <servlet-name>HelloServlet</servlet-name>
         <url-pattern>/hello.jsp</url-pattern>
    </servlet-mapping>
    </web-app>now delete the hello.jsp start Tomcat and try acess the jsp
    Hope everything will work fine...
    regards
    Suvendu

Maybe you are looking for

  • G/L account does not exist in company code

    Hi, When posting a GR (movement type 101) via MIGO one of my users ran into above error message: G/L account 300000 does not exist in company code PFNA. I first checked the material valuation and found out that it was incorrect. After the material va

  • SP online 365 - Unable to render the data. If the problem persists, contact your web server administrator.

    Help needed urgently, i'm pulling my hair out on this one! Using SharePoint online (365) I am trying to create an external list to a SQL table. I go through the steps in SP designer and finally create the external list but when I go to the list I get

  • Server 2008 Cluster - OSX 10.5.5

    Hi I am creating a Windows Server 2008 HA filesystem cluster which has been setup and is working perfectly. I have a OSX 10.5.5 build laptop running and trying to access the shares on the cluster. It can successfully ping/see/connect to the cluster a

  • Error building dll

    I am getting the following error when I try to build the dll in VC++. "Linking...    Creating library Debug/winport.lib and object Debug/winport.exp LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:libra

  • Broken link? Solaris 10  8/11

    Everytime I try and download Solaris 10 8/11 I accept the agreement , the download then gives me a blank page every time Is the link broken (Sparc+x86)? http://www.oracle.com/technetwork/server-storage/solaris/downloads/index.html