ABAP代码隐藏或加密或加扰

2020-08-25 11:22发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们是否可以通过任何方式从客户端隐藏或加密或加扰ABAP程序或功能模块?

任何方法,对我都有用

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们是否可以通过任何方式从客户端隐藏或加密或加扰ABAP程序或功能模块?

任何方法,对我都有用

付费偷看设置
发送
7条回答
奄奄一息的小鱼
1楼-- · 2020-08-25 11:43

人们只能希望修补有问题的系统,以便* @#不再起作用。

这是为什么: 2198580-ABAP中的代码注入漏洞

作为一名谦逊的顾问,我非常反对由隐藏了产品的供应商使用软件的想法 他们的代码(是的,我已经使用过此类插件,并且支持非常繁琐,更不用说您无法轻松地验证代码质量,安全隐患等)。

Haoba3210
2楼-- · 2020-08-25 12:03

由于这个问题是关于ABAP开发技术的问题,而不是关于ABAP Application Server平台的问题,因此我相应地更改了主要标签。

亦是此间程序员
3楼-- · 2020-08-25 12:02

尝试输入

 * @#@@ [SAP] 

在代码的第一行。

没有简单的方法可以找回代码,因此请确保在备份之前进行备份。

或者,这是我在网上找到的程序(我找不到其他解决方案。有人说不再可能):

程序ZHIDE没有标准页面标题。
 ******************************************************  **********************
 *该程序隐藏了ABAP的任何源代码,并通过
 *此源代码中的密码。 所以第一个被隐藏的候选人
 *应该是ZHIDE本身。
 *
 *隐藏之后,您仍然可以运行abap(加载版本完整)
 *,但无法显示,编辑,跟踪,传输或生成。
 *
 *如果未隐藏ABAP,则程序将其隐藏;如果将其隐藏,则将其隐藏
 *取消隐藏。
 *
 *要执行此程序,请在此更改用户名和密码
 *源代码优先。
 ******************************************************  **********************
 块的选择屏幕开始。
 选择屏幕行的开始。
 选择屏幕注释1(8)PWD。
 选择画面位置35。
 参数:PASSWORD(8)修改ID AAA。
 选择屏幕行尾。
 参数:PROGRAM(8)。
 块的选择屏幕结束。
 *
 选择屏幕输出时。
   环视屏幕。
     如果SCREEN-GROUP1 ='AAA'。
       屏幕不可见='1'。
       修改屏幕。
     万一。
   结局。
 *
 初始化。
   PWD ="密码"。
 *
 选择开始。
   表格:TRDIR。
 *用户名和密码检查
   如果SY-UNAME <>" SAP"或密码<>" P​​ASSWORD"。
     WRITE:/"密码错误"。
     出口。
   万一。
 * SAP拥有?
   如果未编程CP'Z *'而未编程CP'Y *'。
     写:/'不要隐藏原始的SAP程序!'。
     出口。
   万一。
 *存在吗?
   选择单*从TRDIR WHERE NAME = PROGRAM。
   如果SY-SUBRC <> 0。
     写:/"程序不存在!"。
     出口。
   万一。
 *它有当前生成的版本吗?
   数据:F1型D,F3型D.
   数据:F2 TYPE T,F4 TYPET。
   执行SQL。
   从D010LINF中选择UDAT,UTIME,SDAT,STIME到:F1,:F2,:F3,:F4
                        PROG =程序
   ENDEXEC。
   如果F1  1。
     写:/'无法生成适当的程序名称'。
     出口。
   万一。
 *检查它是否已经在d010s中(已隐藏)
   数据:F5(8)。
   执行SQL。
     从D010S的PROG =:NEW_NAME中选择PROG到:F5
   ENDEXEC。
   如果F5是初始的。
 *没有这样的隐藏程序,将其隐藏
     执行SQL。
       更新D010S SET PROG =:NEW_NAME WHERE PROG =:PROGRAM
     ENDEXEC。
   其他。
 *那里已经有一个隐藏程序,将其取消隐藏
     执行SQL。
       更新D010S SET PROG =:PROGRAM WHERE PROG =:NEW_NAME
     ENDEXEC。
   万一。


 ***程序结束
 
Nir深蓝
4楼-- · 2020-08-25 11:59

这个问题已经问了好几次了,答案始终是:不可能了。

太Q了
5楼-- · 2020-08-25 12:04

不可能,即使是那时也很皱眉-在二十多年的讨论中。

shere_lin
6楼-- · 2020-08-25 11:51

即使 您可以将其隐藏,只有愚蠢的客户才能购买。

一周热门 更多>