飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 14174|回复: 14

[原创] MP3音频录音机V10注册算法分析

    [复制链接]
  • TA的每日心情
    奋斗
    2016-5-26 17:26
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    发表于 2011-2-27 22:21:12 | 显示全部楼层 |阅读模式
    OD载入程序
    .....
    00586350  |.  E8 AFF8FFFF   call    00585C04                         ;  专业版
    00586355  |.  84C0          test    al, al
    00586357  |.  74 04         je      short 0058635D
    .....
    00586389  |.  E8 76F8FFFF   call    00585C04                         ;  标准版
    0058638E  |.  84C0          test    al, al
    00586390  |.  74 04         je      short 00586396
    .....
    005863C2  |.  E8 3DF8FFFF   call    00585C04                         ;  企业版
    005863C7  |.  84C0          test    al, al
    005863C9      74 04         je      short 005863CF
    .....
    //上面是软件三个版本的验证处,不过都指向同一个验证函数
    00585C04   $  55            push    ebp
    00585C05   .  8BEC          mov     ebp, esp
    .....
    00585C53   .  BA 885E5800   mov     edx, 00585E88                    ;  user600
    00585C58   .  E8 3B0AE8FF   call    00406698
    00585C5D   .  75 07         jnz     short 00585C66
    00585C5F   .  33DB          xor     ebx, ebx
    00585C61   .  E9 D3010000   jmp     00585E39
    00585C66   >  8B45 FC       mov     eax, dword ptr [ebp-4]
    00585C69   .  BA 9C5E5800   mov     edx, 00585E9C                    ;  mar1_shengxun5
    00585C6E   .  E8 250AE8FF   call    00406698
    00585C73   .  75 07         jnz     short 00585C7C
    00585C75   .  33DB          xor     ebx, ebx
    00585C77   .  E9 BD010000   jmp     00585E39
    00585C7C   >  8B45 FC       mov     eax, dword ptr [ebp-4]
    00585C7F   .  BA B85E5800   mov     edx, 00585EB8                    ;  mar3_user460
    00585C84   .  E8 0F0AE8FF   call    00406698
    00585C89   .  75 07         jnz     short 00585C92
    00585C8B   .  33DB          xor     ebx, ebx
    00585C8D   .  E9 A7010000   jmp     00585E39
    00585C92   >  8B45 FC       mov     eax, dword ptr [ebp-4]
    00585C95   .  BA D45E5800   mov     edx, 00585ED4                    ;  mar3_user892
    00585C9A   .  E8 F909E8FF   call    00406698
    00585C9F   .  75 07         jnz     short 00585CA8
    00585CA1   .  33DB          xor     ebx, ebx
    00585CA3   .  E9 91010000   jmp     00585E39
    00585CA8   >  8B45 FC       mov     eax, dword ptr [ebp-4]
    00585CAB   .  BA F05E5800   mov     edx, 00585EF0                    ;  mar2_user289
    //这里说明一下,要是注册名是上面出现的这些字符串,则注册失败
    00585CB0   .  E8 E309E8FF   call    00406698
    00585CB5   .  75 07         jnz     short 00585CBE
    00585CB7   .  33DB          xor     ebx, ebx
    00585CB9   .  E9 7B010000   jmp     00585E39
    00585CBE   >  84DB          test    bl, bl
    00585CC0      75 30         jnz     short 00585CF2
    00585CC2      A1 6C766000   mov     eax, dword ptr [60766C]          ;  专业版
    00585CC7   .  8B80 88030000 mov     eax, dword ptr [eax+388]
    00585CCD   .  8B40 40       mov     eax, dword ptr [eax+40]
    00585CD0   .  BA 0C5F5800   mov     edx, 00585F0C                    ;  
    //大数ADBF71744FAFA525027DDCA01646CF36ADD77406F6B6DB04F7A4D6760CFFE779
    00585CD5   .  E8 7E85FFFF   call    0057E258
    00585CDA   .  A1 6C766000   mov     eax, dword ptr [60766C]
    00585CDF   .  8B80 88030000 mov     eax, dword ptr [eax+388]
    00585CE5   .  8B40 40       mov     eax, dword ptr [eax+40]
    00585CE8   .  BA 9C5F5800   mov     edx, 00585F9C                    ;
    //大数E784C10634AFCC9A288ABEE7169F7681511AAF01BCA460A242BD0408094C842A
    00585CED   .  E8 1686FFFF   call    0057E308
    00585CF2   >  80FB 01       cmp     bl, 1
    00585CF5   .  0F85 91000000 jnz     00585D8C
    00585CFB   .  8D45 F0       lea     eax, dword ptr [ebp-10]
    00585CFE   .  8B55 FC       mov     edx, dword ptr [ebp-4]
    00585D01   .  E8 E611E8FF   call    00406EEC
    00585D06   .  8B55 F0       mov     edx, dword ptr [ebp-10]
    00585D09   .  B8 2C605800   mov     eax, 0058602C                    ;  mar6_p
    //这里是专业版固定注册名,例如mar6_pxxx,xxx可取任何值
    00585D0E   .  E8 B51AE8FF   call    004077C8
    00585D13   .  85C0          test    eax, eax
    00585D15   .  7E 45         jle     short 00585D5C
    00585D17   .  8D4D EC       lea     ecx, dword ptr [ebp-14]
    00585D1A   .  BA 03000000   mov     edx, 3
    00585D1F   .  8B45 F8       mov     eax, dword ptr [ebp-8]
    00585D22   .  E8 9987E8FF   call    0040E4C0
    00585D27   .  8B45 EC       mov     eax, dword ptr [ebp-14]
    00585D2A   .  BA 48605800   mov     edx, 00586048                    ;  100
    //这里是注册码前三位判断,只要是100即可
    00585D2F   .  E8 6409E8FF   call    00406698
    00585D34   .  75 26         jnz     short 00585D5C
    00585D36   .  8D4D E8       lea     ecx, dword ptr [ebp-18]
    00585D39   .  BA 03000000   mov     edx, 3
    00585D3E   .  8B45 F8       mov     eax, dword ptr [ebp-8]
    00585D41   .  E8 B287E8FF   call    0040E4F8
    00585D46   .  8B45 E8       mov     eax, dword ptr [ebp-18]
    00585D49   .  BA 48605800   mov     edx, 00586048                    ;  100
    //这里是注册码后三位判断,只要是100即可
    00585D4E   .  E8 4509E8FF   call    00406698
    00585D53   .  75 07         jnz     short 00585D5C
    00585D55   .  B3 01         mov     bl, 1
    00585D57   .  E9 DD000000   jmp     00585E39
    //下面为标准版验证需要的大数
    00585D5C   >  A1 6C766000   mov     eax, dword ptr [60766C]
    00585D61   .  8B80 88030000 mov     eax, dword ptr [eax+388]
    00585D67   .  8B40 40       mov     eax, dword ptr [eax+40]
    00585D6A   .  BA 58605800   mov     edx, 00586058                    ;  
    //大数913BD69A2C1ED57663E0A08C9B0F21EB850FDF1858134999CCFD0F92479D1BB3
    00585D6F   .  E8 E484FFFF   call    0057E258
    00585D74   .  A1 6C766000   mov     eax, dword ptr [60766C]
    00585D79   .  8B80 88030000 mov     eax, dword ptr [eax+388]
    00585D7F   .  8B40 40       mov     eax, dword ptr [eax+40]
    00585D82   .  BA E8605800   mov     edx, 005860E8                    ;
    //大数FFE34316A702037A7F20A190E79461DBDBABFE1EC80121B6125CACC6A2C25A0E
    00585D87   .  E8 7C85FFFF   call    0057E308
    00585D8C   >  80FB 02       cmp     bl, 2
    00585D8F   .  75 30         jnz     short 00585DC1
    //下面为企业版验证需要的大数
    00585D91   .  A1 6C766000   mov     eax, dword ptr [60766C]
    00585D96   .  8B80 88030000 mov     eax, dword ptr [eax+388]
    00585D9C   .  8B40 40       mov     eax, dword ptr [eax+40]
    00585D9F   .  BA 78615800   mov     edx, 00586178                    ;
    //大数01CFCF7876F8F572085E6F1C3BCB323151C1D42AD040547D8935E8C3C6963F9E
    00585DA4   .  E8 AF84FFFF   call    0057E258
    00585DA9   .  A1 6C766000   mov     eax, dword ptr [60766C]
    00585DAE   .  8B80 88030000 mov     eax, dword ptr [eax+388]
    00585DB4   .  8B40 40       mov     eax, dword ptr [eax+40]
    00585DB7   .  BA 08625800   mov     edx, 00586208                    ;
    //大数17D9EC779DF07909414B49F338868440AA15FC46F7029EA9C50A187C6A24DA61
    00585DBC   .  E8 4785FFFF   call    0057E308
    00585DC1   >  33D2          xor     edx, edx
    00585DC3   .  55            push    ebp
    00585DC4   .  68 EF5D5800   push    00585DEF
    00585DC9   .  64:FF32       push    dword ptr fs:[edx]
    00585DCC   .  64:8922       mov     dword ptr fs:[edx], esp
    00585DCF   .  8D4D F4       lea     ecx, dword ptr [ebp-C]
    00585DD2   .  A1 6C766000   mov     eax, dword ptr [60766C]
    00585DD7   .  8B80 88030000 mov     eax, dword ptr [eax+388]
    00585DDD   .  8B55 F8       mov     edx, dword ptr [ebp-8]            
    00585DE0   .  E8 B315FFFF   call    00577398                             ;验证注册码CALL
    00585DE5   .  33C0          xor     eax, eax
    00585DE7   .  5A            pop     edx
    00585DE8   .  59            pop     ecx
    00585DE9   .  59            pop     ecx
    00585DEA   .  64:8910       mov     dword ptr fs:[eax], edx
    00585DED   .  EB 1F         jmp     short 00585E0E
    00585DEF   .^ E9 A0F9E7FF   jmp     00405794
    00585DF4      01            db      01
    00585DF5      00            db      00
    00585DF6      00            db      00
    00585DF7      00            db      00
    00585DF8   .  60E84000      dd      recorder.0040E860
    00585DFC   .  005E5800      dd      recorder.00585E00
    00585E00   .  33DB          xor     ebx, ebx
    00585E02   .  E8 B9FCE7FF   call    00405AC0
    00585E07   .  EB 30         jmp     short 00585E39
    00585E09   .  E8 B2FCE7FF   call    00405AC0
    00585E0E   >  8B45 FC       mov     eax, dword ptr [ebp-4]
    00585E11   .  E8 0609E8FF   call    0040671C
    00585E16   .  E8 11F9E8FF   call    0041572C
    00585E1B   .  50            push    eax
    00585E1C   .  8B45 F4       mov     eax, dword ptr [ebp-C]
    00585E1F   .  E8 F808E8FF   call    0040671C
    00585E24   .  E8 03F9E8FF   call    0041572C
    00585E29   .  5A            pop     edx
    00585E2A   .  E8 85F6E8FF   call    004154B4
    00585E2F   .  85C0          test    eax, eax                             ;标准版/企业版二次验证
    00585E31   .  75 04         jnz     short 00585E37
    00585E33   .  B3 01         mov     bl, 1
    00585E35   .  EB 02         jmp     short 00585E39
    .....
    //这里先给出专业版的注册信息吧
    user: mar6_pxxxxx
    serial: 100xxxx100         x为任意字符
    1.jpg
    *******************************************************************************************
    暂时提供企业版破解补丁,可实现企业版功能
    1.JPG

    评分

    参与人数 1飘云币 +40 收起 理由
    月之精灵 + 40 您的贴子很精彩,希望能再次分享!

    查看全部评分

    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-3-1 00:16:48 | 显示全部楼层
    MP3音频录音机V10破解补丁.rar (16.78 KB, 下载次数: 16)   根据你的算法写了一个文件补丁,直接用VC写的,这样不会被杀毒的盯上!
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-5-26 17:26
  • 签到天数: 17 天

    [LV.4]偶尔看看III

     楼主| 发表于 2011-3-1 21:41:27 | 显示全部楼层
    补丁2.part01.rar (200 KB, 下载次数: 17)
    补丁2.part02.rar (200 KB, 下载次数: 13)
    补丁2.part03.rar (200 KB, 下载次数: 14)
    补丁2.part04.rar (184.94 KB, 下载次数: 14)
    以上是企业版的补丁,只要配合专业版就可以使用企业版功能
    感谢liuqiangni提供的补丁!

    补丁2.part03.rar

    184.84 KB, 下载次数: 8, 下载积分: 飘云币 -2 枚

    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-3-1 21:58:40 | 显示全部楼层
    回复 3# cyane


        我很想知道你是怎么下断的,前几天我尝试着断了下,没找到算法Call,可以加我QQ:181809575,交个朋友
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-5-26 17:26
  • 签到天数: 17 天

    [LV.4]偶尔看看III

     楼主| 发表于 2011-3-2 12:27:12 | 显示全部楼层
    1、根据PEID的算法分析插件,可以发现程序中使用了哪些算法,并且可以检测是否有壳
    2、运行一下程序看看效果,可以发现注册失败就弹出对话框
    3、检查一下程序里的字符串,看看是否有什么有用信息,这里你会发现有几个大数(我上面的分析里面有写),并且PEID里也提示在那个位置有大数,所以就可以试着在大数那里下断点。
    4、在OD中设置BP MessageBoxA断点,注册后,断下,这里如果调试可以知道,程序会先断在大数那里,然后经过N步才会弹出对话框,所以可以知道大数有可能是程序验证的一部分,然后在OD里回溯寻找就可以了,肯定会找到验证函数的头。
    5、剩下的就是反复调试着看看了。
    不知道说的是否够清楚,希望对看到的人有所借鉴就可以了。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-7-26 11:22
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    发表于 2011-3-4 13:04:44 | 显示全部楼层
    学习了。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-3-7 18:00:07 | 显示全部楼层
    悲剧了,爷被降级了,我靠。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-3-15 00:21:47 | 显示全部楼层
    回复 1# cyane


        感谢论坛各位大大,学习了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 1993 天

    [LV.Master]伴坛终老

    发表于 2011-3-26 22:51:13 | 显示全部楼层
    谢谢提供算法,好好学习!!
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2023-12-27 21:49
  • 签到天数: 85 天

    [LV.6]常住居民II

    发表于 2011-3-27 12:14:24 | 显示全部楼层
    本帖最后由 foxjinlin 于 2011-3-27 12:17 编辑

    支持算法分析

    学习中

    http://download.flywing.cn/swrecorder_pro.exe
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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