gpt4 book ai didi

sql - 解包 Oracle 包

转载 作者:行者123 更新时间:2023-12-01 11:36:41 26 4
gpt4 key购买 nike

我需要解包由其他开发人员创建的 Oracle 包。我在我的数据库中创建了 Prackage,但采用加密格式。

我需要的原因是,原来的开发人员已经离开了组织,现在包中定义的过程需要重新定义,以更新 DB 结构和逻辑的变化。

有人可以帮助我如何在 oracle 中解包。

最佳答案

您可以粘贴代码 here它会为您解包。
请注意,您将丢失所有注释,但变量名称将保留。
但为了好玩,让我们测试一下逻辑。

首先创建程序:

sqlplus testing/testtest
SQL*Plus: Release 11.2.0.3.0 Production on Fri Oct 10 08:36:06 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create or replace procedure AA as
2 begin
3 null;
4 /*comments*/
5 end;
6 /
Procedure created.

接下来我们将程序保存到操作系统中:

SQL> save aa.sql
Created file aa.sql
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
oracle@HOSTNAME:/home/oracle/USER/wrapTest> ll
total 12K
drwxr-x---. 4 oracle oinstall 4.0K Oct 10 08:36 ../
-rw-r-----. 1 oracle oinstall 66 Oct 10 08:37 aa.sql
drwxr-x---. 2 oracle oinstall 4.0K Oct 10 08:37 ./

保存后,我们将使用 seeded wrap 实用程序来混淆包:

oracle@HOSTNAME:/home/oracle/USER/wrapTest> wrap iname=aa.sql oname=aa.pls
PL/SQL Wrapper: Release 11.2.0.3.0- 64bit Production on Fri Oct 10 08:37:29 2014
Copyright (c) 1993, 2009, Oracle. All rights reserved.
Processing aa.sql to aa.pls

现在让我们看看它长什么样:

oracle@HOSTNAME:/home/oracle/USER/wrapTest> cat aa.
aa.pls aa.sql
oracle@HOSTNAME:/home/oracle/USER/wrapTest> cat aa.pls
create or replace procedure AA wrapped
a000000
1f
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
22 55
7weeW1mRAdYVG9cX0WEujCaQghIwg5nnm7+fMr2ywFy49cO4dIvAwDL+0oabmYEILYsGwIHH
LcmmpnWE55Q=

/

所以我们将该代码复制到该链接中,这就是它的样子:
unwrapped

如您所见,我们丢失了评论但检索了代码。

关于sql - 解包 Oracle 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26299356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com