Rewrap.exe Oracle

Skip Headers

  1. Rewrap.exe Oracle Card
  2. Rewrap.exe Oracle Code

Jul 11, 2007 SoftDream Oracle UnWrapper is a unwrapping software for Oracle 7/8i/9i or Oracle 10g,Oracle 11 with unwrapping package,package body, stored procedures, triggers, views and user-defined functions.type.If you wrapped your own source code of package,stored procedures, triggers, views or user-defined functions with Oracle wrap tools,but you neglectful lost it,the application can help you recovery. Jul 25, 2018 Rewrap.exe Oracle Oracle API Platform Cloud Service: Design-First approach and using Oracle Apiary; Upgrade OEM 12.1.0.5 OMS to OEM13.2; Automate calls to SOAP and REST webservices using simple Python scripts; OpenSSL example commands; Oracle, Azure Cloud and licensing with hyperthreading enabled. 通过研究rewrap.exe的REWRAP.PRT文件,推测解密过程。 原始加密信息. This appendix describes how to use response files to perform silent or response file installations, configure network connections, and configure or start an Oracle database. It covers the following topics: C.1 How Response Files Work. Rewrap.exe Oracle. Oracle added (with PL/SQL Release. WrapNN.exe, where NN is the version number of the database. About Oracle Wrap Utility. Rewrap.exe Oracle Rating: 9,5/10 4092 votes Oracle Database Express Edition 11g Release 2 for Windows x64 - Unzip the download and run the DISK1/setup.exe: Oracle Database Express Edition 11g Release 2 for Windows x32.


PL/SQL User's Guide and Reference
Release 2 (9.2)

Part Number A96624-01

Home

Book List

Contents

Index

Master Index

Feedback

This appendix shows you how to run the Wrap Utility, a standalone programming utility that encrypts PL/SQL source code. You can use the Wrap Utility to deliver PL/SQL applications without exposing your source code.

This appendix discusses the following topics:

Advantages of Wrapping PL/SQL Procedures

By hiding application internals, the Wrap Utility prevents

  • Misuse of your application by other developers
  • Exposure of your algorithms to business competitors

Wrapped code is as portable as source code. The PL/SQL compiler recognizes and loads wrapped compilation units automatically. Other advantages include

  • Platform independence--you need not deliver multiple versions of the same compilation unit
  • Dynamic loading--users need not shut down and re-link to add a new feature
  • Dynamic binding--external references are resolved at load time
  • Strict dependency checking--invalidated program units are recompiled automatically
  • Normal importing and exporting--the Import/Export utility accepts wrapped files

Limitations of the Wrap Utility

String literals, number literals, and names of variables, tables, and columns remain in plain text within the wrapped file. Wrapping a procedure helps to hide the algorithm and prevent reverse-engineering, but it is not a way to hide passwords or table names that you want to be secret.

Some recent SQL syntax is not supported by the wrap utility by default. To enable the support for all SQL syntax, specify the option edebug=wrap_new_sql (with no dash). This option is not the default because it causes all SQL statements to appear in plain text in the wrapped file.

Running the Wrap Utility

Rewrap.exe oracle card

To run the Wrap Utility, enter the wrap command at your operating system prompt using the following syntax:

Leave no space around the equal signs because spaces delimit individual arguments.

The wrap command requires only one argument, which is

where input_file is the name of the Wrap Utility input file. You need not specify the file extension because it defaults to sql. For example, the following commands are equivalent:

However, you can specify a different file extension as the following example shows:

Optionally, the wrap command takes a second argument, which is

where output_file is the name of the Wrap Utility output file. You need not specify the output file because its name defaults to that of the input file and its extension defaults to plb (PL/SQL binary). For example, the following commands are equivalent:

Rewrap.exe OracleRewrap.exe oracle software

However, you can use the option oname to specify a different file name and extension, as the following example shows:

Input and Output Files for the Wrap Utility

Rewrap.exe Oracle Card

The input file can contain any combination of SQL statements. However, the Wrap Utility encrypts only the following CREATE statements, which define subprograms, packages, or object types:

Oracle

All other SQL statements are passed intact to the output file. Comment lines are deleted unless they appear inside a subprogram, package, or object type.

When encrypted, a subprogram, package, or object type has the form

where header begins with the reserved word CREATE and ends with the name of the subprogram, package, or object type, and body is an intermediate form of object code. The word wrapped tells the PL/SQL compiler that the subprogram, package, or object type was encrypted by the Wrap Utility.

The header can contain comments. For example, the Wrap Utility converts

into

Generally, the output file is much larger than the input file.

Rewrap.exe Oracle

Error Handling in the Wrap Utility

If your input file contains syntax errors, the Wrap Utility detects and reports them. However, the Wrap Utility cannot detect semantic errors because it does not resolve external references. For example, it does not report the following error (table or view does not exist):

The PL/SQL compiler resolves external references. So, semantic errors are reported when the Wrap Utility output file (.plb file) is compiled.

Version Compatibility

The Wrap Utility is upward-compatible with Oracle. So, for example, you can load files processed by the V8.1.5 Wrap Utility into a V8.1.6 Oracle database. However, the Wrap Utility is not downward-compatible with Oracle. So, for example, you cannot load files processed by the V8.1.6 Wrap Utility into a V8.1.5 Oracle database.

Guidelines

When wrapping a package or object type, wrap only the body, not the spec. That way, other developers see the information they need to use the package or type, but they do not see its implementation.

Rewrap.exe Oracle Code

Like all encrypted files, wrapped files cannot be edited. To revise a wrapped file, you must revise and re-wrap the underlying source code. So, do not wrap a subprogram, package, or object type until it is ready for shipment to end-users.


Copyright © 1996, 2002 Oracle Corporation.
All Rights Reserved.

Home

Book List

Contents

Index

Master Index

Feedback
Home
E-mail Us
Oracle Articles
New Oracle Articles


Oracle Training
Oracle Tips

Oracle Forum
Class Catalog

Remote DBA
Oracle Tuning
Emergency 911
RAC Support
Apps Support
Analysis
Design
Implementation
Oracle Support


SQL Tuning
Security

Oracle UNIX
Oracle Linux
Monitoring
Remote s
upport
Remote plans
Remote
services
Application Server

Applications
Oracle Forms
Oracle Portal
App Upgrades
SQL Server
Oracle Concepts
Software Support

Remote S
upport
Development

Implementation


Consulting Staff
Consulting Prices
Help Wanted!


Oracle Posters
Oracle Books

Oracle Scripts
Ion
Excel-DB




Oracle Database Tips by Burleson Consulting

About Oracle Wrap Utility

These utilities can load, encrypt, tune or debug code objects. This chapter will focus on the utilities that perform these functions, including wrap, dbms_profiler, dbms_debug, loadjava, dropjava and loadpsp.
The first of these utilities to be discussed will be the wrap utility that allows PL/SQL developers to encrypt their code.
PL/SQL Wrap Utility for Encryption
The wrap utility (wrap.exe) provides a way for PL/SQL developers to protect their intellectual property by making their PL/SQL code unreadable. These encryption options have long been available for other programming languages and were introduced for PL/SQL in version 7. It still amazes me at the number of proprietary procedures and packages that are installed in a readable format - plain PL/SQL.
Unfortunately there is no such command as:
ALTER PACKAGE BODY [name] WRAP;
Instead, the wrap utility takes a readable, ASCII text file as input and converts it to a file containing byte code. The result is that the DBA, developers or anyone with database access cannot view the source code in any readable format.
The command line options for wrap are:
wrap iname=[file] oname=[file]
Wrap only for production - Wrapping code is desired for production environments but not for profiling. It is much easier to see the unencrypted form of the text in our reports than it is to connect line numbers to source versions. Use dbms_profiler before you wrap your code in a test environment, wrap it, and then put it in production.

One word of caution here - wrap is an one-way encryption process for the files; there is no un-wrap function. So never throw away your original file. The wrap is done to make sure that someone peeking into the dba_source view will not be able to see the code in clear text.

Oracle wrap example

Steve Callan has a good article on using wrap, and an example of how the wrap utility creates a encrypted plb file:

I can take the code for the wrap_it procedure and, well, wrap it. The code for the procedure is in a file named wrap_example.sql.

Note how Oracle changed the file extension to 'plb.'. In you view the plb file with a text editor you will see that it is wrapped and encrypted.

Best Practices for Using Wrap
• Always wrap code that contains sensitive information or commercial software that is owned and distributed by your company. The give_raise procedure is highly sensitive and should not reveal the code to anyone that can access a DBA view.
• Although the wrap utility does in fact work in a straightforward manner, it will not work when wrapping code that is specific to a version of the database. For instance, our example above would wrap fine in version 7, and the same encrypted output can be used in 9i. But, if the code contains PL/SQL commands specific to a version of the database (execute immediate), then the wrap executable must be at least at that level of the database.
• Wrapping a procedure in 9i will not compile when submitted to an Oracle7 database. For the same reason that a file created in Word/XP cannot be loaded into Word95, newer versions of wrap only work with that version of the database. The wrap utility does have a 'loose' connection to the database, although it does not ask for one (username, password, SID). Attempting to wrap code that will not compile, will result in errors like the one below:

C:Oraclebin>wrap iname=giveraise.sql oname=giveraise.wrp
PL/SQL Wrapper: Release 9.2.0.1.0- Production on Sun Dec 08 15:42:23 2002
Copyright (c) Oracle Corporation 1993, 2001. All Rights Reserved.
Processing giveraise.sql to giveraise.wrp
PSU(103,1,8,1):Encountered the symbol 'IF' when expecting one of the following:
constant exception
table LONG_ double ref
char time timestamp interval date binary national character
nchar
PL/SQL Wrapper error: Compilation error(s) for:
create or replace procedure give_raise
Outputting source and
continuing.
It would seem to make sense to just wrap all code with the oldest version of the wrap utility, but that will not work. For example, trying to wrap a procedure that contained a version specific command (like execute immediate) would require that specific version of the wrap executable. In fact, it is much easier to wrap a file on each version of the database that you plan to support. Also, code that is wrapped is portable to any platform. Therefore, PL/SQL code could be wrapped on Windows and distributed to any UNIX platform.
• Give careful consideration to wrapping code since it increases the size of the procedural object (function, procedure, and package) by as much as 200-250%. The size of the wrapped object is the only down side to wrapping; the execution benchmarks are the same.
• Do not wrap package specifications (headers), since they serve as great documentation. Good development practice is to only wrap the implementation, the package body.
• Provide a version of the wrap utility for developers to use. Since $ORACLE_HOME/bin is usually very restricted, copy the wrap executable to a shared drive that everyone can use.
No utility exists that will unwrap a wrapped package; otherwise, the wrap utility would be useless.
Now that encryption is addressed, the next step for a developer would be to ensure that the code performs well. Developers can use the dbms_profiler utility described in the next section to gain code execution benchmarks


For more details on Oracle utilities, see the book 'Advanced Oracle Utilities' by Bert Scalzo, Donald K. Burleson, and Steve Callan.

You can buy it direct from the publisher for 30% off directly fromRampant TechPress.




��