6

How can I use user defined wrap function or unwrapped method in Oracle? Because default wrapping code is can be unwrapped.

2
  • 1
    Please have a look at this. Commented Feb 27, 2017 at 9:49
  • 5
    Oracle needs to be able to read the wrapped source code to be able to use it so has to be able to unwrap it internally. If Oracle can unwrap it then so can other applications - at best this is an additional layer of security-through-obscurity - it is not encryption of the source code. Commented Feb 27, 2017 at 11:15

2 Answers 2

1

Use the wrapped procedure the same way that you use an unwrapped procedure. Call it from SQL or PL/SQL. Wrapping has no effect on calling the run-time behaviour of the stored procedure. The procedure is still in ALL_OBJECTS and its parameters are still in ALL_ARGUMENTS.

Sign up to request clarification or add additional context in comments.

Comments

1

Oracle's documentation says:

Wrapping a PL/SQL unit prevents most users from examining the source code, but might not stop all of them.

If you read Pete Finnigan's analyis of the wrapping mechanism, the wrapped code is just an encoding of the DIANA or Interface Description Languange (IDL) version of your source code. I don't see any way how you can change the wrapping mechanism and still be valid IDL.

After unwrapping, I normally give up if the PL/SQL package calls C functions. So you might try writing C libraries. They seem to be much harder to re-engineer...

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.