大家都知道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 oname=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 db内部的package全部是加密的,需要解密使用oracle wrap加密过的程序包,而unwrap解密工具可以拿到明文的package源代码。 解密的理论依据都来源于 "The oracle hacker's handbook" by David Litchfield 这...
wrap加密方式是Oracle提供的一种数据保护方法,它使用一个密钥对其他敏感数据进行封装或“打包”。wrap技术可以保护如PL/SQL代码和数据库凭据等数据的完整性。当使用wrap技术时,可以采用一个密钥对数据进行加密,...
简介: 该软件破解了10,11g的... 使用方法: 输入用户、密码、tnsname -> 连接9i, 10g、11g数据库 -> 选择schema、代码类型 -> 选择代码->Unwrap 或者 直接将加密过的代码输入到wrap text编辑框中(仅10g、11g)->Unwrap
### 如何加密Oracle中的存储过程 #### 知识点一:理解Oracle存储过程与加密的重要性 - **存储过程概述**:存储过程是在数据库中编写的SQL程序,它们被编译并存储在数据库服务器上,可以在应用程序中通过调用执行。...
Oracle数据库中的存储过程是数据库管理员和开发者常用的工具,用于封装一系列的SQL和PL/SQL语句,以便在需要时重复调用...同时,Oracle数据库还提供了商业加密包如Oracle Advanced Security,可以提供更强的数据保护。
除了Oracle自带的WRAP工具外,市场上还有一些第三方工具提供更为高级的加密功能,如代码混淆、动态解密等。这些工具通常具有更灵活的配置选项和更强大的安全特性。 ##### 3. 使用Oracle内置功能 从Oracle 12c版本...
Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...
Oracle 提供了两种方法来加密存储过程:使用 `wrap` 工具和 `dbms_ddl` 包。 1. **wrap 工具** `wrap` 是一个操作系统级别的命令,用于加密 PL/SQL 源代码。其基本语法如下: ```bash wrap iname=input_file ...
方法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提供的`wrap`工具对存储过程进行加密。`wrap`工具位于`$ORACLE_HOME/bin`目录下,它的主要功能是将源代码加密,防止非授权用户查看。使用`wrap`工具的基本语法如下: ```bash $wrap iname=input_...
在Oracle数据库中,"wrapped"代码是指经过编译和加密的存储过程、函数或包,通常用于保护敏感的商业逻辑或源代码不被未经授权的访问。这个工具在Oracle 10g、11g和12c版本中均通过了测试,确保了广泛的兼容性,并且...
Oracle FYunwrap 是一款专为Oracle数据库设计的对象解密工具,主要功能是针对使用`wrap`命令加密的PL/SQL代码进行解密。在Oracle数据库中,`wrap`命令被用来压缩和加密源代码,以保护敏感的数据库逻辑不被轻易查看或...
在 Oracle 8i R2 中,Oracle 提供了一个名为 wrap 的工具,可以将存储过程的源代码加密。这个工具可以将源代码转换为二进制格式,使得源代码无法被直接阅读或修改。 要使用 wrap 工具,需要首先创建一个 SQL 文件,...
Oracle数据库在保护其内部资源,如存储过程、函数和包的源代码时,常常采用wrap加密技术。Wrap加密主要是为了防止未经授权的用户查看或修改这些关键的PL/SQL代码。然而,这对于数据库管理员和开发人员来说,有时需要...
为了对存储过程进行加密,可以使用Oracle提供的`wrap`工具。在命令行中执行以下命令: ```bash D:\>wrap iname=a.sql ``` 该命令将读取`a.sql`文件中的内容并生成一个名为`a.plb`的加密文件。`wrap`工具会输出类似...
加密Oracle存储过程通常涉及以下步骤: 1. **设置NLS_LANG环境变量**: 在命令行中,你需要设置NLS_LANG环境变量来确保正确的字符集。在这个例子中,有两种可能的设置: - `set NLS_LANG=AMERICAN_AMERICA.USACII...
以下是一个详细的步骤来解释如何在Windows上加密Oracle存储过程。 1. **创建存储过程** 首先,我们需要创建一个存储过程。例如,创建一个名为`test_bf`的简单存储过程: ```sql CREATE OR REPLACE PROCEDURE ...
- 使用WRAP工具进行加密。 请注意,这些知识点是基于给定文件内容的解析和补充,面试准备时还应关注更多细节和实际操作能力。在面试过程中,除了回答问题,还可能需要解释更深层次的概念、解释特定场景下的最佳...
在Oracle数据库中,开发者有时会将存储过程或函数的源代码进行加密(wrap)处理,以保护商业逻辑和敏感信息。然而,在特定情况下,如需要查看或调试已加密的代码时,就需要进行unwrap操作,即将加密的PL/SQL代码还原...