飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5283|回复: 2

[原创] MyDataGuard v1.0算法分析及源码

[复制链接]
  • TA的每日心情
    开心
    2015-8-23 23:49
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2014-1-29 11:45:56 | 显示全部楼层 |阅读模式
                                                   MyDataGuard v1.0算法分析及源码
          庆贺论坛十周年!


           一般情况下不公开国软,但作者自己在远景论坛贴出了注册机,所以我想在这里贴出分析应该不会损及作者的利益吧


    软件的算法很简单,而且是明码比较。不过需要.net2.0的支持~~(直接用.net的反编译软件一看,算法一目了然)


          不过,这次我们用OD看看,找到算法CALL:

    1. 011BF86E    8BD3            MOV EDX,EBX
    2. 011BF870    8BCE            MOV ECX,ESI
    3. 011BF872    E8 056D2700     CALL 0143657C                            ; 算法CALL
    4. 011BF877    85C0            TEST EAX,EAX
    5. 011BF879    74 5A           JE SHORT 011BF8D5
    复制代码




    我们进去看看。

    F7后:
    1. 011BF92F    0FB74456 0C     MOVZX EAX,WORD PTR DS:[ESI+EDX*2+0xC]    ; 申请码第一位
    2. 011BF934    894491 08       MOV DWORD PTR DS:[ECX+EDX*4+0x8],EAX
    3. 011BF938    83C2 01         ADD EDX,0x1
    4. 011BF93B    83FA 0F         CMP EDX,0xF
    5. 011BF93E  ^ 7C E7           JL SHORT 011BF927
    6. 011BF940    6971 08 A000000>IMUL ESI,DWORD PTR DS:[ECX+0x8],0xA0     ; 申请码第一位 * A0
    7. 011BF947    6B41 14 50      IMUL EAX,DWORD PTR DS:[ECX+0x14],0x50    ; 申请码第4位 *50
    8. 011BF94B    03F0            ADD ESI,EAX                              ; + ,=31B0
    9. 011BF94D    8B41 20         MOV EAX,DWORD PTR DS:[ECX+0x20]          ; 申请码第7位
    10. 011BF950    8D0480          LEA EAX,DWORD PTR DS:[EAX+EAX*4]         ; *5
    11. 011BF953    C1E0 03         SHL EAX,0x3                              ; *8
    12. 011BF956    03F0            ADD ESI,EAX                              ; 820  +  31b0 =39D0
    13. 011BF958    8B41 2C         MOV EAX,DWORD PTR DS:[ECX+0x2C]          ; 申请码第10位
    14. 011BF95B    8D0480          LEA EAX,DWORD PTR DS:[EAX+EAX*4]         ; *5
    15. 011BF95E    C1E0 02         SHL EAX,0x2                              ; *4
    16. 011BF961    03F0            ADD ESI,EAX                              ; 3c0 + 39D0 =3d90
    17. 011BF963    8B41 38         MOV EAX,DWORD PTR DS:[ECX+0x38]          ; 申请码第13位
    18. 011BF966    8D0480          LEA EAX,DWORD PTR DS:[EAX+EAX*4]         ; *5
    19. 011BF969    03C0            ADD EAX,EAX                              ; *2
    20. 011BF96B    03F0            ADD ESI,EAX                              ; 3f2 + 3D90  =4182
    21. 011BF96D    8BFE            MOV EDI,ESI
    22. 011BF96F    C1FF 1F         SAR EDI,0x1F                             ; SAR 1F  ~~ =0了?
    23. 011BF972    6941 0C AA00000>IMUL EAX,DWORD PTR DS:[ECX+0xC],0xAA     ; 申请码第2位 *AA
    24. 011BF979    6B51 18 5A      IMUL EDX,DWORD PTR DS:[ECX+0x18],0x5A    ; 申请码第5位 *5A
    25. 011BF97D    03C2            ADD EAX,EDX                              ; 406a + 2328  =6392
    26. 011BF97F    6B51 24 32      IMUL EDX,DWORD PTR DS:[ECX+0x24],0x32    ; 申请码第8位  *32  =960
    27. 011BF983    03C2            ADD EAX,EDX                              ; 960 + 6392  =6CF2
    28. 011BF985    6B51 30 1E      IMUL EDX,DWORD PTR DS:[ECX+0x30],0x1E    ; 申请码第11位*1E  =b7c
    29. 011BF989    03C2            ADD EAX,EDX                              ; b7c + 6cf2  =786E
    30. 011BF98B    8B51 3C         MOV EDX,DWORD PTR DS:[ECX+0x3C]          ; 申请码第14位
    31. 011BF98E    8D1492          LEA EDX,DWORD PTR DS:[EDX+EDX*4]         ; *5
    32. 011BF991    C1E2 02         SHL EDX,0x2                              ; *4
    33. 011BF994    03C2            ADD EAX,EDX                              ; 460 + 786e =7cce
    34. 011BF996    99              CDQ
    35. 011BF997    895424 04       MOV DWORD PTR SS:[ESP+0x4],EDX
    36. 011BF99B    8BE8            MOV EBP,EAX                              ; 7CCE
    37. 011BF99D    6941 10 B400000>IMUL EAX,DWORD PTR DS:[ECX+0x10],0xB4    ; 申请码第3位 *B4
    38. 011BF9A4    6B51 1C 64      IMUL EDX,DWORD PTR DS:[ECX+0x1C],0x64    ; 申请码第6位 *64
    39. 011BF9A8    03C2            ADD EAX,EDX                              ; 2814 + 1450  =3c64
    40. 011BF9AA    6B51 28 3C      IMUL EDX,DWORD PTR DS:[ECX+0x28],0x3C    ; 申请码第9位 *3C
    41. 011BF9AE    03C2            ADD EAX,EDX                              ; C30 + 3c64  =4894
    42. 011BF9B0    8B51 34         MOV EDX,DWORD PTR DS:[ECX+0x34]          ; 申请码第12位
    43. 011BF9B3    8D1492          LEA EDX,DWORD PTR DS:[EDX+EDX*4]         ; *5
    44. 011BF9B6    C1E2 03         SHL EDX,0x3                              ; *8
    45. 011BF9B9    03C2            ADD EAX,EDX                              ; 4894 + f50 =57e4
    46. 011BF9BB    6B51 40 1E      IMUL EDX,DWORD PTR DS:[ECX+0x40],0x1E    ; 申请码第15位 *1E =b7c
    47. 011BF9BF    03C2            ADD EAX,EDX                              ; B7C + 57E4  =6360
    48. 011BF9C1    99              CDQ
    49. 011BF9C2    895424 0C       MOV DWORD PTR SS:[ESP+0xC],ED
    复制代码




    OK.PNG



    算法如此简单,这里就不总结了。



    附写的很烂的注册机源码:
    A.   VB版
    1. Private Sub Image1_Click()
    2. MsgBox "   本“MyDataGuard v1.0算法注册机”只为学习和研究而作,不得用于非法用途!为尊重作者的版权,支持国软,请在24小时内删除本注册机以及由此得到的注册信息。注册信息保存在注册表:HKEY_LOCAL_MACHINE\SOFTWARE\MyDataGuard下。谢谢合作!", vbInformation, "重要声明   by GGLHY"
    3. End Sub

    4. Private Sub Text1_Change()
    5. Dim sqh, xlh As String

    6. If Text1.Text = "" Or Len(Text1.Text) <> 15 Then
    7. Text2.Text = ""
    8. Else

    9. sqh = Text1.Text
    10. Q1 = Hex(((Asc(Mid(sqh, 1, 1)) * 160) + Asc(Mid(sqh, 4, 1)) * 80) + Asc(Mid(sqh, 7, 1)) * 40 + Asc(Mid(sqh, 10, 1)) * 20 + (Asc(Mid(sqh, 13, 1)) * 10))
    11. <span style="line-height: 1.5;">Q2 = Hex(((Asc(Mid(sqh, 2, 1)) * 170) + Asc(Mid(sqh, 5, 1)) * 90) + Asc(Mid(sqh, 8, 1)) * 50 + Asc(Mid(sqh, 11, 1)) * 30 + (Asc(Mid(sqh, 14, 1)) * 20))</span>
    12. <span style="line-height: 1.5;">Q3 = Hex(((Asc(Mid(sqh, 3, 1)) * 180) + Asc(Mid(sqh, 6, 1)) * 100) + Asc(Mid(sqh, 9, 1)) * 60 + Asc(Mid(sqh, 12, 1)) * 40 + (Asc(Mid(sqh, 15, 1)) * 30))</span>

    13. Text2.Text = LCase(Q1 & "-" & Q2 & "-" & Q3)

    14. End IF
    复制代码


    敬请方家指正!!!


    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2022-6-7 19:27
  • 签到天数: 560 天

    [LV.9]以坛为家II

    发表于 2014-1-29 17:07:04 | 显示全部楼层
    呵呵,我来占第一个沙发,老师出教程了,好感谢。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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