Oracle Unwrap Online

0 views
Skip to first unread message

Ailene Goldhirsh

unread,
Aug 5, 2024, 8:14:29 AM8/5/24
to intilchare
HiWe have a requirement to upgrade a custom application built on Oracle7 to 10g. There are some wrapped procedures which could not be migrated. Is there any toll available to unwarp the same and reqrap after migration to 10g?

Thanks

Murali


Hi,

I came across your blog and I am trying to unwrap a PL/SQL package in 9i, But it fails. If I am not mistaken, Base 64 encoding is in 10g not in 9i. I tried unwrap utility online but it fails saying not a valid wrapped code.


Thanks

Renuka


@Mark

What your looking at is the output from the compression, not from base64 decoding. And in the compressed output the same character wil not always map to the same output character, it will depend on the place in the origin al string and the characters before it.


Great findings, thanks for sharing it with us. However, I have some questions

I tried to follow the steps as per your printscreens and also insatlled the objects from your attached file.

I am getting null value from your last printscreen step(viz. I took the last part of the code from your attached file)

Can you also post the real code for unwrapping :-), if thats possible


Nice post, the 10g wrap mechanism is in my opinion much weaker than the 9i and lower mechanism. The problem with the 9i mechanism is that the symbol table is visible, with 10g to 11g that is not so BUT as you have shown the mechanism is weaker as full reversal is possible. With 9i its simply the internal state of the PL/SQL compiler, i.e. DIANA written out to disk as IDL. The unwrap process for 9i is a feature of the design of DIANA (Goos et al) as DIANA was intended for low memory older machines where code would be stored in an intermediate format and it should be possible to reconstruct the source code. writing an unwrapper for 9i and lower; a complete one is unfortunately a much bigger task than 10g. So in my opinion, we gained a hidden symbol table but a much weaker mechanism to hide our code in 10g.


While the pandemic has caused a surge in online shopping, a new Oracle Retail survey shows that many customers are ready to venture back into stores this holiday season. Nearly 20% of shoppers surveyed plan to do most of their shopping in-store with 47% planning to split purchases between online and brick-and-mortar shops. Still another 16% plan to make it as close as the parking lot, opting to retrieve orders curbside. And, despite the challenging year, 58% of consumers expect to spend the same or more on holiday shopping than they did last year.


The survey polled 5,143 consumers in the United States, United Kingdom, Australia, China, Brazil, Mexico, Italy, France, Germany and the United Arab Emirates in September 2020 about their COVID-19 shopping habits and plans for holiday shopping. Unwrap your complimentary copy of the report here.


As consumers spent more time shopping online during COVID-19, the survey found that 48% had discovered new brands on social media. This is a clear signal to retailers that upping social advertising this holiday season could impact sales.


Oracle is the platform for modern retail. Oracle provides retailers with a complete, open, and integrated platform for leading retail solutions, cloud services, and hardware that are engineered to work together. Innovative retailers use Oracle solutions to pivot to customer and to drive agility across the business. Oracle Retail customers can deliver an authentic customer experience while protecting their people, processes, brand, and customers. For more information, visit our website www.oracle.com/retail.


The Oracle Cloud offers a complete suite of integrated applications for Sales, Service, Marketing, Human Resources, Finance, Supply Chain, and Manufacturing, plus Highly Automated and Secure Oracle Cloud Infrastructure featuring the Oracle Autonomous Database. For more information about Oracle (NYSE: ORCL), please visit us at www.oracle.com.


PL/SQL provides different kinds of functionality to the user, in which that unwrapper is the one of functionality that is provided by the PL/SQL. Sometimes we need to hide the code from the end-user, so SQL developers wrap the code, and that means it hides the functionality from the user because of security reasons. There are conditions where you wish to examine the wellspring of a wrapped PL/SQL bundle, technique, or capacity. By using PL/SQL unwrapped, we can easily find out the migration error, or we can say that we can find the root cause faster as compared to other processes.


In the above example, we try to create the function to make the addition of two numbers. Here we initialize the two variables with integer data types such as P_INT1and P_INT2 with integer data types as shown in the above procedure. After that, we make the addition of two numbers and return the sum of numbers. Here we created a very simple function. The final result of the above PL/SQL function we illustrated by using the following screenshot as follows.


In the above example, we use the wrap command with the name keyword as shown; after that, we need to write the file name that we need to wrap. The final result of the above command we illustrated by using the following screenshot as follows.


1. Firstly, we just need to right-click in our code and click on the unwrap command. For this command, first, we need to install the PL/SQL unwrapper package on our oracle SQL developer.

After right click shows the unwrap command as shown in the following screenshot as follows.


2. In the second, we can directly use an online tool to unwrap the code. Here we will see how we can unwrap code by using the online tool as follows.

In the online tool, we need to copy the wrapped code and click on the unwrap button. After completing the execution, it shows the result as shown in the following screenshot as follows.


We hope from this article you learn PL/SQL unwrapper. From the above article, we have learned the basic syntax of the unwrapped, and we also see different examples of the unwrapped. From this article, we learned how and when we use PL/SQL unwrapper.


This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy


Transparent data encryption (TDE) in Azure SQL with customer-managed key (CMK) enables Bring Your Own Key (BYOK) scenario for data protection at rest, and allows organizations to implement separation of duties in the management of keys and data. With customer-managed TDE, the customer is responsible for and in a full control of a key lifecycle management (key creation, upload, rotation, deletion), key usage permissions, and auditing of operations on keys.


In this scenario, the key used for encryption of the Database Encryption Key (DEK), called TDE protector, is a customer-managed asymmetric key stored in a customer-owned and customer-managed Azure Key Vault (AKV), a cloud-based external key management system. Key Vault is highly available and scalable secure storage for RSA cryptographic keys, optionally backed by FIPS 140-2 Level 2 validated hardware security modules (HSMs). It doesn't allow direct access to a stored key, but provides services of encryption/decryption using the key to the authorized entities. The key can be generated by the key vault, imported, or transferred to the key vault from an on-premises HSM device.


For Azure SQL Database and Azure Synapse Analytics, the TDE protector is set at the server level and is inherited by all encrypted databases associated with that server. For Azure SQL Managed Instance, the TDE protector is set at the instance level and is inherited by all encrypted databases on that instance. The term server refers both to a server in SQL Database and Azure Synapse and to a managed instance in SQL Managed Instance throughout this document, unless stated differently.


For those using service-managed TDE who would like to start using customer-managed TDE, data remains encrypted during the process of switching over, and there is no downtime nor re-encryption of the database files. Switching from a service-managed key to a customer-managed key only requires re-encryption of the DEK, which is a fast and online operation.


In order for the logical server in Azure to use the TDE protector stored in AKV for encryption of the DEK, the Key Vault Administrator needs to give access rights to the server using its unique Microsoft Entra identity. There are two access models to grant the server access to the key vault:


Azure role-based access control (RBAC) - Use Azure RBAC to grant a user, group, or application access to the key vault. This method is recommended for its flexibility and granularity. The Key Vault Crypto Service Encryption User role is needed by the server identity to be able to use the key for encryption and decryption operations.


Vault access policy - Use the key vault access policy to grant the server access to the key vault. This method is simpler and more straightforward, but less flexible. The server identity needs to have the following permissions on the key vault:


In the Access configuration Azure portal menu of the key vault, you have the option of selecting Azure role-based access control or Vault access policy. For step by step instructions on setting up an Azure Key Vault access configuration for TDE, see Set up SQL Server TDE Extensible Key Management by using Azure Key Vault. For more information on the access models, see Azure Key Vault security.


When server is configured to use a TDE protector from AKV, the server sends the DEK of each TDE-enabled database to the key vault for encryption. Key vault returns the encrypted DEK, which is then stored in the user database.


It may take around 10 minutes for any permission changes to take effect for the key vault. This includes revoking access permissions to the TDE protector in AKV, and users within this time frame may still have access permissions.

3a8082e126
Reply all
Reply to author
Forward
0 new messages