apps用户在ebs中的重要程度不用多赘述,但是总是用客户会告诉你apps密码忘了怎么办(怎么办,凉拌),遇到这样的客户真想大喊一声臣妾做不到。
没办法客户是上帝,谁让他给钱呢。昨天又看到一个群里的兄弟求救客户apps密码忘了。下面简单给出破解apps密码的方法
一、获取GUEST用户密码
GUEST用户密码可以在$CONTEXT_FILE中获取,一般为ORACLE
二、创建破解apps密码的package
CREATE OR REPLACE PACKAGE APPS.cux_get_apps_passwd 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;
CREATE OR REPLACE PACKAGE BODY APPS.cux_get_apps_passwd
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;
三、获取apps密码
首先查出apps密码的密文
select encrypted_foundation_password from apps.fnd_user_view where user_name='GUEST';
这个会得到一长串的字符,然后用这一长串的字符去反编译出apps的密码
select apps.cux_fnd_web_sec.decrypt('GUEST/ORACLE','ZGBAC04CF4E5A4314A808562AF18E4DAB563CF6313B80AB23072D3DD4B5CA44ED93757A97E26288C748B3D25075162F5AE83') pwd from dual;
如此apps密码就完美的展现了,臣妾做到了。。。。。。。。。。