2024年5月21日发(作者:门奇致)
EHP7破解方案
1、用SE37执行SLIC_INSTALL_LICENSE
安装License,使SAP达到有安装号的状态。
2、SE37->OCS_CHECK_MAINTENANCE_CERT
删除原来函数:OCS_CHECK_MAINTENANCE_CERT,建设复制一个成Z…再删除。
SE37-> OCS_CHECK_MAINTENANCE_CERT 创建,属于函数组OCS_CORE,包SPAM.
IMPORT为空,EXPORT值为下
Para. Name Short text 其他
ev_systemid System id 其他信息留空
ev_systemno System number 其他信息留空
ev_instno Installation number 其他信息留空
ev_custkey Customer number 其他信息留空
ev_likey_product License key 其他信息留空
ev_likey_enddate Expiry date of the license key 其他信息留空
Changing留空,TABLES留空,ausnahmen值如下:
例外 短文本
No_valid_certificate No_valid_certificate
Not_checked Not_checked
Kernel_too_low Kernel_too_low
Internal_error
Internal_error
最后是代码段:
在ENDFUNCTION前面空白处点:
输入如下代码:
types: begin of
t_kernel_version,
key(21) type c,
data(69) type c,
end of t_kernel_version.
data: lt_kernel_version type table of t_kernel_version
with header line,
ls_kernel_version type t_kernel_version,
lv_krelease type sysaprl,
lv_klevel(5) type n,
lv_likey_product(20) type c,
" TYPE likey_sw_product,
lv_dbtype(3) type c,
lv_systemtype type sysysid,
lv_systemno type slic_sysid,
lv_instno(10) type c,
lv_custkey type custkey_t,
lv_check_neccessary type flag,
lv_subrc type sysubrc.
data: begin of ls_msg,
msgid like sy-msgid,
msgty like sy-msgty,
msgno like sy-msgno,
msgv1 like sy-msgv1,
msgv2 like sy-msgv2,
msgv3 like sy-msgv3,
msgv4 like sy-msgv4,
end of ls_msg.
perform is_check_neccessary changing lv_check_neccessary.
if lv_check_neccessary = off.
clear_message.
raise not_checked.
endif.
clear_message.
* Get the installation number
call function 'SLIC_GET_LICENCE_NUMBER'
importing
license_number = lv_instno.
* get the system type
call function 'TR_SYS_PARAMS'
importing
systemtype = lv_systemtype
exceptions
no_systemname = 1
no_systemtype = 2
others = 3.
if ( sy-subrc <> 0 or
lv_systemtype <> 'SAP' ) and
lv_instno <> 'SAP-INTERN' and
lv_instno <> 'FINALASSEM' and
* inst. numbers from R. St.
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '1520003802' and
lv_instno <> '3210000317' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
* inst. numbers from M.W./T.K.
lv_instno <> '' and
* inst. numbers from K.L.
lv_instno <> ''.
if ev_systemid is requested.
* Get the system ID
ev_systemid = sy-sysid.
endif.
if ev_systemno is requested.
* Get the system number
call function 'SLIC_GET_SYSTEM_ID'
importing
systemid = lv_systemno.
ev_systemno = lv_systemno.
endif.
if ev_instno is requested.
ev_instno = lv_instno.
endif.
if ev_custkey is requested.
* Get the HW key of the message server
call function 'SLIC_GET_CUSTKEY'
importing
custkey = lv_custkey
exceptions
slic_bad_parameter = 1
others = 99.
if sy-subrc = 0.
ev_custkey = lv_custkey.
else.
ev_custkey = 'nicht ermittelbar'(060).
endif.
endif.
* SYBASE SYB
case sy-dbsys.
when 'DB400' or 'DB2/400' or 'DB2/400A'.
lv_dbtype = 'AS4'.
when 'DB2/CS'.
lv_dbtype = 'DB6'.
when 'DB2/EXS'.
lv_dbtype = 'DB8'.
when others.
lv_dbtype = sy-dbsys(3).
endcase.
concatenate 'Maintenance_'
"#EC NOTEXT
lv_dbtype
into lv_likey_product.
ev_likey_product = lv_likey_product.
clear_message.
set extended check off.
call function 'SLIC_LIKEY_CHECK'
exporting
product = lv_likey_product
exceptions
no_valid_license_key = 1
error = 2
others = 99.
set extended check on.
case sy-subrc.
when 0.
when 1.
raise no_valid_certificate.
when others.
copy_message ls_msg.
lv_subrc = sy-subrc.
* get the current kernel version
call 'SAPCORE' id 'ID' field 'VERSION'
id 'TABLE' field lt_kernel_version-*sys*.
read table lt_kernel_version into ls_kernel_version
index 12.
lv_krelease = ls_kernel_version-data.
read table lt_kernel_version into ls_kernel_version
index 15.
lv_klevel = ls_kernel_version-data.
if lv_krelease = '700' and
lv_klevel < '145'.
message e809(tn) with lv_klevel
ev_systemid
raising kernel_too_low.
endif.
* It's another internal error in the license check
if ls_msg-msgid = space or ls_msg-msgty = space.
message e010(tn) with 'Execution of'
"#EC NOTEXT
'SLIC_LIKEY_CHECK'
"#EC NOTEXT
'aborted with rc'
"#EC NOTEXT
lv_subrc
raising internal_error.
else.
message id ls_msg-msgid type 'E' number ls_msg-msgno
with ls_msg-msgv1 ls_msg-msgv2
ls_msg-msgv3 ls_msg-msgv4
raising internal_error.
endif.
endcase.
else.
raise not_checked.
endif.
接着在
ENDFUNCTION这一行的后面空白处
点:
输入:
form is_check_neccessary changing ev_flag type flag.
data: lv_is_nzdm_update_system type trboolean,
lv_func_check_nzdm_system type rs38l_fnam
value 'OCS_SPAM_CHECK_FOR_UPD_SYSTEM',
ls_cvers type cvers.
ev_flag = on.
call function 'FUNCTION_EXISTS'
exporting
funcname = 'SLIC_LIKEY_CHECK'
exceptions
function_not_exist = 1
others = 99.
*{ INSERT ECCK900170
1
clear_message.
raise not_checked.
*} INSERT
if sy-subrc <> 0.
* FM SLIC_LIKEY_CHECK does not exist -> no check
ev_flag = off.
exit.
"the FORM
endif.
call function 'FUNCTION_EXISTS'
exporting
funcname = lv_func_check_nzdm_system
exceptions
function_not_exist = 1
others = 99.
if sy-subrc = 0.
* FM OCS_SPAM_CHECK_FOR_UPD_SYSTEM exists
* -> check whether this is a NZDM shadow system
call function lv_func_check_nzdm_system
importing
ev_is_update_system = lv_is_nzdm_update_system.
if lv_is_nzdm_update_system = on.
ev_flag = off.
exit.
"the FORM
endif.
endif.
endform.
"is_check_neccessary
*} INSERT
3、SE38->SAPLOCS_CORE
替换locs_coret99
点击
名称为zlocs_coret99.
输入SPAM,程序完成破解,可以正常运作。
zlocs_coret99需要创新创建一个:
SE38-> zlocs_coret99,其TYPE为I INClude program ,其application为s basis。
抬头文本为ZLOCS_CORET99.
点击
不用加任何代码,直接激活即可。
2024年5月21日发(作者:门奇致)
EHP7破解方案
1、用SE37执行SLIC_INSTALL_LICENSE
安装License,使SAP达到有安装号的状态。
2、SE37->OCS_CHECK_MAINTENANCE_CERT
删除原来函数:OCS_CHECK_MAINTENANCE_CERT,建设复制一个成Z…再删除。
SE37-> OCS_CHECK_MAINTENANCE_CERT 创建,属于函数组OCS_CORE,包SPAM.
IMPORT为空,EXPORT值为下
Para. Name Short text 其他
ev_systemid System id 其他信息留空
ev_systemno System number 其他信息留空
ev_instno Installation number 其他信息留空
ev_custkey Customer number 其他信息留空
ev_likey_product License key 其他信息留空
ev_likey_enddate Expiry date of the license key 其他信息留空
Changing留空,TABLES留空,ausnahmen值如下:
例外 短文本
No_valid_certificate No_valid_certificate
Not_checked Not_checked
Kernel_too_low Kernel_too_low
Internal_error
Internal_error
最后是代码段:
在ENDFUNCTION前面空白处点:
输入如下代码:
types: begin of
t_kernel_version,
key(21) type c,
data(69) type c,
end of t_kernel_version.
data: lt_kernel_version type table of t_kernel_version
with header line,
ls_kernel_version type t_kernel_version,
lv_krelease type sysaprl,
lv_klevel(5) type n,
lv_likey_product(20) type c,
" TYPE likey_sw_product,
lv_dbtype(3) type c,
lv_systemtype type sysysid,
lv_systemno type slic_sysid,
lv_instno(10) type c,
lv_custkey type custkey_t,
lv_check_neccessary type flag,
lv_subrc type sysubrc.
data: begin of ls_msg,
msgid like sy-msgid,
msgty like sy-msgty,
msgno like sy-msgno,
msgv1 like sy-msgv1,
msgv2 like sy-msgv2,
msgv3 like sy-msgv3,
msgv4 like sy-msgv4,
end of ls_msg.
perform is_check_neccessary changing lv_check_neccessary.
if lv_check_neccessary = off.
clear_message.
raise not_checked.
endif.
clear_message.
* Get the installation number
call function 'SLIC_GET_LICENCE_NUMBER'
importing
license_number = lv_instno.
* get the system type
call function 'TR_SYS_PARAMS'
importing
systemtype = lv_systemtype
exceptions
no_systemname = 1
no_systemtype = 2
others = 3.
if ( sy-subrc <> 0 or
lv_systemtype <> 'SAP' ) and
lv_instno <> 'SAP-INTERN' and
lv_instno <> 'FINALASSEM' and
* inst. numbers from R. St.
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '1520003802' and
lv_instno <> '3210000317' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
lv_instno <> '' and
* inst. numbers from M.W./T.K.
lv_instno <> '' and
* inst. numbers from K.L.
lv_instno <> ''.
if ev_systemid is requested.
* Get the system ID
ev_systemid = sy-sysid.
endif.
if ev_systemno is requested.
* Get the system number
call function 'SLIC_GET_SYSTEM_ID'
importing
systemid = lv_systemno.
ev_systemno = lv_systemno.
endif.
if ev_instno is requested.
ev_instno = lv_instno.
endif.
if ev_custkey is requested.
* Get the HW key of the message server
call function 'SLIC_GET_CUSTKEY'
importing
custkey = lv_custkey
exceptions
slic_bad_parameter = 1
others = 99.
if sy-subrc = 0.
ev_custkey = lv_custkey.
else.
ev_custkey = 'nicht ermittelbar'(060).
endif.
endif.
* SYBASE SYB
case sy-dbsys.
when 'DB400' or 'DB2/400' or 'DB2/400A'.
lv_dbtype = 'AS4'.
when 'DB2/CS'.
lv_dbtype = 'DB6'.
when 'DB2/EXS'.
lv_dbtype = 'DB8'.
when others.
lv_dbtype = sy-dbsys(3).
endcase.
concatenate 'Maintenance_'
"#EC NOTEXT
lv_dbtype
into lv_likey_product.
ev_likey_product = lv_likey_product.
clear_message.
set extended check off.
call function 'SLIC_LIKEY_CHECK'
exporting
product = lv_likey_product
exceptions
no_valid_license_key = 1
error = 2
others = 99.
set extended check on.
case sy-subrc.
when 0.
when 1.
raise no_valid_certificate.
when others.
copy_message ls_msg.
lv_subrc = sy-subrc.
* get the current kernel version
call 'SAPCORE' id 'ID' field 'VERSION'
id 'TABLE' field lt_kernel_version-*sys*.
read table lt_kernel_version into ls_kernel_version
index 12.
lv_krelease = ls_kernel_version-data.
read table lt_kernel_version into ls_kernel_version
index 15.
lv_klevel = ls_kernel_version-data.
if lv_krelease = '700' and
lv_klevel < '145'.
message e809(tn) with lv_klevel
ev_systemid
raising kernel_too_low.
endif.
* It's another internal error in the license check
if ls_msg-msgid = space or ls_msg-msgty = space.
message e010(tn) with 'Execution of'
"#EC NOTEXT
'SLIC_LIKEY_CHECK'
"#EC NOTEXT
'aborted with rc'
"#EC NOTEXT
lv_subrc
raising internal_error.
else.
message id ls_msg-msgid type 'E' number ls_msg-msgno
with ls_msg-msgv1 ls_msg-msgv2
ls_msg-msgv3 ls_msg-msgv4
raising internal_error.
endif.
endcase.
else.
raise not_checked.
endif.
接着在
ENDFUNCTION这一行的后面空白处
点:
输入:
form is_check_neccessary changing ev_flag type flag.
data: lv_is_nzdm_update_system type trboolean,
lv_func_check_nzdm_system type rs38l_fnam
value 'OCS_SPAM_CHECK_FOR_UPD_SYSTEM',
ls_cvers type cvers.
ev_flag = on.
call function 'FUNCTION_EXISTS'
exporting
funcname = 'SLIC_LIKEY_CHECK'
exceptions
function_not_exist = 1
others = 99.
*{ INSERT ECCK900170
1
clear_message.
raise not_checked.
*} INSERT
if sy-subrc <> 0.
* FM SLIC_LIKEY_CHECK does not exist -> no check
ev_flag = off.
exit.
"the FORM
endif.
call function 'FUNCTION_EXISTS'
exporting
funcname = lv_func_check_nzdm_system
exceptions
function_not_exist = 1
others = 99.
if sy-subrc = 0.
* FM OCS_SPAM_CHECK_FOR_UPD_SYSTEM exists
* -> check whether this is a NZDM shadow system
call function lv_func_check_nzdm_system
importing
ev_is_update_system = lv_is_nzdm_update_system.
if lv_is_nzdm_update_system = on.
ev_flag = off.
exit.
"the FORM
endif.
endif.
endform.
"is_check_neccessary
*} INSERT
3、SE38->SAPLOCS_CORE
替换locs_coret99
点击
名称为zlocs_coret99.
输入SPAM,程序完成破解,可以正常运作。
zlocs_coret99需要创新创建一个:
SE38-> zlocs_coret99,其TYPE为I INClude program ,其application为s basis。
抬头文本为ZLOCS_CORET99.
点击
不用加任何代码,直接激活即可。