飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5411|回复: 7

[原创] MP3超强铃声转换器 6.0算法简单分析

[复制链接]

该用户从未签到

发表于 2009-8-23 12:56:03 | 显示全部楼层 |阅读模式
软件下载地址:
http://www.onlinedown.net/soft/46970.htm

运行软件注册
用户名:xinldy
注册码:123456789

下面的代码是还原出用户名:
00402CEB   . /7E 16         jle     short 00402D03
00402CED   > |8A9404 DC0B00>mov     dl, byte ptr [esp+eax+BDC]
00402CF4   . |80F2 64       xor     dl, 64
00402CF7   . |889404 DC0B00>mov     byte ptr [esp+eax+BDC], dl
00402CFE   . |40            inc     eax
00402CFF   . |3BC1          cmp     eax, ecx
00402D01   .^|7C EA         jl      short 00402CED

下面的代码是还原出注册码:
00402D31   . /7E 16         jle     short 00402D49
00402D33   > |8A9404 5C0C00>mov     dl, byte ptr [esp+eax+C5C]
00402D3A   . |80F2 64       xor     dl, 64
00402D3D   . |889404 5C0C00>mov     byte ptr [esp+eax+C5C], dl
00402D44   . |40            inc     eax
00402D45   . |3BC1          cmp     eax, ecx
00402D47   .^|7C EA         jl      short 00402D33


00402DDA  .  FF15 5C764700 call    dword pt[<&player.CPlayer::stop>]  关键
00402DE0   .  85C0          test    eax, eax
00402DE2   .  74 0A         je      short 00402DEE

进入00402DDA的call:
00381D02    83F9 08         cmp     ecx, 8                     
00381D05    7D 17           jge     short 00381D1E     
00381D07    8D4C24 0C       lea     ecx, dword ptr [esp+C]
00381D0B    899424 88010000 mov     dword ptr [esp+188], edx
00381D12    E8 19F3FFFF     call    00381030
00381D17    33C0            xor     eax, eax
00381D19    E9 01010000     jmp     00381E1F
00381D1E    807D 06 2D      cmp     byte ptr [ebp+6],2D                将第七位与"-"比较
00381D22    74 17           je      short 00381D3B
00381D24    8D4C24 0C       lea     ecx, dword ptr [esp+C]
00381D28    899424 88010000 mov     dword ptr [esp+188], edx
00381D2F    E8 FCF2FFFF     call    00381030

00381D9F    E8 2CFEFFFF     call    00381BD0                            加密(不知道是什么加密)            
00381DA4    8DBC24 20010000 lea     edi, dword ptr [esp+120]            "ead34b5ab5e5ff83"
...
下面的代码是抽取加密后得到的字符串"ead34b5ab5e5ff83"中的第4,8,12,16位得到"3a53"

00381DBE   /7E 13           jle     short 00381DD3
00381DC0   |8A8C04 03010000 mov     cl, byte ptr [esp+eax+103]
00381DC7   |83C0 04         add     eax, 4
00381DCA   |884C14 28       mov     byte ptr [esp+edx+28], cl
00381DCE   |42              inc     edx
00381DCF   |3BC6            cmp     eax, esi
00381DD1  ^|7C ED           jl      short 00381DC0
...
...
下面的代码是将注册码的第七位以后的内容与抽出的"3a53"做比较:
00381DEA   /74 1E           je      short 00381E0A
00381DEC   |8A442A 07       mov     al, byte ptr [edx+ebp+7]
00381DF0   |8A4C14 28       mov     cl, byte ptr [esp+edx+28]
00381DF4   |3AC1            cmp     al, cl
00381DF6   |75 41           jnz     short 00381E39

继续F8来到:
00409416   .  FF15 5C764700 call    dword ptr[<&player.CPlayer::stop>] 关键
0040941C   .  85C0          test    eax, eax
0040941E      0F85 88000000 jnz     004094AC
00409424   .  C68424 840000>mov     byte ptr [esp+84], 2
0040942C   .  8D4C24 08     lea     ecx, dword ptr [esp+8]
00409430   >  E8 40970500   call    00462B75
00409435   .  B8 84784A00   mov     eax, 004A7884                       试用版 6.0 未注册!
...
...
004094D6   .  B8 70784A00   mov     eax, 004A7870                       完整版 6.0 已注册!
004094DB   .^ E9 5AFFFFFF   jmp     0040943A


00409416处调用的call与00402DDA处的call是一样的

注册码的形式应该是:xxxxxx-yyyy

其中yyyy是xxxxxx加密后得到的字符串中抽取的第4,8,12,16位组成的字符串

一个可用的注册码:123456-3a53,注册码保存的位置:key.dat

文中不对之处望大家指正!

[ 本帖最后由 xinldy 于 2009-8-25 00:26 编辑 ]
crack.jpg
PYG19周年生日快乐!
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2009-8-23 15:18:48 | 显示全部楼层
    算法没有点出来...这个东东算法一直没变~~~MD5的简单应用
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-8-24 10:17:29 | 显示全部楼层
    学习一下。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-8-24 13:31:59 | 显示全部楼层
    这算法简单分析,简单过了吧,核心的算法米看到~~~~~~~~~~!/:L
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-8-24 16:40:30 | 显示全部楼层
    3a53 是常量吗?
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-5-31 13:17
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-8-24 18:29:22 | 显示全部楼层
    3a53是万能码的一部分吧/:good
    PYG19周年生日快乐!
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2009-8-24 18:43:03 | 显示全部楼层
    3a53啥都不是/
    注册码后四位为 MD5(前6位) 得到字符串中抽出来的字符。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-8-24 21:53:10 | 显示全部楼层
    因为我的电脑出了一些问题没有时间再调试,等忙过我一定要继续分析一下!感谢大家提出的意见,谢谢!

    感谢wan,luckly!

    [ 本帖最后由 xinldy 于 2009-8-25 16:40 编辑 ]
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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