Wrapping PL/SQL code - can we unwrap?

By any chance can we unwrap a wrapped PL/SQL package?

My configuration is :
-OWB Client version :9.0.2.62.3
-OWB repository version:9.0.2.0.0
-Source and target Oracle database versions are all 9.2.0.1.0
-My mapping only try to tranfer data from one table to the other table. These tables have the same structure. There are only 1500 records in the target table.

Similar Messages

  • Need way to Wrap my PL/SQL code

    Hi
    How can I Wrap my PL/SQL code ?
    The current Wrap.exe can be Hacked easily using this site http://hz.codecheck.ch/UnwrapIt/Unwrap.jsp.
    what is the best way to hide Wrap my PL/SQL code in DB.
    Thanx
    Rafeek Abd Elmonsef

    reemax wrote:
    please where can I download "plsql developer 10g version 2000 release 10.2.0.2"There's no point downloading a GUI to do it for you, all that does is call the Oracle WRAP functionality.
    There's only the one way to wrap PL/SQL code. Just because it can be unwrapped doesn't mean that everybody will have the ability to unwrap it. If you're really that concerned about people getting your source code then you shouldn't release it in any format. At the end of the day, if it's packages that are being supplied to a customer, wrap them and have appropriate copyright and reverse engineering agreements in place, then if your code gets stolen, you can take legal action.
    You can get some tools (I've seen them but never used them) that help to anonymise your code, by renaming all the variables etc. to nonsensical ones such as a,b,c,d etc. (just like some people's coding I've seen LOL!), so if you were to do that and then wrap the code, if anyone does unwrap it, it will be harder for them to understand what the code actually does.

  • Should we be 'Obfuscating'/wrapping our PL/SQL code?

    Versions:10gR2, 11G, 11GR2
    We are a software development firm in Retail Domain. We have around 35 packages, 80 procedures and functions. Currently none of our PL/SQL source codes are hiddent('obfuscated'). Is this a professional approach?
    If the client faces an issue with our code and when they send us the exp dump file to reproduce this issue. We wouldn't even be able see let alone debug the code. Right? Are there any other disadvantages with Obfuscation?

    Jiri in SF wrote:
    I would really appreciate of Oracle would provide code to their own packages. For example UTL_MAIL has issues for some SMTP servers, why I cannot take source code, improve it the way I want and then use it (of course I would not expect oracle to provide support for changed code).UTL_MAIL is perhaps a bad example. The code can be unwrapped - and the resulting source does not look good. The API itself is designed poorly IMO.
    Instead of rewriting UTL_MAIL, I would rather see it redesigned. For example, the existing API for example does not allow you to view the Mime payload to send via the DATA command at all. This is essential for debugging purposes.
    What about wanting to create a valid e-mail (Mime) that you want to deliver via another protocol (e.g. IMAP)? The API should enable you to create that and then select to use the payload without necessarily transmitting it via SMTP.
    Despite my dislike for Microsoft the company, I've always found their API sets logical, sensible and easy to use. Unfortunately the same can often not be said from the supplied PL/SQL package interfaces from Oracle. :-(

  • Limit multiple simultaneous access to part of PL SQL code

    Is there any provision in PL-SQL block by which some part of the PL SQL code can be restricted to be accessed by only one user at a time. Multiple request on the same part of the code will form a queue and will be executed one after the other.
    I am working on an application that generates unique number for each request from the database by performing MAX+1. In multiuser environment, same number is assigned to all the user requesting number from the same table. We have observed duplicate value error generated due to simultaneous click for generation of number and both getting the same number and being inserted in the column which is defined unique.
    Also pls. provide me some feasible solution apart from limiting simultaneous access to part of the code that generates number and updates the database.

    If the number is generated by sequence and by any chance that transaction is rolled back then that sequence number is lost. I want numbers without any missing numbers in the column. What about these sequence of events:
    1). A user gets a MAX + 1 value.
    2). Saves the record.
    3). Another user gets the next MAX + 1 value.
    4). Saves the record.
    5). User #1 then wants to delete his record.
    Then you have a gap in between that will never be filled up if you keep doing MAX + 1.
    Is this gap acceptable?
    Or that
    1). Delete of a saved record is not allowed by your application to avoid gaps.
    2). You have some extra logic (apart from MAX + 1 always), to re-assign these deleted slots to next person asking for the sequence.
    None of the above two sound reasonable.
    Even if you fill a previously deleted slot for the next sequence reauest, You will no longer will be able to order the records in the order they were created and a deleted slot could remain "free" for a extended period of time, during which you still have to deal with the gaps in your sequence generation logic.
    Is it worth considering using the Oracle sequence object instead?
    Someone might say, yes. What about you?

  • How to 100% Protect PL/SQL Code By Wrapped in Oracle Database 10g R2

    Hello,
    Is Possible to 100% Protect PL/SQL Code By Wrapped in Oracle 10g R2 ?
    If it is not possible by wrap in oracle 10g R2,
    Please, let me suggest, how i will be able to 100% protect PL/SQL code in Oracle Database 10g R2.
    Because, I have lot of functions, procedures & package's in my project.
    Which is running in field filed.
    So, i have needed to protect 100%.
    Also, will i convert to al functions, procedures & package's to .pll file ?
    And .pll file to .plx file?
    Is it possible to convert .plx file to .pll file ?
    Please, let know any better solutions in this case....
    Regards
    Mehedi

    Hello,
    No, wrapping is not a 100% secure method. It could prevent your code from amateurs, but not from professional hackers. Look at the article http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/wrap.htm#BEHGBJAA
    It says: "•Wrapping is not a secure method for hiding passwords or table names.
    Wrapping a PL/SQL unit prevents most users from examining the source code, but might not stop all of them."
    Edited by: apiminov on 03.12.2012 3:23
    Edited by: apiminov on 03.12.2012 3:24

  • How can one  read a Excel File and Upload into Table using Pl/SQL Code.

    How can one read a Excel File and Upload into Table using Pl/SQL Code.
    1. Excel File is on My PC.
    2. And I want to write a Stored Procedure or Package to do that.
    3. DataBase is on Other Server. Client-Server Environment.
    4. I am Using Toad or PlSql developer tool.

    If you would like to create a package/procedure in order to solve this problem consider using the UTL_FILE in built package, here are a few steps to get you going:
    1. Get your DBA to create directory object in oracle using the following command:
    create directory TEST_DIR as ‘directory_path’;
    Note: This directory is on the server.
    2. Grant read,write on directory directory_object_name to username;
    You can find out the directory_object_name value from dba_directories view if you are using the system user account.
    3. Logon as the user as mentioned above.
    Sample code read plain text file code, you can modify this code to suit your need (i.e. read a csv file)
    function getData(p_filename in varchar2,
    p_filepath in varchar2
    ) RETURN VARCHAR2 is
    input_file utl_file.file_type;
    --declare a buffer to read text data
    input_buffer varchar2(4000);
    begin
    --using the UTL_FILE in built package
    input_file := utl_file.fopen(p_filepath, p_filename, 'R');
    utl_file.get_line(input_file, input_buffer);
    --debug
    --dbms_output.put_line(input_buffer);
    utl_file.fclose(input_file);
    --return data
    return input_buffer;
    end;
    Hope this helps.

  • Can I create a file using pl/sql code in application server ?

    Hi
    I wanted to create a file(any kind of file .txt .csv .exe etc..) using pl/sql code in application server?
    Please help me with an example...in this regard
    Regards
    Sa

    864334 wrote:
    I wanted to create a file(any kind of file .txt .csv .exe etc..) using pl/sql code in application server?And how is this "file" to be delivered?
    Files can be created by PL/SQL code and stored in the Oracle database as CLOBs. This a fairly easy and robust process. It runs entirely in the database. It conforms to transaction processing. The "file" (as a CLOB) resides in the database and can thus be secured via database security, is part of database backups and so on.
    The basic issue is how to deliver the contents of the CLOB to the user. If via FTP, then the database can directly FTP the contents of the CLOB to the FTP server as a file. If via HTTP, the database can deliver the CLOB as a HTTP download directly to the web browser.
    If the client is Java or .Net, then the CLOB contents can be delivered via SQL or DBMS_LOB or a custom PL/SQL interface.
    In such cases, there is no need to step outside the secure and flexible database environment and create a physical o/s file in the wild (outside the controls of database security, data integrity and transaction processing). This is thus recommended and is the preference.

  • Can a PL/SQL code of timesten be called in oracle or vice versa

    Hi
    In IMDB cache setup with AWT cache group , the pl/sql code or procedure that is written in oracleDB can it be called in TimesTen and vice versa
    example: In a stored procedure the DML's that are performed will be updating the cache tables and log table in oracleDB.
    Will there be any performance impact.
    Regards
    Siva Kumar

    A PL/SQL procedure can exist in Oracle DB, in TimesTen, or in both. You control that by where you create the procedure. Procedures that exist in Oracle can really only be called in Oracle and can only access data in Oracle. Procedures that exist in TimesTen can only be called in TimesTen and can only access data in TimesTen. There is a limited capability, using the TimesTen PassThrough capability to call PL/SQL procedures located in Oracle, from Timesten, and for Timesten PL/SQL procedures to access data in Oracle. Using PassThrough does have some overhead.
    Chris

  • How can i identify the environment name or database name in the PL/SQL code

    Hi,
    I am using UTL_FILE to genearate the files.,
    My problem is, I have to design the common sql file , which can be executed in 2 diffrent environments ( Say QA & DEV ) , with no parameters. It has to identify the environment and based on the environment , it has to generate the concern files.,
    The only change needs to be incorporated is , file names , which will change based on the environment.,
    can nay one tell me , how can i identify the environment name or database name in the PL/SQL code ??
    Raja

    In this case, USEC_GI_DEV.NA.XXXNET.NET is a TNS alias. That alias exists only on the client machine. There is no way to access that information on the database server.
    You would have to find something in the v$database or v$instance table that uniquely identifies the database (and you may need some help from the DBAs to do this because you need to ensure that the data element you choose is compatible with whatever refresh process(es) are used in your environment).
    Now, if you are writing a stand-alone SQL*Plus script, SQL*Plus, as a client tool, does have access to the TNS alias in later versions. But that is a client-side determination, not a server-side determination.
    Justin

  • Can the g_f0x variables be accessed in PL/SQL code in page rendering?

    Hi,
    I have set a button in a tabular form that runs a dynamic action made up of 2 parts in sequence:
    (1) a PL/SQL code that updates a collection using g_f01 (selected items in the tabular form)
    (2) a javascript that calls apex.server.process to display the selected items in a region
    All this code is in the page rendering section being called from a button,and thats the only way it seems to fire PL/SQL and javascript from a button
    one after the other.
    I have a page process called "submit" that does a loop through the g_f01 values again and updates the collection again just to check.
    Now, the PL/SQL code in the dynamic action does not see any selected values in the g_f01 array,while the code in the "submit" page process.
    sees them correctly. I've used debug to check.
    Question: Can the g_f0x values of a tabular form columns be accessed through a PL/SQL in page rendering, or can they
    only be accessed through a page process?
    If not, can the g_f0x values be saved in a global array somewhere although that will make things more complicated.
    Leckraj

    leckj wrote:
    Hi Jorge,
    Thanks for answering,
    If only I had known, because my whole cunning plan was based on this!
    Been in APEX only for some 2 weeks, and its a whole new environment coming from the quiet forms6i way
    of doing things, and sometimes a bit strange.
    I am using collections in fact as my tabular form is based on a view based on a collection.
    However, the cells in the form only seem to be placeholders and any changes seem to be made to only the
    g_f0x arrays, and the underlying collection members have to be updated programatically.
    So if I lose the g_f0x values I cannot update the collection. chicken and eggs.
    The flow needs to run a PL/SQL to update the collection,followed by a javascript call to apex.server.process to print the values in a region.
    Yon cannot have javascript as a page process, and g_f0x values in the rendering part, so is there anywhere apart from a 2-step dynamic action,
    that we can force the run of PL/SQL code followed by javascript?This sounds excessively complicated. The normal APEX approach would be to submit the page, and update the collection from the tabular form <tt>apex_application.g_fxx</tt> array values in a post-submit process. The updated collection values can be displayed in a region using SQL or PL/SQL on page show without recourse to JavaScript.
    This early in your use of APEX, why are you not just using the basic technique?

  • Can we create pl/sql code over database link?

    Hi All,
    We are using Oracle 9i database.
    I want to know if we can create or modify pl/sql code (procedue, package, etc) over the database link? That means - can we create a procedure in remote database using the db link?
    Thanks,
    Dnyanesh

    yes, I can connect to the remote database directly and create/modify the packages.
    But I want the users not to create them using the db link.
    Is there any way to create the pl/sql package over database link?
    Thanks,
    Dnyanesh

  • DataTrigger : can it be used for other pl/sql code than before and after?

    Hi,
    I was wondering whether the <dataTrigger ...../> can also be used for other PL/SQL code than just using it for the beforeReport, afterReport and stuf.
    Just now I placed a call to it in the datastructure, as last entry in a group (for headers f.i.), called it AfterHeaderTrigger, and called a function in a package.
    It didn't fail, but I dont think it excecuted it though.
    So, can you do that?
    thanks
    Ronny

    thanks, that's what I thought.
    It's a shame, it would have been so cool.
    thanks
    Ronny

  • Can I have a PL/SQL code for LOV

    Hi,
    I apologize for this dumb question. I have been so out of touch with dev (almost 8 years). Plus new to pl/sql.
    I am creating a status report application. On the dashboard, I currently have some metrics (horizontal charts). I wanted to expose these metrics based on filter.
    I had created 2 filters. The first one will identify the type (Week, Month, Qtr or Year) and the 2nd filter would be based on the type. For e.g. if I select Month as type, the 2nd filter should show May-12, April-12 etc. Once I select the 2nd filter, I should use them to show the appropriate metrics. The metric that I currently have would show all the projects that users have worked on during the week/month/qtr or year (depending on the 1st and 2nd filter).
    On the dashboard region, I added a condition to check if the value for both 1st and 2nd filter is not null. This allows me to show the dashboard only if the 2 filters have been selected.
    For the 2nd filter, I need to write a PL/SQL code to show the LOV.
    I am assuming that the pl/sql would return a SQL query. The SQL query will be based on week, month etc. Is that right?
    Thanks
    balaji
    Edited by: user644868 on May 17, 2012 11:29 AM

    rbalaji2026 wrote:
    For the 2nd filter, I need to write a PL/SQL code to show the LOV. Doesn't appear necessary. With filter 2 cascading from filter 1, why not:
    select
            /* Week query */
    from
    where
    and     :p1_filter_1 = 'WEEK'       
    union all
    select
            /* Month query */
    from
    where
    and     :p1_filter_1 = 'MONTH'       
    union all
    select
            /* Quarter query */
    from
    where
    and     :p1_filter_1 = 'QUARTER'       
    union all
    select
            /* Year query */
    from
    where
    and     :p1_filter_1 = 'YEAR'       

  • How to encrypt PL/SQL Code?

    Hi All,
    I want to share our application code to third party. I don't want them to see our application PL/SQL Code.
    I have tried wrapper utility provided by Oracle, however there are un-wrappers available.
    Please Let me know the options available to hide my PL/SQL code.
    Thanks in advance
    Madhu

    As Billy says, the only proper way is through legal means.
    The next best thing is the wrap utility.  Yes, people have produced unwrappers out there, but most companies don't have their own software developers (otherwise they're less likely to be buying code from you), so won't be unwrapping it anytime soon.
    I've seen some 3rd party tools that try and obfuscate the code by turning all your variables and suchlike into meaningless names, making it hard for people to follow the code even if they can read it, so if you find a good one of those, and then wrap it as well, you're making it hard for people.
    DBMS_CRYPTO, as suggested by the first response on this thread, isn't an option as that is for encrypting or hashing etc. of data, not of PL/SQL code... at least not if you want Oracle to be able to execute the code still.

  • Oneway Wrapping  PL/SQL Programs

    Hello,
    I have wrapped my PL/SQL package successfully through wrap utility, but it can be easily unwrapped by some websites like 'http://www.codecrete.net/UnwrapIt' or unwrap mechanism.
    I need one way encryption for my program. Please suggest if there is any alternative.
    Thanks & Regards
    Pritish
    Edited by: 1004790 on Jun 6, 2013 6:11 AM

    No computer program in any language can be encrypted in a way that prevents someone that owns the server on which the code is running from reversing that encryption. The code, after all, has to be sent to the CPU to be executed. You can find sites that unwrap PL/SQL just like you can find tools that will generate C source code for the Oracle executable or the Java source for whatever JAR file you'd like to consider.
    The best you can do is to buy something like PFCLObfuscate that will obfuscate the code before calling the wrap utility (and calling the older version of the wrap utility which is a touch harder to unwrap and for which there are fewer online unwrapping tools). That requires money to buy the tool, though, and it will add complexity to your code management and deployment process since you have to maintain both a readable and an obfuscated version of the code and ensure that the right thing gets deployed and that no one inadvertently causes there to be differences between the two. And an attacker could still unwrap your code and still see exactly what it is doing, it would just be a bit harder to follow.
    Justin

Maybe you are looking for