`

wrap加密oracle包

阅读更多

大家都知道oracle的很多系统包是没法看它的源码的,oracle就是将自己的源码用wrap加密了,所以看不到。为了保护自己辛苦写下的代码,我们自己也可以用该工具加密自己写的过程、函数、包、包体。只是wrap加密是不可逆的过程,所以大家在加密了自己代码的同时也必须保存好源码。下面做个wrap的小测试,我也像oracle那样只加密包体,不加密包说明,过程、函数的加密和这类似。

1、创建包说明、包体文件
包说明:d:\pkg_wrap_test .sql
create or replace package pkg_wrap_test is
  --测试过程,将输入的数字以字符格式输出
  procedure test1(i in number);

END pkg_wrap_test;

包体:d:\pkgbd_wrap_test .sql
create or replace package body pkg_wrap_test is
  --测试过程,将输入的数字以字符格式输出
  procedure test1(i in number) as
  begin
    dbms_output.put_line('输入参数是' || to_char(i));
  end;
END pkg_wrap_test;
2、创建包说明、加密包体
SQL> create or replace package pkg_wrap_test
  2  is
  3    --测试过程,将输入的数字以字符格式输出
  4    procedure   test_wrap(i   in   number);
  5
  6  END pkg_wrap_test;
  7  /

程序包已创建。

SQL> $wrap iname=d:\pkgbd_wrap_test.sql name=d:\pkgbd_wrap_test.plb

PL/SQL Wrapper: Release 10.2.0.1.0- Production on 星期四 11月 20 16:05:46 2008

Copyright (c) 1993, 2004, Oracle.  All rights reserved.

Processing d:\pkgbd_wrap_test.sql to d:\pkgbd_wrap_test.plb

3、执行创建包体的加密文件
SQL> @d:\pkgbd_wrap_test.plb;

程序包体已创建。

4、检测是否加密成功,可以通过pl/sql developer工具来检查,也可以用user_resource视图来检查。
pl/sql developer工具看的结果是:

/* Source is wrapped */

而user_resource视图的结果如下:
SQL> select name,text from user_source where type='PACKAGE BODY' and name='PKG_WRAP_TEST';
PKG_WRAP_TEST                  package body pkg_wrap_test wrapped
                               a000000
                               354
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               abcd
                               b
                               9f eb
                               CxYp585Q8j6W0BCKuJNCkFzupjkwg5m49TOf9b9cuJu/9MMWhdzQlpbyVuOWoWLRzKV0iwlp
                               plGpyqoX6pxQyuoCL7GPyM6lysamsq5EriREnWkPSbHKLkSAyOZJ6r+uJMo7Do8GXf12uyyr
                               0y+rUVvbCCJBP+Kr/LBBbjDtKWgmnbBKCtV3dxZGzsbaElc53jAnJ6MdMr6SvlTH+70CpiC/
                               S7IIypjYiKYahpb6


5、验证包的可用性
SQL> set serveroutput on
SQL> exec pkg_wrap_test.test_wrap(1);
输入参数是1

PL/SQL 过程已成功完成。

小测试完成
分享到:
评论

相关推荐

    ORACLE 内置package解密工具(unwrap )

    oracle db内部的package全部是加密的,需要解密使用oracle wrap加密过的程序包,而unwrap解密工具可以拿到明文的package源代码。 解密的理论依据都来源于 "The oracle hacker's handbook" by David Litchfield 这...

    oracle 加密技术

    wrap加密方式是Oracle提供的一种数据保护方法,它使用一个密钥对其他敏感数据进行封装或“打包”。wrap技术可以保护如PL/SQL代码和数据库凭据等数据的完整性。当使用wrap技术时,可以采用一个密钥对数据进行加密,...

    oracle wrap破解小工具

    简介: 该软件破解了10,11g的... 使用方法: 输入用户、密码、tnsname -> 连接9i, 10g、11g数据库 -> 选择schema、代码类型 -> 选择代码->Unwrap 或者 直接将加密过的代码输入到wrap text编辑框中(仅10g、11g)->Unwrap

    如何加密Oracle中的存储过程

    ### 如何加密Oracle中的存储过程 #### 知识点一:理解Oracle存储过程与加密的重要性 - **存储过程概述**:存储过程是在数据库中编写的SQL程序,它们被编译并存储在数据库服务器上,可以在应用程序中通过调用执行。...

    加密Oracle存储过程.doc

    Oracle数据库中的存储过程是数据库管理员和开发者常用的工具,用于封装一系列的SQL和PL/SQL语句,以便在需要时重复调用...同时,Oracle数据库还提供了商业加密包如Oracle Advanced Security,可以提供更强的数据保护。

    oracle存储过程加密

    除了Oracle自带的WRAP工具外,市场上还有一些第三方工具提供更为高级的加密功能,如代码混淆、动态解密等。这些工具通常具有更灵活的配置选项和更强大的安全特性。 ##### 3. 使用Oracle内置功能 从Oracle 12c版本...

    oracle存储过程unwrap解密工具.zip

    Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...

    oracle 存储过程的加密

    Oracle 提供了两种方法来加密存储过程:使用 `wrap` 工具和 `dbms_ddl` 包。 1. **wrap 工具** `wrap` 是一个操作系统级别的命令,用于加密 PL/SQL 源代码。其基本语法如下: ```bash wrap iname=input_file ...

    oracle下加密存储过程的方法

    方法1: X:\oracle\ora81\bin\wrap iname=XXX oname=XXX 方法2:9i在win2000下使用wrap加密存储过程,10g可以用加密包dbms_ddl.wrap或dbms_ddl.create_wrapped。 11.5.1 在win2000下使用wrap加密存储过程 wrap....

    ORACLE加密存储过程.doc

    接下来,利用Oracle提供的`wrap`工具对存储过程进行加密。`wrap`工具位于`$ORACLE_HOME/bin`目录下,它的主要功能是将源代码加密,防止非授权用户查看。使用`wrap`工具的基本语法如下: ```bash $wrap iname=input_...

    oracle wrapped 解密工具

    在Oracle数据库中,"wrapped"代码是指经过编译和加密的存储过程、函数或包,通常用于保护敏感的商业逻辑或源代码不被未经授权的访问。这个工具在Oracle 10g、11g和12c版本中均通过了测试,确保了广泛的兼容性,并且...

    oracle fyunwrap (oracle对象解密工具)

    Oracle FYunwrap 是一款专为Oracle数据库设计的对象解密工具,主要功能是针对使用`wrap`命令加密的PL/SQL代码进行解密。在Oracle数据库中,`wrap`命令被用来压缩和加密源代码,以保护敏感的数据库逻辑不被轻易查看或...

    Oracle 存储过程加密方法

    在 Oracle 8i R2 中,Oracle 提供了一个名为 wrap 的工具,可以将存储过程的源代码加密。这个工具可以将源代码转换为二进制格式,使得源代码无法被直接阅读或修改。 要使用 wrap 工具,需要首先创建一个 SQL 文件,...

    fyunwrap_full

    Oracle数据库在保护其内部资源,如存储过程、函数和包的源代码时,常常采用wrap加密技术。Wrap加密主要是为了防止未经授权的用户查看或修改这些关键的PL/SQL代码。然而,这对于数据库管理员和开发人员来说,有时需要...

    如何使你的Oracle存储过程迅速加密

    为了对存储过程进行加密,可以使用Oracle提供的`wrap`工具。在命令行中执行以下命令: ```bash D:\>wrap iname=a.sql ``` 该命令将读取`a.sql`文件中的内容并生成一个名为`a.plb`的加密文件。`wrap`工具会输出类似...

    oracle 存储过程加密的方法

    加密Oracle存储过程通常涉及以下步骤: 1. **设置NLS_LANG环境变量**: 在命令行中,你需要设置NLS_LANG环境变量来确保正确的字符集。在这个例子中,有两种可能的设置: - `set NLS_LANG=AMERICAN_AMERICA.USACII...

    windows中oracle存储过程加密的实例代码

    以下是一个详细的步骤来解释如何在Windows上加密Oracle存储过程。 1. **创建存储过程** 首先,我们需要创建一个存储过程。例如,创建一个名为`test_bf`的简单存储过程: ```sql CREATE OR REPLACE PROCEDURE ...

    Oracle数据库DBA面试题50道及答案.pdf

    - 使用WRAP工具进行加密。 请注意,这些知识点是基于给定文件内容的解析和补充,面试准备时还应关注更多细节和实际操作能力。在面试过程中,除了回答问题,还可能需要解释更深层次的概念、解释特定场景下的最佳...

    oracle unwrap v2

    在Oracle数据库中,开发者有时会将存储过程或函数的源代码进行加密(wrap)处理,以保护商业逻辑和敏感信息。然而,在特定情况下,如需要查看或调试已加密的代码时,就需要进行unwrap操作,即将加密的PL/SQL代码还原...

Global site tag (gtag.js) - Google Analytics