Decompile / reverse engineer JWS applications?

If a program is deployed as a JWS application does that allow a user to decompile / reverse engineer the application code that is stored on the user's computer (assuming ineffective obfuscation)?
If that is true then is it not better to continue to deploy the program as an applet so that the user can not access the applet code?
(I apologise if this is a trivial question but I couldn't find this issue being addressed in any of the JWS hype)
Cheers

If a program is deployed as a JWS application does
that allow a user to decompile / reverse engineer the
application code that is stored on the user's computer
(assuming ineffective obfuscation)?Yes, of course.
If that is true then is it not better to continue to
deploy the program as an applet so that the user can
not access the applet code?No, that's a false assumption. If the class bytes are accessible via a web browser (how else can the applet work?) then they can be saved to the local machine and reverse-engineered.
If you want to increase the difficulty of reverse-engineering you should use an obfuscator. Just make sure it's a good one that produces class bytes that pass the verifier.

Similar Messages

  • Reverse engineer Toplink mapping to a ERM diagram

    Hi,
    We have a Toplink mapping for our application, the problem is that in the database no foreign keys relationship are defined, thus the relations
    are only in our Toplink model and not in our database. Id like to create a ERM model with for instance the new "Oracle SQL Developer Data Modeler".
    Is there a way do reverse engineer a Toplink model to a ERM diagram?
    Regards Jonas.

    Hi Jonas,
    unfortunately there is no support for Toplink.
    Regards,
    Philip

  • Reverse Engineer in models doesnt give the right structure from Essbase

    Hi,
    I have created Hyperion essbase(source)/Oracle(target) Data sources,Physical Schemas,Logical Scemas and have linked them with the context.
    When I create a model - I hadTechnology as Essbaseand the right physical schema -
    In the reverse engineer tab, I have correctly selected RKM Hyperion Essbase,Types pf objects is table.I had set True to multipls columns and had given the data column as Accounts - and the data column members as "Sales","Cogs"
    Now when I reverse engineer, I assumed the columns should be populated as (dim1,dim2,Sales,Cogs) - But what i get is (dim1,dim2,Account,Sales,Cogs,Data) - The account member and data also comes along in the column. Any idea where i am missing out this?
    Eventually when i execute the interface, I am ending up in an error "com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Invalid column in the source"
    Please share your thoughts...
    Leo jose.

    Hi,
    Please ignore, it is just that when a model is reverse engineered, it is having the old in memory and the new changes made in the model is getting appended along with the old dimension information creating some confusion.just did it with a different application and is giving desired results.I asked and I answered :)

  • Reverse engineer data model

    I was trying to reverse engineer database information into a data model diagram in visio 2000.
    I received the following error :
    Encountered a fatal error during reverse engineer of information from database
    My Database version is
    Oracle9i Enterprise Edition 9.2.0.5.0 64bit
    Is it true that Visio does not support Oracle 9i (as I was told) ? If so, is there any freeware on internet where I can do the same (reverse engineer)
    Thanks

    You can use most any ERD product to reverse engineer an existing system: oracle designer, ERWin ,ER/Studio, etc....
    But it is likely to be a very manual process.
    If the application does not make use of database defined FK, UK, and PK then you will likely be forced into reading source and/or running traces on application processes to follow the DML.
    HTH -- Mark D Powell --

  • Designer 9i reverse engineer my database

    I have Designer 9i with repository on Oracle 9i server.
    I would like to reverse engineer my database from Oracle 8.17 server on a different computer - connection.
    How do I do that? Beging from scratch, what do I need, do I need to create new Application system? I probably would need one... Can I connect this specific applicatino system to a specific database?
    How to get the tables (and other objects)?
    What tool do I use? Database design transformer says - I don't have any entities in a.s.
    Entity relationship diagramer - that would be for designing probably, not for reverse engineering.
    Please help
    Thanks

    Rok
    You can do everything you have asked.
    The best way is to do the following:
    - Create an application system and name it appropriately.
    - Use the Design Editor tool
    - On the menu there is a option to "Design Capture" (this is reverse engineering).The menu path is Generate/Capture Design of/Server Model
    - This will ask you to enter the connect string for the db you want to capture
    - Then you will be presented with the objects in that db and you can choose which ones you want to capture
    The rest is simple from there.
    To help you I would suggest you go to the URL http://otn.oracle.com/products/designer/demos.htm on this site and at the bottom of the
    page is a demo section on Server Design and Generation. Take a look at the one titled: Capturing Database Designs in the Design Editor
    This will demo the step above. The other demos may also be useful as you want to change the data model or generate new schemas
    Regards
    Mark

  • Transfer Data from a JWS-Application to another one

    Hello
    I have an JWS-Application that starts another JWS-Appliction via BasicService, showDocument(...).
    Is there a way to transfer a large amount of data from the first application to the second one without using the filesystem?
    Thanks.

    >
    Nice demo Andrew.>Thanks. If anybody has the time, they might try adjusting the source file for that, from 16,000 bytes and see if they can claim the Meg. memory.
    ..some minutes later.
    OK. It seems it can, so long as the user agrees (and it has not been barred by the system admin. etc.). First I got a dialog saying.
    The maximum size of allotted storage is 262,144 bytes. 
    The applications has requested to increase it to
    15,000,000 bytes.But once I'd OK'd it, then the console output read:
    Cache created - size: 15000000Edit 1:
    Alternately, to keep it both entirely sandboxed and without prompts. Request only the 262,144 (80Kb by my calculations) and write the data part by part within that limit.
    The reading app. would need to check the persistence cache on a Timer (or similar) while the writing app. in turn checks it regularly during write operations. As soon as the reading app. has noticed and read the latest chunk of data, it sets a flag in the persistence service, and the writing app. writes the next chunk.
    Edited by: AndrewThompson64 on Dec 9, 2008 9:30 PM

  • Not able to see executions in operator - Reverse engineer problem

    Hi All,
    I´m starting a new project, this is the situation. I've created the agent (physical and logical), it's running as a service (OPMN instance). When I execute the test, "Agent test Successfull". So I guess that is not the problem.
    I'm creating a new model, I've already created the Data server (SQL server), connection test is Ok, I've also created the physical and Logical Schema. The problem is after creating a new model, when I select reverse engineer option, everything looks like that data is being correctly retrieve, however data do not appear in the model. When I go to the operator to check the log, nothing is there. Any idea?
    Thanks in advance,
    Gonzalo.-

    >
    The problem is after creating a new model, when I select reverse engineer option, everything looks like that data is being correctly retrieve, however data do not appear in the model. When I go to the operator to check the log, nothing is there. Any idea?
    >
    Do you mean to to say that uou are not finding any infor about the reverse engineering process in Operator ?
    If yes then please note Standard reverse engineering does not list down the operation performed in Operator.
    If you are using some RKM then only it will display the steps performed in Operator

  • Reverse engineer using DBMS_METADATA

    Hi,
    Can I use DBMS_METADATA package to reverse engineer a scheduled job from the database. I tried running below statement but it only returns the first job no matter what I do:
    select JOB,WHAT,dbms_metadata.get_ddl('JOB',USER) FROM DBA_JOBS
    I even used a where clause to make sure that I am using a specific job but the output remains same I mean I get statement generated only for first job.
    Any thought?
    Onkar

    Solomon Yakobson wrote:
    Gokhan Atil wrote:
    You may try to use DBMS_JOB.USER_EXPORT:I don't believe DBMS_JOB.USER_EXPORT is available in 9i.
    SY.Tested or guessing? Anyway, you can believe that it's available:
    BANNER
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    PL/SQL Release 9.2.0.8.0 - Production
    CORE    9.2.0.8.0       Production
    TNS for Solaris: Version 9.2.0.8.0 - Production
    NLSRTL Version 9.2.0.8.0 - Production
    FUNCTION BACKGROUND_PROCESS RETURNS BOOLEAN
    PROCEDURE BROKEN
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    BROKEN                         BOOLEAN                 IN
    NEXT_DATE                      DATE                    IN     DEFAULT
    PROCEDURE CHANGE
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    WHAT                           VARCHAR2                IN
    NEXT_DATE                      DATE                    IN
    INTERVAL                       VARCHAR2                IN
    INSTANCE                       BINARY_INTEGER          IN     DEFAULT
    FORCE                          BOOLEAN                 IN     DEFAULT
    PROCEDURE INSTANCE
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    INSTANCE                       BINARY_INTEGER          IN
    FORCE                          BOOLEAN                 IN     DEFAULT
    PROCEDURE INTERVAL
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    INTERVAL                       VARCHAR2                IN
    FUNCTION IS_JOBQ RETURNS BOOLEAN
    PROCEDURE ISUBMIT
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    WHAT                           VARCHAR2                IN
    NEXT_DATE                      DATE                    IN
    INTERVAL                       VARCHAR2                IN     DEFAULT
    NO_PARSE                       BOOLEAN                 IN     DEFAULT
    PROCEDURE NEXT_DATE
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    NEXT_DATE                      DATE                    IN
    PROCEDURE REMOVE
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    PROCEDURE RUN
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    FORCE                          BOOLEAN                 IN     DEFAULT
    PROCEDURE SUBMIT
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          OUT
    WHAT                           VARCHAR2                IN
    NEXT_DATE                      DATE                    IN     DEFAULT
    INTERVAL                       VARCHAR2                IN     DEFAULT
    NO_PARSE                       BOOLEAN                 IN     DEFAULT
    INSTANCE                       BINARY_INTEGER          IN     DEFAULT
    FORCE                          BOOLEAN                 IN     DEFAULT
    PROCEDURE USER_EXPORT
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    MYCALL                         VARCHAR2                IN/OUT
    PROCEDURE USER_EXPORT
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    MYCALL                         VARCHAR2                IN/OUT
    MYINST                         VARCHAR2                IN/OUT
    PROCEDURE WHAT
    Argument Name                  Type                    In/Out Default?
    JOB                            BINARY_INTEGER          IN
    WHAT                           VARCHAR2                INRegards
    Gokhan

  • Uninstalling additional files associated with JWS applications

    I have a JWS application that works fine however I would to be able to optionally remove or delete the work directory and files which are not in the JWS cache. Is there a way of doing this?

    I couldn't find a direct way of doing this. But I found a workaround. I created a uninstaller jnlp so that when it is uninstalled it deletes the resources.
    Uninstaller jnlp Example:
    <?xml version="1.0" encoding="utf-8"?>
    <jnlp
         spec="1.0+"
         codebase="http://...."
         href="uninstall.jnlp">
         <security>
              <all-permissions/>
         </security>
         <resources>
              <j2se version="1.5+"/>
              <jar href="/lib/uninstall.jar"/>
         </resources>
         <installer-desc/>
    </jnlp>
    Main jnlp
    <jnlp
         spec="1.0+"
         codebase="http://..."
         href="launch.jnlp">
         <resources>
              <j2se version="1.5+"/>
              <jar href="/lib/main.jar"/>
              <extension href="uninstall.jnlp"/>
         </resources>
         <application-desc/>
    </jnlp>When a <installer-desc/> is installed its main will be called with "install" and when its uninstalled main will be called with something else.
    Here is a sample main for uninstall.jar:
         public static void main(String[] args) {
              javax.jnlp.ExtensionInstallerService extensionInstallerService = null;
              try {
                   extensionInstallerService = (javax.jnlp.ExtensionInstallerService)javax.jnlp.ServiceManager.lookup("javax.jnlp.ExtensionInstallerService");
              } catch (javax.jnlp.UnavailableServiceException ex) {}
                   if (args.length == 0 || !"install".equals(args[0])) {
                        ApplicationServices.deleteLogDir();
                        ApplicationServices.getInstance().setStartup(false);
                        try {
                             Preferences prefs = Preferences.userNodeForPackage(Uninstall.class);                              
                             Preferences parentPrefs = prefs.parent();
                             prefs.removeNode();
                             removeIfEmpty(parentPrefs);
                        } catch (BackingStoreException ex) {
                             ex.printStackTrace();
              if (extensionInstallerService != null) {
                   extensionInstallerService.installSucceeded(false);
              System.exit(0);               
         }I think it would be nice if this functionality could be described in the application jnlp so the main on the original application could get the message and handle any cleanup it needed to do instead of a separate extension jnlp

  • Reading/Writing Cookies in a JWS-Application

    Hello at all,
    is it possible to read / write local stored Cookies with an JWS-Application?
    Scenario: The JWS-Application runs at the client PC and should be able to read / write one special cookie on the same machine.
    Thank you and best regards,
    Stefan

    My problem is, that we have some webapplications running which write a session-cookie.
    Then we have some swing applications on the client-side (Java WebStart). The JWS-Swing-Applications have to read / write the same cookie as the webapplication to provide single-sign-on.
    Is this possible?
    The Java-Version is 1.4.2_07.
    Best regards,
    Stefan

  • Enquiry:  Any tool to reverse engineer an existing db schema in Oracle 8i

    Dear All,
    Do you know whether Oracle SQL Developer Data Modeler (3.1.1.703) supports Oracle 8i? If not, is there any tool that can be used to reverse engineer an existing database schema in Oracle 8i?
    Your early reply is appreciated.
    Thanks a lot.
    LAWRENCE CHOW

    That's a pity. The initial version of Data Modeler used to support import from Oracle 8i.
    You could try setting up an ODBC connection to your database and using the JDBC tab (rather than the Oracle tab) when entering the Connection details into Data Modeler.
    Alternatively, if you can get hold of an earlier version of Data Modeler (e.g. version 3.0 or earlier), you could try this (and if it works you could then upgrade your model to the current version).
    David

  • Reverse engineer issues in ODI 11g

    Hello gurus,
    We are testing ODI upgrade and we have an issue while reversing a data model.Its an existing sql server table and in ODI when we click on the reverse engineer ODI datastore doesnt sync with sql server DB table.
    Please help ?
    Thanks,
    Mastan.

    Thank you so much for your reply....Yes thats exactly right it is not considering the deleted columns....when i try to remove the the data store it gives me an error saying
    "object column : workflow_activity_identifier is referenced by: Txt CrossRef : 12142111, Txt CrossRef : 20617111
    Cannot remove"
    i think i have to edit my interfaces which is using the data store ? is there any way i can know how many interfaces are using this data store?
    Thanks for your help.

  • Reverse Engineer / Import Selected Objects

    Hello All,
         I am new to ODI tool and trying to understand, how to reverse engineer / import selected objects? I am unable to do this.
    For instance, I have 10 tables in database, I want to import/reverse engineer 3 of them, how do I this in one go? I am able to do this, one by one.
    Your Help is appreciated.
    Thanks,
    Andy.

    Hi
    Create a model.--> click on selective reverse engineering---> check New Datastore and object to reverse engineer. then you can select 3 tables out of 10 tables.
    what do you mean by import here ?
    Are you trying to  import 3 tables from ODI ?
    Thanks

  • Reverse-Engineer Java Code using JDeveloper

    Hi,
    Is it possible to reverse-engineer java code and produce class diagrams in JDeveloper? If so , how?
    I have JDeveloper 10g.
    Thanks

    Yes you can.
    Just open the java classes in a JDeveloper project, create a new class diagram and drag the classes onto the empty diagram.

  • Reverse Engineer Models Using DB Links ?

    Hi,
    I have tables that reside in database A.
    I can access those tables from Database B using db link.
    Is it possible to reverse engineer the tables belonging to database A in a model. If yes How?
    Please reply.
    Urgent Requirement
    Regards,
    Prerna

    Hi Prerna Vij,
    Yes you will.
    - In topology, create a physical schema in your dataserver B. Put the name of the source schema on A and enter the dblink name you want to use.
    - Create a logical schema and map it to the physical schema through contexts
    - In Designer, create a new model using the logical schema you just created and build all the datastore manually
    - Use these datastore as source in your interfaces and choose LKM Oracle to Oracle (DBLINK)
    Hope it helps.
    Regards,
    Jerome

Maybe you are looking for

  • Nokia Lumia 620 Compatible baterries

    I've recently bought a Lumia 620. I was wondering if there are any batteries that have higher capacitance than the stock battery, and of course compatible with the Lumia 620? Thanks in advance.

  • Unlock my iPad mini - Please help

    I need to unlock my iPad mini which has NEVER been synced with any desktop. Therefore, I can not use iTunes. If I use iTunes, this will ask me to tap "trust" this computer on the iPad. But I can not do this since the iPad is locked. Could anyone tell

  • BOOLEAN  data type in oracle is it there?

    is there any data type in oracle which stores BOOLEAN data?

  • Headings in a Region ..

    Hi everyone, I have created a from based on a table which has 60 columns.In the Form i have to put some headings like --PERSONAL INFORMATION --EMPLOYER INFORMATION to devide those fields to groups.How can i put heading between the field which r in th

  • Bildschirmeinstellung ändert sich beim Start von PS

    Hallo, ich habe auf meinem Rechner das Problem, daß sich beim Starten von CS 1 meine Bildschirmeinstellung von "hoch" auf "niedrig" umstellt. Ich muß das dann jedesmal in der Systemsteuerung wieder richtig einstellen. Hat jemand eine Idee? Vorab scho