Before Oracle 9i, a command 'warp' was provided to encrypt the code. However, it is based on scripts in the command line mode. In 10 Gb, the Oracle package dbms_ddl provides a new function create_wrapped to confuse the code. Example: SQL> declare 2 v_protex varchar2 (2000): =' 3 create or replace procedure p_wraptest 4 is 5 v_count number; 6 begin 7 select count (*) into v_count from user_tables; 8 dbms_output.put_line (''tables number is: ''| v_count ); 9 end; 10 '; 11 begin 12 SYS. dbms_ddl.create_wrapped (v_protex ); 13 end; 14/ PL/SQL procedure successfully completed Let's look at the obfuscated code: SQL> select text from user_source where name = 'P _ wraptest '; Text -------------------------------------------------------------------------------- Procedure p_wraptest wrapped A000000 367 ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD 7 A0 DB P9j84ore7zt5hy6ayflid/B/8ymwgwbf2ssvfc + ijhayzffpukzxltm5k5uum9gjb/cjyvte 80zl0ai2lsfoiy6xzizux8j8bnd0s8hl6azuckp25 + esapoeakn9ow9qaxvoft8kqbkotyy + Signature = |