现在的位置: 首页 > 综合 > 正文

SAP IDES ACCESS KEY破解细节

2013年08月11日 ⁄ 综合 ⁄ 共 2503字 ⁄ 字号 评论关闭

原来网上只有粗略的介绍,但是对初学者而言都有些困难,很多只是一个大体的逻辑,并没有详细的步骤,费了半天劲终于搞定了,特写下来留念,有可能有些概念不对,以后随着了解的深入会陆续修正。
一:去掉权限判断文件LSKEYF00的只读属性:

1,Tcode处输入SE30回车(Tcode处就是指登陆sap后界面上放的可输入框)。

2,按F6(Tips&Tricks)(这里2,3步是以IDES4.7c为标准的,如果你用的4.6,按f6后会出现一个列表,随便选一个进入,会出现一个分为左右的程序显示框,先把左右的程序全部删除掉,然后参照第三步继续。ecc6.0与本4.7基本相同)

3,在右边写下面一段程序,

Update PROGDIR set edtx = ''

Where

name = 'LSKEYF00'

And

state = 'A'.

4,F8执行,这时文件LSKEYF00的Editor lock就会打开,也就是说将这个文件更改为可以编辑。等于windows下面取消只读权限。

二:在权限判断文件里面加上断点,阻断权限判断。

5,返回到起始页面,Tcode输入SE38回车。

6,程序输入LSKEYF00。

7,点display(显示)。

8,找到 JUMP_THE_WALL 块,
然后在这块中找到下面这段

CALL 'GET_DEVELOPER_KEY' ID 'NAME' FIELD 'ABCDEFGHIJKL'
ID 'CUSTID' FIELD '1234567890'
ID 'KEY' FIELD DUMMY_KEY.

9,把光标放在dummy_key后面.点击页面上的红色stop(ecc6.0里面没有红色stop,但是有两个“添加断点”,选第二个吧,第一个没有试),在这里添加一个断点,此时上面的最后一行会变为黄色。

10,点击后面一串图标中倒数第四个(创建新的会话),会出现一个新的操作界面窗口,在新窗口的Tcode输入se38回车。(这里如果不这样打开新窗口的话,有可能会造成不能进入断点的状况,我破解6.0时出现过。)

三:逐步修改权限判断文件中的判断参数的值,达到绕过权限判断的目的。

11,程序输入LSKEYF00。点change(修改),程序会进入断点。

12,此时界面下面有连续四行白色的输入框,后面是四行灰色的框。在第一个白色框里面输入sy-subrc回车。(在ecc6.0里面,这里的白色输入框在右边,输入sy-subrc回车后,后面的灰框并不会变成白色,需要双击后面的铅笔才可以。更改后按回车确认。继续14步)

13,此时该行后面的原本灰色的框会变白色,并且出现一个值,将这个值改为0并点击后面的铅笔进行保存。(6.0参照第12步)

14,按f6(单步执行程序),如果输入框中的0变成其它值,将它再改成0丙点击后面的铅笔进行保存。(6.0参照第12步)

15,再次按一下f6,这个值将不再变化(我总共改了两次0),如果程序跳转到endform这个值也没有改变,说明更改成功了。按f8(从断点开始运行完程序)。

16,上步按f8后,程序会跳出一个或者几个信息框,不必理会,确认,就会出现一个白底灰字的界面,里面是程序源代码,但因为不能修改,所以是灰色的。

四:通过插入可执行代码的方法修改权限判断文件,一劳永逸。

17,这时还是找到上次添加断点那里,

CALL 'GET_DEVELOPER_KEY' ID 'NAME' FIELD 'ABCDEFGHIJKL'
ID 'CUSTID' FIELD '1234567890'
ID 'KEY' FIELD DUMMY_KEY.
把光标放在dummy_key.后面,点击界面上的“插入”按钮(快捷键ctrl+shift+f8),屏幕中就会出现

*{ INSERT rightboy 1

*

*} INSERT

其中第一行的后面那串字符串可能会不一样。这时只有中间的*那一行是可以输入的,将*删掉,加入

sy-subrc = 0.

也就是将刚才的内容更改为如下:

*{ INSERT rightboy
sy-subrc = 0.
*} INSERT

18,点击保存,程序会再次跳到断点,按照12-16的步骤继续更改那个值为0并继续,最后会提示保存成功。(如果提示选择session,可以自己点击"新建"随便建立一个,摸索两下就能搞定,此处不再赘述)

19,然后点击程序-激活(快捷键ctrl+f3)(这里,我在破解另外一个4.6c的时候“激活”按钮并不可能,其实此处激活是自动的,不必理会,你会看到显示的程序名的后面有一个“活动的”或者“active”的标记,如果没有,“激活”按钮一定可用),如果还跳到断点,请继续按照上述步骤更改值,最后会提示激活成功。

20,关闭所有的ides登陆界面,重新登陆ides,Tcode输入se38回车,程序输入LSKEYF00。点display(显示)。找到刚才修改的地方,应该发现刚才的添加成功了。

21,我通过破解大致了解了这个程序文件的内容,这程序就是ides判断是否有key的判断程序,当sy-subrc = 0的时候,就有权限访问,如果不满足一些条件,sy-subrc 就会改变,所以在这里强制它变为0,就等于破解掉了。于是我就重复步骤将原码变成下列的样子:

CALL 'GET_DEVELOPER_KEY' ID 'NAME' FIELD 'ABCDEFGHIJKL'
ID 'CUSTID' FIELD '1234567890'
ID 'KEY' FIELD DUMMY_KEY.
*{ INSERT rightboy 1
sy-subrc = 0.
*} INSERT

CHECK SY-SUBRC EQ 2. "customer system!
*{ INSERT rightboy 2
sy-subrc = 0.
*} INSERT
MOVE SPACE TO DUMMY_KEY.
*{ INSERT rightboy 3
sy-subrc = 0.
*} INSERT

RC = 0.
ENDFORM. " JUMP_THE_WALL

以上一切步骤完毕,我后来又破解了几个不同版本的系统,并将上述步骤完善了一下,4.6,4.7,6.0都可以用此方法破解,其中比较关键的是第一步,去掉LSKEYF00文件的editor lock,其他步骤大同小异,希望对大家有所帮助。

【上篇】
【下篇】

抱歉!评论已关闭.