首页
社区
课程
招聘
[原创]HR 人事管理系统5.8 算法分析
发表于: 2005-9-18 00:37 5675

[原创]HR 人事管理系统5.8 算法分析

2005-9-18 00:37
5675
【破文标题】:HR 人事管理系统5.8 算法分析

【破文作者】:KuNgBiM[DFCG]

【作者邮箱】:gb_1227@163.com

【软件名称】:企业通人事管理系统5.8

【软件大小】:8000 KB

【软件类别】:国外软件/共享版/商业管理

【下载地址】:http://www.soft101.com/Downloads/HR_RSGL.rar

【整理日期】:2005-9-11

【软件简介】:HR 人事管理系统,包括现代企业员工档案管理、人事管理、人事异动、奖惩管理、培训管理、证照管理、职称管理、系统管理等八大模块。C/S架构设计,具有强大的数据安全保障,并支持远程移动办公功能。

主要功能特点:

★界面美观易用:大图标图形导航,方便调用各功能组件。

★功能全面:包括现代企业员工档案管理、人事管理、人事异动、奖惩管理、培训管理、证照管理、职称管理、系统管理等八大模块。

★人事管理:对员工就职、员工调职、员工离职、员工复职等等都有全面的管理与明细的分析报表。

★数据查询:查询操作简单,系统内任何报表都具有查询、打印功能。

★生日管理:可以分多种方式查询、统计员工生日情况。

★安全保障:系统提供全面的数据备份、数据还原功能,数据安全得到全面保障。

★管理功能:系统每一个功能都可以分权限管理,方便多级别管理模式。

【保护方式】:注册码 + 启动NAG + 用户功能限制

【编译语言】:PowerBuilder 7.0

【调试环境】:WinXP、PEiD、PBKiller

【破解日期】:2005-09-18

【破解目的】:研究算法分析

【作者声明】:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

―――――――――――――――――――――――――――――――――
【破解过程】:

1、PEiD查壳,无壳,显示为 Microsoft Visual C++ 5.0 [Overlay] 编译,但目录下发现有 PBVM80.DLL,当即判断为PowerBuilder编译。

2、打开PBKiller,载入目录下的 rsgl.pbd 反编译后进行分析:

============= 反编译 rsgl.pbd 后,找到w_sys_zc窗口中定义的控件cb_3的clicked()事件响应代码段 ==============

string ls_zch
string ls_zch_1
decimal li_v_1 = 544     /* 单机版标识 */
decimal li_v_2 = 560     /* 网络版标识 */
decimal li_zcshu_t       /* 声明注册数量变量 */

call super::clicked;

if parent.rb_1.checked = true then     /* 默认的注册单机版的点击事件 */
    ls_edition = "4829"     /* 单机版内部识别号 */
    ls_zch = string(dec(parent.sle_1.text) * dec(ls_edition) + ls_dj,"##########################")
/* 装sle_1,ls_edition,ls_dj的值转换为decimal相加后再转换成指定格式的string */
    ls_zch_1 = parent.em_1.text + parent.em_2.text + parent.em_3.text + parent.em_4.text
/* 连接以上控件中的字符串 */

    if ls_zch_1 = left(ls_zch,4) + right(ls_zch,4) + left(right(ls_zch,8),4) + right(left(ls_zch,8),4) then
/* 从左边取四个字符 + 从右边取四个字符 + 从右面取八字在此基础上从左边取出四个 + 从左边取八个在此基础中从右取四个 */
/* 以上取出的字符相连判断看是否等于ls_zch_1 */
        update user_base set slhao =' ' , zchao =' ' , lei =0  using sqlca;     /* 条件成立更新user_base这个表 */
/* SQL Parameters List
0-> :parent.sle_1.text
1-> :ls_zch_1
2-> :li_v_1
*/

        if sqlca.sqlcode = 0 then
            messagebox(parent.title,"注册成功 !")
            update user_base set shu =0  using sqlca;
            halt
        else
            messagebox(parent.title,"注册号正确但注册失败 !")
        end if

    else
        messagebox(parent.title,"注册失败 !")
    end if

end if

if parent.rb_2.checked = true and dec(parent.em_5.text) > 1 then     /* 引发注册网络版的点击事件 */
    ls_edition = "2518"     /* 网络版内部识别号 */
    ls_zch = string((dec(parent.sle_1.text) / dec(parent.em_5.text)) * dec(ls_edition) + ls_wl,"##########################")     /* 装sle_1,em_5,ls_edition,ls_wl的值转换为decimal相加后再转换成指定格式的string */
    ls_zch_1 = parent.em_1.text + parent.em_2.text + parent.em_3.text + parent.em_4.text
/* 连接以上控件中的字符串 */
    if ls_zch_1 = left(ls_zch,4) + right(ls_zch,4) + left(right(ls_zch,8),4) + right(left(ls_zch,8),4) then
/* 从左边取四个字符 + 从右边取四个字符 + 从右面取八字在此基础上从左边取出四个 + 从左边取八个在此基础中从右取四个 */
/* 以上取出的字符相连判断看是否等于ls_zch_1 */
        update user_base set slhao =' ' , zchao =' ' , lei =0  using sqlca;     /* 条件成立更新user_base这个表 */
/* SQL Parameters List
0-> :parent.sle_1.text
1-> :ls_zch_1
2-> :li_v_2
*/

        if sqlca.sqlcode = 0 then
            messagebox(parent.title,"注册成功 !")
            li_zcshu_t = dec(parent.em_5.text)
            update user_base set shu =0  using sqlca;
/* SQL Parameters List
0-> :li_zcshu_t
*/
            halt
        else
            messagebox(parent.title,"注册号正确但注册失败 !")
        end if

    else
        messagebox(parent.title,"注册失败 !")
    end if

end if

return

/*****************************************************************************************************
这个软件注册有个奇怪的问题就是在w_sys_zcj窗口中定义的控件cb_1的clicked()事件响应代码段中有这样的东东:
*****************************************************************************************************/

============= 反编译 rsgl.pbd 后,找到w_sys_zcj窗口中定义的控件cb_1的clicked()事件响应代码段 ==============

string ls_zch

call super::clicked;

if parent.rb_1.checked = true then
    ls_edition = "4829"     /* 单机版内部识别号 */
    ls_zch = string(dec(parent.sle_1.text) * dec(ls_edition) + ls_dj,"##########################")
    parent.em_1.text = left(ls_zch,4)
    parent.em_2.text = right(ls_zch,4)
    parent.em_3.text = left(right(ls_zch,8),4)
    parent.em_4.text = right(left(ls_zch,8),4)
else
    ls_edition = "2518"     /* 网络版内部识别号 */
    ls_zch = string((dec(parent.sle_1.text) / dec(parent.em_5.text)) * dec(ls_edition) + ls_wl,"##########################")
    parent.em_1.text = left(ls_zch,4)
    parent.em_2.text = right(ls_zch,4)
    parent.em_3.text = left(right(ls_zch,8),4)
    parent.em_4.text = right(left(ls_zch,8),4)
end if

return

/* 看来上面是该软件的注册机哦~作者怎么会把这个也一起编译进去啊?!?! */

-------------------------------------------------------------------------------------------------------------------------
【算法总结】

由于反编译后的代码是PowerBuilder使用的可读性极强的PowerScript原代码,算法也很简单,所以应该看到我上面加的注释后,不难理解它的
算法,所以就不写什么算法总结了。

--------------------------------------------------------------------------------------------

版权所有(C)2005 KuNgBiM[DFCG]         Copyright (C) 2005 KuNgBiM[DFCG]

--------------------------------------------------------------------------------------------
         Cracked By KuNgBiM[DFCG]

                2005-09-18

                0:33:33 AM

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
KuNgBiM ,我来第一个坐沙发
2005-9-18 00:50
0
雪    币: 300
活跃值: (412)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
3
我来支持,学习pb,没有见过
2005-9-18 07:16
0
雪    币: 298
活跃值: (566)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
4
学习中。
2005-9-18 09:08
0
雪    币: 313
活跃值: (250)
能力值: ( LV9,RANK:650 )
在线值:
发帖
回帖
粉丝
5
PowerBuilder编译又可学习,永远支持KuNgBiM大侠
2005-9-18 12:07
0
雪    币: 267
活跃值: (44)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
6
支持,学习中
2005-9-18 16:48
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
7
没搞过PB
2005-9-18 17:30
0
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
/* 装sle_1,em_5,ls_edition,ls_wl的值转换为decimal相加后再转换成指定格式的string */

嘿嘿……复制粘贴前先看看有没有错字
2005-9-19 08:23
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
只能认真的听老师讲课咯~呵呵
2005-9-19 09:25
0
雪    币: 269
活跃值: (51)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
请问PBKiller哪里有下的?
2005-10-7 07:04
0
雪    币: 300
活跃值: (412)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
11
最初由 yunfeng 发布
请问PBKiller哪里有下的?


http://www.baidu.com
http://www.google.com
2005-10-7 20:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
汗,很久不看这些了,现在反出来的是代码啊...张见识
2005-10-9 09:03
0
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
13
辛苦
2005-10-9 20:24
0
游客
登录 | 注册 方可回帖
返回
//