飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 8028|回复: 18

[原创] 里诺固定资产及设备管理软件 1.90 SQL网络版算法分析

  [复制链接]
  • TA的每日心情
    开心
    2023-10-20 11:54
  • 签到天数: 352 天

    [LV.8]以坛为家I

    发表于 2011-4-7 21:54:32 | 显示全部楼层 |阅读模式
    本帖最后由 fywy 于 2011-4-7 22:02 编辑

    【文章标题】: 里诺固定资产及设备管理软件 1.90 SQL网络版
    【文章作者】: fywy
    【作者邮箱】: 1349718927@qq.com
    【作者主页】: 无
    【作者QQ号】: 1349718927
    【软件名称】: 里诺固定资产及设备管理软件 1.90 SQL网络版
    【下载地址】: http://www.skycn.com/soft/33046.html
    【加壳方式】: 无
    【保护方式】: 无
    【编写语言】: Borland Delphi 6.0 - 7.0
    【使用工具】: peid+od+vb
    【操作平台】: winxp sp2
    【软件介绍】: 里诺通用固定资产及设备管理系统是一款通用性极强的
    【作者声明】: 第一次写算法注册机,失误之处敬请诸位大侠赐教!
    --------------------------------------------------------------------------------
    【详细过程】
      软件介绍:
      里诺通用固定资产及设备管理系统是一款通用性极强的固定资产及设备管理软件,适用于企业、机关、学校、事业单位等任何需要管理固定资产及设备的单位。
      软件提供了完善的资产及设备档案管理,支持资产及设备的增加、删除、修改、清理等基本管理环节。软件同时提供了资产及设备的借出与归还管理,资产及设备转移管理,资产及设备维修管理。软件支持资产及设备折旧管理功能,并提供折旧额的自动核算。软件提供了模糊查询功能,多中查询条件可以任意选择。软件提供了多种报表格式,可以任意选择报表输出,同时支持将软件中任何数据转换EXCEL数据格式。同时软件提供了报表自定义格式设置功能,使用户使用中更加方便灵活。软件操作界面友好、灵活、易操作。
      软件的后台数据库使用的是SQL Server2000,软件具有安全度高,速度快等特点,特别适合数据量大的公司,软件完全可以满足中小型企业的要求
      
      1、peid查壳无壳编程语言为Borland Delphi 6.0 - 7.0
      2、试用行程序输入假码,弹出提示如图所示:
       1.png
      3、OD载入,查找字符串“已保存了注册信息!下次启动本程序时将会对你的注册码进行验证,如注册码正确,本程序所有功能限制将被解除,您成为我们正式版本用户!”
      如图所示:
       2.png
      
      我们在  0068A4B9   PUSH SQLAsset.0068A538    -   上双击来到了0068A4B9  |.  68 38A56800   PUSH SQLAsset.0068A538                   ;  -
      向上找到  0068A348  /$  55            PUSH EBP  这个位置F2下断,然后F9运行,软件被断下来了。
      然后F8运行,我们的机器出现在寄存器窗口注意观察。
      我们看到这个循环的作用是对机器码转换成了一组16进制数
      0068A394  |> /8D4D EC       /LEA ECX,DWORD PTR SS:[EBP-14]
      0068A397  |. |8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]
      0068A39A  |. |0FB64418 FF   |MOVZX EAX,BYTE PTR DS:[EAX+EBX->
      0068A39F  |. |33D2          |XOR EDX,EDX
      0068A3A1  |. |E8 E2FFD7FF   |CALL SQLAsset.0040A388
      0068A3A6  |. |8B55 EC       |MOV EDX,DWORD PTR SS:[EBP-14]
      0068A3A9  |. |8D45 F8       |LEA EAX,DWORD PTR SS:[EBP-8]
      0068A3AC  |. |E8 BFA5D7FF   |CALL SQLAsset.00404970
      0068A3B1  |. |43            |INC EBX
      0068A3B2  |. |4E            |DEC ESI
      0068A3B3  |.^\75 DF         \JNZ SHORT SQLAsset.0068A394
      
      堆栈 SS:[0012FD40]=0332A888, (ASCII "57442D574D41563243523730323336")
      EAX=00000002
      跳转来自 0068A38D
      
      //转换后的16进制数  57442D574D41563243523730323336  记为s1
      
      F8继续往下
      又到了一个循环,它的作用是对s1倒排
      0068A3C8  |> /8B45 F8       /MOV EAX,DWORD PTR SS:[EBP-8]
      0068A3CB  |. |E8 98A5D7FF   |CALL SQLAsset.00404968
      0068A3D0  |. |2BC3          |SUB EAX,EBX
      0068A3D2  |. |8B55 F8       |MOV EDX,DWORD PTR SS:[EBP-8]
      0068A3D5  |. |8A1402        |MOV DL,BYTE PTR DS:[EDX+EAX]
      0068A3D8  |. |8D45 E8       |LEA EAX,DWORD PTR SS:[EBP-18]
      0068A3DB  |. |E8 A0A4D7FF   |CALL SQLAsset.00404880
      0068A3E0  |. |8B55 E8       |MOV EDX,DWORD PTR SS:[EBP-18]
      0068A3E3  |. |8D45 F4       |LEA EAX,DWORD PTR SS:[EBP-C]
      0068A3E6  |. |E8 85A5D7FF   |CALL SQLAsset.00404970
      0068A3EB  |. |43            |INC EBX
      0068A3EC  |. |4E            |DEC ESI
      0068A3ED  |.^\75 D9         \JNZ SHORT SQLAsset.0068A3C8
      
      堆栈 SS:[0012FD3C]=0332A8B4, (ASCII "63332303732534236514D475D24475")
      EAX=0012FD40
      
      //倒排后的结果63332303732534236514D475D24475   记为s2
      
      
      然后对s2取取前四位:6333  记为s3
      然后对s2第5位开始取取了四位:2303  记为s4
      
      引入了一个常量
      0068A496  |.  BA 20A56800   MOV EDX,SQLAsset.0068A520        ;  WAssts45yr87  记为s5
      
      对s5取前四位:WAss 记为s6
      
      加入了分隔符 0068A4B9  |.  68 38A56800   PUSH SQLAsset.0068A538           ;  -
      
      后面跟的是s3        0068A4BE  |.  FF75 F8       PUSH DWORD PTR SS:[EBP-8]
      
      又从s5中第4位开始取了5位:ts45y  记为s7
      
      加入了分隔符0068A4DA  |.  68 38A56800   PUSH SQLAsset.0068A538           ;  -
      
      后面跟的是s4
      
      整个算法就完成了。
      
      完成算法表示为:
      
      s6-s3&s7-s4
      
      用VB表示算法为
      
      Dim str1 As String
      Dim str2 As String
      Dim str3 As String
      Dim str4 As String
      Dim i As Integer
      str2 = ""
      str3 = ""
      str1 = Text1.Text
      For i = 1 To Len(str1)
          str2 = str2 & Hex(Asc(Mid(str1, i, 1)))
      Next i
      For i = Len(str2) To 1 Step -1
        str3 = str3 & Mid(str2, i, 1)
      Next
      str1 = "WAssts45yr87"
      str4 = Left(str1, 4) & "-" & Left(str3, 4) & Mid(str1, 5, 5) & "-" & Mid(str3, 5, 4)
      Text2.Text = str4
      
      注册机: 里诺固定资产算法注册机.rar (3.82 KB, 下载次数: 37)

       
      
    --------------------------------------------------------------------------------
    【经验总结】
      第一次写算法注册机,没什么经验。给新人一些鼓励!!!
      
    --------------------------------------------------------------------------------
    【版权声明】: 本文原创于fywy, 转载请注明作者并保持文章的完整, 谢谢!

                                                           2011年04月07日 21:50:27

    评分

    参与人数 3威望 +41 飘云币 +45 收起 理由
    liguibin + 1 + 1 PYG有你更精彩!
    sdrf5678lk + 4 呵呵分析的还可以
    月之精灵 + 40 + 40 您的贴子很精彩,希望能再次分享!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-11-4 23:26
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2011-4-8 14:03:07 | 显示全部楼层
    兄弟~~~~~~~
    这个作者的算法都是一样的没有什么好分析的~~~~~~~
    把的只是哪内置的字符串~/:011

    刚刚看了 fywy 里诺会员管理软件爆破+追码+内存注册机就算法了下软件的算法很间单
    注册机, 注册码, 字符串, 软件, 会员
    我分析了一下软件的算法!!!!!!!!
    1. 把机器转化为10进制数!!!!
    2. 把进制进行一个倒序!!!
    3. 从倒序好的字符串取两组字符串,第1个是取1-4位字符为K。第二组是取第5-8位字符为U!!!
    4. 在把一个内置字符串mem45erpe进行分解。分成mem4  5erpe这两组。
    5  在把注册码按:mem4-K5erpe-u这个格式打印出来.
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2023-12-27 21:49
  • 签到天数: 85 天

    [LV.6]常住居民II

    发表于 2011-4-9 13:04:25 | 显示全部楼层
    支持算法分析

    学习下
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-3-28 00:16
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2011-4-10 10:27:15 | 显示全部楼层
    支持算法分析!!赞一个!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-3-28 00:16
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2011-4-10 10:28:55 | 显示全部楼层
    兄弟~~~~~~~
    这个作者的算法都是一样的没有什么好分析的~~~~~~~
    把的只是哪内置的字符串~

    刚刚 ...
    sdrf5678lk 发表于 2011-4-8 14:03



        见过牛人没有见过您这么牛的!!!超级顶你!太绝了,这就是精髓!/:good
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-4-11 16:20:09 | 显示全部楼层
    /:good二楼太牛叉了吧。
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2019-3-25 06:30
  • 签到天数: 1096 天

    [LV.10]以坛为家III

    发表于 2011-4-11 16:26:19 | 显示全部楼层
    sdrf5678lk 已经将算法总结了一下,这对学习和分析算法很有帮助。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-4-12 01:09:14 | 显示全部楼层
    回复 1# fywy


       
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-5-31 13:17
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2011-4-12 23:12:24 | 显示全部楼层
    /:013算法貌似是多年不变
    PYG19周年生日快乐!
  • TA的每日心情
    郁闷
    2017-6-28 22:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2011-4-14 18:01:36 | 显示全部楼层
    谢谢 拿了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表