Wrap utility security strength

Hello,
I am using the PL/SQL wrap utility to protect my source codes
that contains an encryption key. But my client wants to know
what is the security strength of the wrap utility. Anyone has
that information?
Thanks a lot,
Zhen

hi you can buy a security software that prevents any persons from accessing to your codes.
Beau

Similar Messages

  • PL/SQL Wrap utility

    Is there any information available on oracle's site about security with the wrap utility provided by oracle.
    Can it be un-wrapped, can I get some pointers to it withing the oracle site.

    Ten seconds work with "Search" on the 9i documentation pages gives this:
    http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/appdev.920/a96624/c_wrap.htm#138
    You can't "unwrap" previously wrapped code, as that would defeat the point of wrapping it in the first place.

  • Wrap utility doesn't work on Trigger

    Hello Experts,
    I want to encrypt the code in trigger on database by using wrap tool. I type this one below:
    wrap iname=TRG_INSERT_BB_TEMP.trg oname=TRG_INSERT_BB_TEMP_wrap.trg
    It doesn't work on my side. Or is it true, that such wrapping doesn't either on trigger?
    Is there any other Oracle Utility?
    regards,
    Pakpahan

    The wrap utility does not obfuscate the source code for triggers, but you can create a trigger who calls a wrapped procedure.
    Enrique

  • Oracle WRAP Utility

    I have a simple function:
    CREATE OR REPLACE FUNCTION hv_f ( p_1 IN NUMBER )
    RETURN NUMBER
    IS
    BEGIN
    RETURN p_1;
    END;
    When I compile and run this function in the database it works fine.
    SELECT hv_f ( 100 ) from dual;
    100
    I then used the wrap utility to wrap the code. Here is the output:
    C:\oracle\product\11.2.0\dbhome_1\BIN>wrap iname=hv_f.sql
    PL/SQL Wrapper: Release 11.2.0.1.0- Production on Wed Apr 25 09:47:30 2012
    Copyright (c) 1993, 2009, Oracle. All rights reserved.
    Processing hv_f.sql to hv_f.plb
    This is the wrapped code:
    CREATE OR REPLACE FUNCTION hv_f wrapped
    a000000
    b2
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    8
    4a 79
    Haipg9ui7ATKGIdMN+rVKka0XpMwg8eZgcfLCNL+XoUWba5eUGnn43jDpdJepZmBMsCyCVBd
    nsCyvbKsCL561r5ucVUAc1OOjg7TZ4E8ceI/0Tx0pu5009s=
    I then try to run this in the database, and I get this error:
    Error starting at line 1 in command:
    CREATE OR REPLACE FUNCTION hv_f wrapped
    a000000
    b2
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    8
    4a 79
    Haipg9ui7ATKGIdMN+rVKka0XpMwg8eZgcfLCNL+XoUWba5eUGnn43jDpdJepZmBMsCyCVBd
    nsCyvbKsCL561r5ucVUAc1OOjg7TZ4E8ceI/0Tx0pu5009s=
    Error report:
    Invalid argument(s) in call
    I tried a few other simple functions and procedures, and I get the same error. Not sure what is wrong. Does anyone have any ideas?
    Thanks.

    Thank you very much for all your help.
    I posted my output from the run, but I was running the wrapped function in SQL Developer (not SQL*Plus) like this:
    CREATE OR REPLACE FUNCTION hv_f wrapped
    a000000
    b2
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    8
    4a 79
    Haipg9ui7ATKGIdMN+rVKka0XpMwg8eZgcfLCNL+XoUWba5eUGnn43jDpdJepZmBMsCyCVBd
    nsCyvbKsCL561r5ucVUAc1OOjg7TZ4E8ceI/0Tx0pu5009s=
    And this is the error I was getting in SQL Developer
    Error report:
    Invalid argument(s) in call
    I also tried running the plb this way: @hv_f.plb and I was still getting the same error.
    I then ran it in SQL Plus and it compiled fine.
    Thank you very much to all that responded.

  • Using Disk Utility Secure Erase Makes it hang?

    Hi, I wanted to erase part of my drive (I was doing a generalized clean-up). I tried using the Disk Utility Secure Erase option. Even going with the single pass -- I'm just cleaning off free space, you know? ANyhow, it seems to hang a lot. The other functions on it seem to work ok. I looked at the force quit option and it says it isn't responding.
    I did try just leaving it alone for a really long time, but unless I am doing the 35-pass erase it shouldn't take all night (which it did at one point and it still wasn't done).
    (Computer is a MacBook late 2008 13" aluminum)
    I had it do a repair and after I forced it to quit it said it did find bad areas of the disk and repaired them, or so it said.
    But then I tried a verify and it seemed to crash again. So I get the sense there is something weird or fishy with Disk Util for 10.5.8. Any thoughts? My copy of TechTool works fine, it seems. Disk Util seems a bit unreliable right now, and I don't want to damage anything. But I also want an option to clean off the disk if I ever sell the computer or something like that. (I've been ID theft-ed once already, I'd rather not go through that again).

    MacBook Pro
    https://discussions.apple.com/community/notebooks/macbook_pro 
    https://discussions.apple.com/community/mac_os
    http://www.apple.com/support/macbookpro

  • WRAP UTILITY, Any help please!

    Hi Gurus,
    Can I know if Wrap utility is also installed as part of options during Oracle Client installation.
    I had a problem as stated below from oracle cleint using on of my applications.
    java.io.IOException: wrap: not found
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:72)
    at java.lang.Runtime.execInternal(Native Method)
    at java.lang.Runtime.exec(Runtime.java:602)
    at java.lang.Runtime.exec(Runtime.java:461)
    at java.lang.Runtime.exec(Runtime.java:397)
    at java.lang.Runtime.exec(Runtime.java:359)
    at com.r2000.integration.wcif.dbtools.EncodeScript.wrapPLSQL(EncodeScript.java:83)
    at com.r2000.integration.wcif.dbtools.EncodeScript.beginEncoding(EncodeScript.java:216)
    at com.r2000.integration.wcif.dbtools.IGP.begin(IGP.java:149)
    at com.r2000.integration.wcif.dbtools.IGP.main(IGP.java:231)
    Any help please?

    Can you get it now? Any help? I don't know what gets installed as part of the Oracle client only - I'm surrounded by servers, no client machines. What this suggest to me is that you don't have a test environment that replicates your users' environment. This is a dangerous practice and will likely lead you to deliver applications with broken dependencies, if you haven't already (which you apparently have).
    Which I suppose is not very helpful to your current situation but you at least know what you need to do to avoid this situation in the future.
    Cheers, APC

  • How to run wrap utility

    Hi All,
    I tried to use wrap utility from my command promt from c:/oracle9i/bin to encrypt the package code. But found that I am not having any wrap coomand in bin dir, so when I run wrap command from c:/oracle9i/bin, it gave me below error:
    C:\oracle9i\bin>wrap
    'wrap' is not recognized as an internal or external command,
    operable program or batch file.
    Can anybody help me in running wrap command. I am not able to understand if this is version issue, or complete pacakage has not been installed on my machine.
    Or there is some other way to run wrap utility, and I am running it in wrong manner.
    Thanks and Regards,
    Nidhi

    The wrap utility is a command line utility that obfuscates the contents of a PL/SQL source file. The syntax for the wrap utility is shown below.
    wrap iname=input_file [oname=output_file]
    The iname parameter specifies the source file, while the oname parameter specifies the destination file. If the destination file is not specified it defaults to the source file name with a ".pld" extension.
    Running the Wrap Utility
    Wrapping a package is amazingly simple, although there is one pitfall to avoid. Among the 500 plus files in the ORACLE_HOME/bin directory you will see wrap or WRAP depending on your operating system (a lot of the more common files and directories on Windows are upper-cased for ease of readability and identification).
    Using wrap is as simple as this:
    c:\ora9i\bin wrap iname=input_file_name
    You can specify an output file as a second argument by using this format:
    c:\ora9i\bin wrap iname=input_file_name oname=output_file_name
    Once wrapped, a package cannot be unwrapped. With that in mind, and just like what you would do with a real package, do not wrap the package until it is time to ship it. This implies keeping a source code repository of the original code. If a customer or user reports a bug against a wrapped package, there is no unwrapping it at the customer's site. You are going to have to ship another wrapped package with the fix in it. You will be making the bug fix or enhancement with the repository file and wrapping the new file.
    An Example of Using Wrap
    In a previous article, I used the DBMS_RANDOM package. A slightly modified bit of code from that produces the following:
    SQL> CREATE or REPLACE PROCEDURE wrap_it (seed_in NUMBER)
      2  IS
      3    v_rand INTEGER;
      4  BEGIN
      5    DBMS_RANDOM.INITIALIZE (seed_in);
      6    FOR i IN 1..5 LOOP
      7     v_rand := mod(abs(DBMS_RANDOM.RANDOM),45);
      8     dbms_output.put_line(i||': '||v_rand);
      9    END LOOP;
    10  END;
    11  /
    Procedure created.
    SQL> exec wrap_it(123456);
    1: 37
    2: 36
    3: 18
    4: 8
    5: 32
    PL/SQL procedure successfully completed.HTH.
    Amkotz

  • Encripting a package through wrap utility

    Hi,
    I am encripting my package through wrap utility.There are variables defined as VARCHAR2. The .plb file has been created successfully but when i am trying to compli ethis plb file, it is giving following error..
    "398/67 PLS-00222: no function with name 'VARCHAR' exists in this scope"
    Please help me.

    I would have thought the wrap utility would recognise VARCHAR datatype but maybe not. Check your code to see if you have any VARCHAR(??) defined variables rather than VARCHAR2(??).
    Just a wild guess.

  • Wrap Utility Encryption Method?

    Hi,
    Does the WRAP utility use AES128 to encrypt?
    Thanks,
    Nora

    Well, obviously, this is not the type of information Oracle wants to be made public. However, some careful use of Google may yield some interesting results.
    -Mark

  • Wrap Utility

    Is it available in Oracle 10g Client software?

    Yes, wrap utility should come with client software, but there is a bug in installation (metalink note 376597.1, BUG:5357377 - Missing Wrap Utility In Oracle Client 10.1.0.2)
    If You installed oracle client 10.1 - then no wrap utility is installed and read meatlink note for workaround (copy utility from different host). Or use 10.2.0.1 Client
    Wrap utility should be under $ORACLE_HOME/bin

  • Disk Utility - secure erase process does not complete

    Help, please!
    It is taking "for ever" for Disk Utility* to securely** erase (a) the 37.25 GB hard drive in my G4 Powerbook (while booted from a startup disk), and (b) an external 55.9 GB firewire hard drive (connected to a 17" G4 iMac).
    After more than a day, the progress bar for the Powerbook is only about half way over, and the progress bar for the external hard drive is only about 1/7 of the way over. (See the notes marked * and ** below.)
    Additionally, the note next to the progress bar for the Powerbook has changed from "Writing random data to disk" to "Creating partition map".
    Yesterday when I tried this process previously, after a very similar situation developed I quit Disk Utility on both machines and started the process again - so now the situation is about the same as before I quit Disk Utility yesterday.
    * I am using Disk Utility v10.4.4 to erase the external drive. I am using Disk Utility off the boot disk for OS X v 10.3.3 for an iBook to erase the Powerbook - but I can't see what version at the moment because the pointer is currently a spinning "beach ball".
    **By "securely erase", I mean I selected the option to write random data eight times to each location.
    (Prior to starting the secure erasure process, I had Disk Utility write zeroes at all locations - and that process did completed within a few minutes for each hard drives.)

    MacBook Pro
    https://discussions.apple.com/community/notebooks/macbook_pro 
    https://discussions.apple.com/community/mac_os
    http://www.apple.com/support/macbookpro

  • Wrap utility working fine but it is easily unwrap by some site

    i have created pl/sql code and wrap it using
    wrap iname=<> oname=<>
    create or replace PROCEDURE ANK
    AS
    BEGIN
    DBMS_OUTPUT.PUT_LINE('ANKUSH');
    END ANK;
    after wrap
    create or replace
    PROCEDURE ANK wrapped
    a000000
    1
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    abcd
    7
    41 79
    0Wapaz+CAvwOUlJdBxIX8yvr9hMwg5nnm7+fMr2ywFy40k4ruHSLwMAy/tKGCbhSm7JK/iiy
    veeysx0GMCyuJOqyMg7sUHAoMi720eokH8jL9jmm2vAvcg==
    but it is easily unwrap by site http://www.codecrete.net/UnwrapIt/
    any other method for wrap pl/sql code in oracle.
    oracle tells in docs wrap pl/sql code is not unwrap in readable mode again.
    Edited by: DBA007 on Apr 24, 2012 5:44 AM

    Sorry, didn't see your last reply.
    Yes, keeping things simple and employing appropriate abstractions is a basic principle of good architecture. Even with well architected code, however, if your code is non-obvious enough that it's worth obfuscating, it's rather unlikely that someone is going to be able to gain too much insight without comments, meaningful variable names, etc.
    In order for a computer to execute instructions, the computer obviously has to be able to see those instructions. If the computer can see the instructions and the attacker controls the computer, the attacker can use a decompiler to extract the code That's true for any language that runs on any client machine, it's not specific to PL/SQL.
    I look at it this way-- it's entirely possible to take the Oracle executable, run a decompiler on it, and generate the C source code. I believe that Oracle is a well architected system that keeps things as simple and modular as possible. But I would be hard-pressed to do terribly much with the C source that a decompiler would output. Without documentation about why things were done a certain way, without comments, without variable names, etc. I would have a hard time figuring out much of anything.
    Whatever code you want to wrap is, presumably, easier to understand than the entire Oracle database but the same principles apply. If the code is sufficiently proprietary that it's worth obfuscating, it's probably complex enough that an attacker is going to be hard-pressed to gain much benefit from the deobfuscated code. If your code has so little complexity that the deobfuscated code gives everything away but the problem is so non-obvious that another engineer isn't going to hit upon your simple solution, that's probably something that should be protected with patents (and that's very rare in the real world). If your company isn't comfortable with the protection of a patent, they probably want to develop a business model based on a SaaS model so that they don't have to ship any code to a customer.
    Justin

  • AQ utilizing Secure Files

    We are using AQ with a a payload of AQ$_JMS_TEXT_MESSAGE, and filling the LOB. I've played with secure files, and found the compression is huge, and the access is faster.. Is there any improvements with 11g AQ to use secure files? or is 11G AQ pretty much the same as 10G AQ for a simple queue with a lob payload

    Here's the official response:
    =============================================
    Subject:      Re: Licensing
    From:      "Mark Townsend"
    Date:      Sun, February 8, 2009 23:36
    To:      [email protected]
    Free in all editions. If you want to encrypt the blobs, you need the
    Advanced Security option. If you want to compress the blobs, you need
    Advanced Compression option. Dedup is part of Advanced Compression
    On Feb 8, 2009, at 11:29 PM, [email protected] wrote:
    I have been trying to find clear and concise information on the new
    SecureFiles.
    Is it free? Part of Advanced Security? What if you don't encrypt but
    compress. Then is it part of Advanced Compression? What if you do
    neither
    but just use deduplication? etc. etc.
    Thank you,
    Daniel Morgan
    Oracle Ace Director

  • How do Know Online Security Strength?

    I don't know, Which is suitable place to ask this question. But I think your are experts to answer this query.
    Thanks.
    by [CAPITAL RIDER|http://capitalrider.com] and INDIAMORE

    Hi,
    I'm not sure I understand what you are asking. Are you asking what level of encryption is supported by a particular Tuxedo installation? For versions prior to Tuxedo 10gR3 you can look in the Tuxedo license file found in $TUXDIR/udataobj/lic.txt and see what the system is licensed to use. Perhaps if you could provide a bit more details in what information you desire I could give a more definitive answer.
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Utility Wrap

    I have RDBMS 10g, and I wrapped my security's schema, but I testered the utility.. I get a .sql file and it created a .plb but is same code ???
    C:\oracle\product\10.1.0\db_1\bin\WRAP.EXE iname=E:\Oracle\Oracle_Scripts\Example_Trigger.sql oname=E:\Oracle\Oracle_Scripts\Example_Trigger.plb
    The result:
    The .sql file:
    CREATE OR REPLACE TRIGGER MYSCHEMA_2.UPDATE_ID
    BEFORE UPDATE
    ON MYSCHEMA_2.T_MYTABLE_2
    FOR EACH ROW
    BEGIN
    UPDATE MYSCHEMA.T_MYTABLE MT SET MT.LastUpdate = SYSDATE
    WHERE ID = :NEW.ID;
    END;
    The .plb file
    CREATE OR REPLACE TRIGGER MYSCHEMA_2.UPDATE_ID
    BEFORE UPDATE
    ON MYSCHEMA_2.T_MYTABLE_2
    FOR EACH ROW
    BEGIN
    UPDATE MYSCHEMA.T_MYTABLE MT SET MT.LastUpdate = SYSDATE
    WHERE ID = :NEW.ID;
    END;
    What I need run or what can I Do ???
    Thanks

    WRAP does not and is not used to hide code of TRIGGERS directly. It is one of the limitation it has.
    What you can do is:
    1. Write a PROCEDURE
    2. WRAP the PROCEDURE
    3. CALL the WRAPPED PROCEDURE from the TRIGGER
    Hope this helps.

Maybe you are looking for