Oracle PL / SQL 코드 복호화
4039 단어 Oaclewrapdbms_ddlOracle 코드 암호 화
1. Wrap 명령 으로 암호 화
2. dbms 통과 하기ddl 패 키 지 는 암호 화 에 사 용 됩 니 다.
3. Oracle 암호 화 원리
4. 암호 화 코드 의 해독
1. Wrap 명령 으로 암호 화
1. 예 파일 pro 만 들 기wrap.sql
create or replace procedure pro_wrap is
begin
dbms_output.put_line('Wrap Demo');
end pro_wrap;
2. wrap 명령 을 통 해 pld 암호 화 파일 생 성wrap iname=c:\pk\pro_wrap.sql oname=c:\pk\pro_wrap.plb
c:\pk>wrap iname=c:\pk\pro_wrap.sql oname=c:\pk\pro_wrap.plb
PL/SQL Wrapper: Release 11.2.0.1.0- 64bit Production on 3 25 21:58:20 2014
Copyright (c) 1993, 2009, Oracle. All rights reserved.
Processing c:\pk\pro_wrap.sql to c:\pk\pro_wrap.plb
3. 암호 화 된 파일 prowrap. pld, 저장 프로시저 생 성 c:\pk>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 3 25 22:17:19 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> set serveroutput on
SQL> @c:\pk\pro_wrap.plb
。
SQL> exec pro_wrap;
Wrap Demo
PL/SQL 。
exec 테스트 를 통 해 저장 과정 이 성공 적 으로 실 행 된 것 을 볼 수 있 습 니 다.4. 코드 가 암호 화 되 었 는 지 다시 확인 합 니 다.
SQL> set newpage none
SQL> set heading off
SQL> set space 0
SQL> set pagesize 0
SQL> set trimout on
SQL> set trimspool on
SQL> set linesize 2500
SQL> SELECT dbms_metadata.get_ddl('PROCEDURE','PRO_WRAP') FROM dual;
CREATE OR REPLACE PROCEDURE "SYS"."PRO_WRAP" wrapped
a000000
354
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
50 8d
cKb3/QEp0AIWOH/IyhxS2ffLbrUwg5nnm7+fMr2ywFwWFpfQlpbyVmmldIvAwDL+0oYJaWm4
UpuySv4osr3nsrMdBjAsriTqsoG4yGWcd2jPMi720eokHwKpyrXOpcrGpvY5pg2Gb0c=
암호 화 된 코드 임 을 알 수 있 습 니 다.둘. dbms 통과 하기ddl 패 키 지 는 암호 화 에 사 용 됩 니 다.
Wrap 는 명령 행 방식 이 고 dbmsddl 패 키 지 는 10g 에서 제공 하기 시작 한 코드 암호 화 패키지 로 코드 에서 호출 할 수 있 고 더욱 유연 합 니 다.
desc dbms 로dll 은 구체 적 인 프로 세 스 이름과 파 라 메 터 를 볼 수 있 습 니 다.간단 한 예 를 들 어 코드 를 암호 화 합 니 다.
SQL> declare
2 v_sql varchar2(1024);
3 v_wrap varchar2(1024);
4 begin
5
6 v_sql := 'create or replace procedure pro_wrap is
7 begin
8 dbms_output.put_line(\''Wrap Demo\'');
9 end pro_wrap; ';
10
11 select dbms_ddl.wrap(v_sql) into v_wrap from dual;
12 dbms_output.put_line('==========================');
13 dbms_output.put_line(v_sql);
14 dbms_output.put_line('==========================');
15 dbms_output.put_line(v_wrap);
16 end;
17 /
==========================
create or replace procedure pro_wrap is
begin
dbms_output.put_line(\'Wrap Demo\');
end pro_wrap;
==========================
create or replace procedure pro_wrap wrapped
a000000
354
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
56 96
uO8D8aP98Qo6Xpynkx0It0gfVwQwg5nnm7+fMr2ywFwWFpfQlpbyVmmldIsG9cAy/tKGBsNp
abhSm7JK/iiyveeysx0GMCyuJOrwBIG4yPKcd2jkBDIu9tHc6iQfAqnKtc6lysam9kQ5phYZ
H50=
PL/SQL 。
직접 암호 화 된 전후의 코드 차 이 를 볼 수 있 습 니 다.3. Oracle 암호 화 원리
Oracle 10g PL / SQL 의 wrap 과정 은 원본 코드 를 lz 압축 lzstr 한 다음 에 압축 데 이 터 를 SHA - 1 연산 하여 40 비트 의 암호 화 문자열 shstr 를 얻 은 다음 에 암호 화 문자열 과 압축 문자열 을 shstr + lzstr 로 연결 한 다음 에 맞 춘 문자열 을 Oracle 쌍 문자 변환 (전환 표) 하고 마지막 으로 변 환 된 문자열 을 base 64 인 코딩 하 는 것 이다.최종 적 으로 wrap 의 암호 화 문자열 을 얻 었 습 니 다.
4. 암호 화 코드 의 해독
훌륭 한 문장 을 보다
Oracle 10g unwrap 기술 분석 에 의 해 GENXOR http://blogs.360.cn/blog/oracle10g-unwrap%E6%8A%80%E6%9C%AF%E5%88%86%E6%9E%90-by-genxor/
MAIL: [email protected]
BLOG:http://blog.csdn.net/xcl168
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
activemq 5.5 의 입문 은 설치, 시작, 데이터베이스 지속 화 를 포함한다Apache ActiveMQ 5.5.0 은 주로 유지보수 버 전 으로 130 개가 넘 는 문 제 를 복 구 했 으 며 대부분 bug 와 개선 이 었 다. Improved performance for offline d...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.