code obfuscation

 

(8.0.29)
調べた限りなし

(19c)


https://docs.oracle.com/cd/F19136_01/lnpls/plsql-source-text-wrapping.html#GUID-AB6FFBAD-DE20-4197-A885-AF81F3766FA2
https://www.shift-the-oracle.com/utility/wrap.html


WRAP ユーティリティ


vi proc1.sql

create or replace procedure proc1
as
begin
  dbms_output.put_line('hello, world!');
end;
/

vi proc2.sql

create or replace procedure proc2
as
begin
  dbms_output.put_line('hello, world!');
end;
/

wrap iname=proc2.sql

cat proc1.sql
cat proc2.sql
cat proc2.plb


set serveroutput on
@proc1.sql
@proc2.plb

exec proc1
exec proc2


select text from user_source
where name = 'PROC1'
order by line
;

select text from user_source
where name = 'PROC2'
order by line
;

 

 

(14)

https://www.cybertec-postgresql.com/en/products/plpgsql_sec-encrypt-source-code/

PL/pgSQL_sec
という製品がCYBERTECから販売されている模様

 

 

(2019)

https://sqlserverwarrior.wordpress.com/2017/09/05/obfuscatingencrypting-your-sql-server-t-sql-code/

 

create or alter procedure proc1
as
begin
  print 'hello, world!';
end
go

create or alter procedure proc2
with encryption
as
begin
  print 'hello, world!';
end
go

exec proc1;
exec proc2;

 

select definition 
from sys.sql_modules
where object_id = object_id('proc1')
;

select definition 
from sys.sql_modules
where object_id = object_id('proc2')
;


exec sp_helptext proc1;
exec sp_helptext proc2;