飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4945|回复: 10

[原创] 菜鸟算法4

[复制链接]

该用户从未签到

发表于 2007-5-26 03:45:19 | 显示全部楼层 |阅读模式
【文章标题】: 共享资料保护专家高级版算法分析
【文章作者】: 千里之外
【作者邮箱】: 506398911@qq.com
【作者主页】: www.wm5.net.cn
【作者QQ号】: 506398911
【软件名称】: 共享资料保护专家高级版
【下载地址】: http://www.jianrui.cn/dl.htm
【保护方式】: 机器码
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD PEID
【操作平台】: WINXP2
【软件介绍】: 软件对文件夹加密后,用户只能浏览该文件夹内的word、Excel或图片文件等的内容,不能修改、拷贝或盗取。
【作者声明】: 谢谢 fonge大哥的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
--------------------------------------------------------------------------------
【详细过程】
  大家好 我是千里之外 在这里依然谢谢fonge大哥的热心指导  是你给我指明了学习的方向 呵呵 我会继续努力的
  
  搜索  你已经注册  可以很快来到这里
  
  
  
  004D3C53   .  50            PUSH EAX
  004D3C54   .  8D95 F4FDFFFF LEA EDX,DWORD PTR SS:[EBP-20C]
  004D3C5A   .  A1 C0F14D00   MOV EAX,DWORD PTR DS:[4DF1C0]
  004D3C5F   .  8B00          MOV EAX,DWORD PTR DS:[EAX]
  004D3C61   .  E8 1E300000   CALL 共享资料.004D6C84                       ;  第一个算法CALL
  004D3C66   .  8B85 F4FDFFFF MOV EAX,DWORD PTR SS:[EBP-20C]
  004D3C6C   .  8D95 F8FDFFFF LEA EDX,DWORD PTR SS:[EBP-208]
  004D3C72   .  E8 D551F3FF   CALL 共享资料.00408E4C
  004D3C77   .  8B95 F8FDFFFF MOV EDX,DWORD PTR SS:[EBP-208]
  004D3C7D   .  58            POP EAX
  004D3C7E   .  E8 890FF3FF   CALL 共享资料.00404C0C
  004D3C83   .  75 2C         JNZ SHORT 共享资料.004D3CB1
  004D3C85   .  6A 40         PUSH 40
  004D3C87   .  B9 58404D00   MOV ECX,共享资料.004D4058                    ;  你已经注册
  004D3C8C   .  BA 64404D00   MOV EDX,共享资料.004D4064                    ;  您已购买并注册《共享资料保护专家高级版》软件,谢谢支持!
  004D3C91   .  A1 B4F24D00   MOV EAX,DWORD PTR DS:[4DF2B4]
  004D3C96   .  8B00          MOV EAX,DWORD PTR DS:[EAX]
  004D3C98   .  E8 972DF9FF   CALL 共享资料.00466A34
  004D3C9D   .  8BC3          MOV EAX,EBX
  004D3C9F   .  E8 54F5F8FF   CALL 共享资料.004631F8
  
  第一个算法CALL处
  004D6C84   $  55            PUSH EBP
  004D6C85   .  8BEC          MOV EBP,ESP
  004D6C87   .  6A 00         PUSH 0
  004D6C89   .  6A 00         PUSH 0
  004D6C8B   .  6A 00         PUSH 0
  004D6C8D   .  53            PUSH EBX
  004D6C8E   .  56            PUSH ESI
  004D6C8F   .  57            PUSH EDI
  004D6C90   .  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX
  004D6C93   .  8BD8          MOV EBX,EAX                              ;  hNM
  004D6C95   .  33C0          XOR EAX,EAX
  004D6C97   .  55            PUSH EBP
  004D6C98   .  68 146D4D00   PUSH 共享资料.004D6D14
  004D6C9D   .  64:FF30       PUSH DWORD PTR FS:[EAX]
  004D6CA0   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
  004D6CA3   .  33C0          XOR EAX,EAX
  004D6CA5   .  55            PUSH EBP
  004D6CA6   .  68 E26C4D00   PUSH 共享资料.004D6CE2
  004D6CAB   .  64:FF30       PUSH DWORD PTR FS:[EAX]
  004D6CAE   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
  004D6CB1   .  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
  004D6CB4   .  50            PUSH EAX
  004D6CB5   .  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
  004D6CB8   .  8BC3          MOV EAX,EBX                              ;  hNM
  004D6CBA   .  E8 9D000000   CALL 共享资料.004D6D5C
  004D6CBF   .  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]             ;  5808328774
  004D6CC2   .  66:B9 1701    MOV CX,117
  004D6CC6   .  8BC3          MOV EAX,EBX
  004D6CC8   .  E8 BBFEFFFF   CALL 共享资料.004D6B88                       ;  第二个算法CALL
  004D6CCD   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
  004D6CD0   .  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
  004D6CD3   .  E8 8CDBF2FF   CALL 共享资料.00404864
  004D6CD8   .  33C0          XOR EAX,EAX
  004D6CDA   .  5A            POP EDX
  
  第二个算法CALL处
  
  004D6B88   $  55            PUSH EBP
  004D6B89   .  8BEC          MOV EBP,ESP
  004D6B8B   .  6A 00         PUSH 0
  004D6B8D   .  6A 00         PUSH 0
  004D6B8F   .  6A 00         PUSH 0
  004D6B91   .  6A 00         PUSH 0
  004D6B93   .  53            PUSH EBX
  004D6B94   .  56            PUSH ESI
  004D6B95   .  57            PUSH EDI
  004D6B96   .  66:894D FE    MOV WORD PTR SS:[EBP-2],CX               ;  取固定字符 ‘117’
  004D6B9A   .  8BFA          MOV EDI,EDX
  004D6B9C   .  33C0          XOR EAX,EAX
  004D6B9E   .  55            PUSH EBP
  004D6B9F   .  68 5E6C4D00   PUSH 共享资料.004D6C5E
  004D6BA4   .  64:FF30       PUSH DWORD PTR FS:[EAX]
  004D6BA7   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
  004D6BAA   .  33C0          XOR EAX,EAX
  004D6BAC   .  55            PUSH EBP
  004D6BAD   .  68 2C6C4D00   PUSH 共享资料.004D6C2C
  004D6BB2   .  64:FF30       PUSH DWORD PTR FS:[EAX]
  004D6BB5   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
  004D6BB8   .  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
  004D6BBB   .  E8 50DCF2FF   CALL 共享资料.00404810
  004D6BC0   .  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
  004D6BC3   .  E8 48DCF2FF   CALL 共享资料.00404810
  004D6BC8   .  8BC7          MOV EAX,EDI                              ;  取机器码  我的是5808328774
  004D6BCA   .  E8 F9DEF2FF   CALL 共享资料.00404AC8
  004D6BCF   .  8BD8          MOV EBX,EAX
  004D6BD1   .  85DB          TEST EBX,EBX
  004D6BD3   .  7E 36         JLE SHORT 共享资料.004D6C0B
  004D6BD5   .  BE 01000000   MOV ESI,1
  004D6BDA   >  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
  004D6BDD   .  8A5437 FF     MOV DL,BYTE PTR DS:[EDI+ESI-1]           ;  取机器码第一位 我的是 5
  004D6BE1   .  E8 0ADEF2FF   CALL 共享资料.004049F0
  004D6BE6   .  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
  004D6BE9   .  E8 DE24F3FF   CALL 共享资料.004090CC                       ;  将5送入EAX
  004D6BEE   .  0FB755 FE     MOVZX EDX,WORD PTR SS:[EBP-2]            ;  固定字符117入EDX
  004D6BF2   .  33C2          XOR EAX,EDX                              ;  EAX=EAX XOR EDX=5 XOR 117=112  (16进制)
  004D6BF4   .  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
  004D6BF7   .  E8 6C24F3FF   CALL 共享资料.00409068                       ;  将16进制112转化为10进制274
  004D6BFC   .  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
  004D6BFF   .  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
  004D6C02   .  E8 C9DEF2FF   CALL 共享资料.00404AD0                       ;  将每次的结果依次连接
  004D6C07   .  46            INC ESI
  004D6C08   .  4B            DEC EBX
  004D6C09   .^ 75 CF         JNZ SHORT 共享资料.004D6BDA                  ;  以上是将机器码的每一位进行如上循环并依次连接 我的结果是274287279287276277287272272275
  004D6C0B   >  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
  004D6C0E   .  50            PUSH EAX
  004D6C0F   .  8BC7          MOV EAX,EDI
  004D6C11   .  E8 B2DEF2FF   CALL 共享资料.00404AC8
  004D6C16   .  8BC8          MOV ECX,EAX
  004D6C18   .  33D2          XOR EDX,EDX
  004D6C1A   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  274287279287276277287272272275
  004D6C1D   .  E8 FEE0F2FF   CALL 共享资料.00404D20
  004D6C22   .  33C0          XOR EAX,EAX
  004D6C24   .  5A            POP EDX
  004D6C25   .  59            POP ECX
  004D6C26   .  59            POP ECX
  004D6C27   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
  004D6C2A   .  EB 17         JMP SHORT 共享资料.004D6C43
  004D6C2C   .^ E9 CFD2F2FF   JMP 共享资料.00403F00
  004D6C31   .  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
  004D6C34   .  BA 786C4D00   MOV EDX,共享资料.004D6C78                    ;  1398502186
  004D6C39   .  E8 26DCF2FF   CALL 共享资料.00404864
  004D6C3E   .  E8 25D6F2FF   CALL 共享资料.00404268
  004D6C43   >  33C0          XOR EAX,EAX
  004D6C45   .  5A            POP EDX
  004D6C46   .  59            POP ECX
  004D6C47   .  59            POP ECX
  004D6C48   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
  004D6C4B   .  68 656C4D00   PUSH 共享资料.004D6C65
  004D6C50   >  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
  004D6C53   .  BA 03000000   MOV EDX,3                                ;  EDX=3
  004D6C58   .  E8 D7DBF2FF   CALL 共享资料.00404834
  004D6C5D   .  C3            RETN
  004D6C5E   .^ E9 51D5F2FF   JMP 共享资料.004041B4
  004D6C63   .^ EB EB         JMP SHORT 共享资料.004D6C50
  004D6C65   .  5F            POP EDI
  004D6C66   .  5E            POP ESI
  004D6C67   .  5B            POP EBX
  004D6C68   .  8BE5          MOV ESP,EBP
  004D6C6A   .  5D            POP EBP
  004D6C6B   .  C2 0400       RETN 4                                        取所得结果的前10位即为真正的注册码
  
  
--------------------------------------------------------------------------------
【经验总结】
  1.机器码的每一位分别与固定值117(机器码和117都看作是16进制)作异或运算 结果转为10进制
  2.将每位的运算结果依次连接  我的结果是 274287279287276277287272272275
  3.取以上结果的前10位(2742872792)即为注册码
  
--------------------------------------------------------------------------------
【版权声明】: 谢谢 fonge大哥的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安

                                                       2007年05月26日 3:10:11

[ 本帖最后由 千里之外 于 2007-5-28 13:25 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2007-5-26 08:15:56 | 显示全部楼层
顶一下,兄弟给咱也介绍一位师傅,算法分析卡壳了,怎么也过不去在群里能加你吗?向你学习学习
PYG19周年生日快乐!

该用户从未签到

发表于 2007-5-26 13:17:01 | 显示全部楼层
兄弟不错,分析的很好,我还不会算法呢,郁闷啊
PYG19周年生日快乐!

该用户从未签到

发表于 2007-5-26 14:39:16 | 显示全部楼层
向楼主学习。
PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-8-31 14:43
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2007-5-26 19:19:17 | 显示全部楼层
    会算了,,不错
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-5-27 09:22:48 | 显示全部楼层
    又学到一些东西了!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-5-27 11:58:58 | 显示全部楼层
    进步真快。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-5-27 12:06:10 | 显示全部楼层
    希望兄弟可以做几个算法的教程

    [ 本帖最后由 deletex 于 2007-5-27 12:22 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2007-5-27 12:51:51 | 显示全部楼层
    原帖由 deletex 于 2007-5-27 12:06 发表
    希望兄弟可以做几个算法的教程



    兄弟 是指动画教程吗  我感觉算法做动画语音比较好 但是我在网吧上网不方便 再说我还是初学算法 好多不懂的 呵呵
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-5-27 21:20:49 | 显示全部楼层
    原帖由 千里之外 于 2007-5-27 12:51 发表



    再说我还是初学算法 好多不懂的 呵呵



    至少比我强,呵,做个教程来教教我
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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