飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4314|回复: 0

[原创] Ease OGG TO RM Converter 2.70 算法分析

[复制链接]
  • TA的每日心情
    开心
    2024-5-1 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-11-5 23:16:23 | 显示全部楼层 |阅读模式
    【破文标题】Ease OGG TO RM Converter 2.70 算法分析
    【破文作者】tianxj
    【作者邮箱】[email protected]
    【作者主页】WwW.ChiNaPYG.CoM
    破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】Ease OGG TO RM Converter 2.70  
    【软件类别】音频转换  
    【软件授权】共享版
    【运行环境】Win9x/Me/NT/2000/XP/2003  
    【软件语言】英文  
    【软件大小】5810KB  
    【更新时间】2008-11-5  
    【原版下载】http://www.rmconverter.net/downl ... /oggtormconvert.exe
    【保护方式】注册码
    【软件简介】Ease OGG TO RM Converter是一个音频转换工具。可批量转换直接播放RMVB,OGG支持RM, RMVB, OGG 格式之间转换。它建立一个

    小的ID3编辑器,您可以添加/编辑标题,艺术家,专辑,年份,流派,评论资料纳入档案您建立与小编辑。
    【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    --------------------------------------------------------------
    【破解内容】
    --------------------------------------------------------------
    **************************************************************
    一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
    "Invalid register code! Please retry!"
    **************************************************************
    二、用PEiD对OGG TO RM Converter.exe查壳,为 Borland Delphi 6.0 - 7.0
    **************************************************************
    三、运行OD,打开OGG TO RM Converter.exe,右键—超级字串参考—查找ASCII.
    ==============================================================[code]004AE83C  /.  55            PUSH EBP
    004AE83D  |.  8BEC          MOV EBP,ESP
    004AE83F  |.  33C9          XOR ECX,ECX
    004AE841  |.  51            PUSH ECX
    004AE842  |.  51            PUSH ECX
    004AE843  |.  51            PUSH ECX
    004AE844  |.  51            PUSH ECX
    004AE845  |.  51            PUSH ECX
    004AE846  |.  51            PUSH ECX
    004AE847  |.  51            PUSH ECX
    004AE848  |.  53            PUSH EBX
    004AE849  |.  56            PUSH ESI
    004AE84A  |.  57            PUSH EDI
    004AE84B  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
    004AE84E  |.  33C0          XOR EAX,EAX
    004AE850  |.  55            PUSH EBP
    004AE851  |.  68 65EA4A00   PUSH OGG_TO_R.004AEA65
    004AE856  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    004AE859  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    004AE85C  |.  B3 01         MOV BL,1
    004AE85E  |.  FF05 FC7D4B00 INC DWORD PTR DS:[4B7DFC]
    004AE864  |.  833D FC7D4B00>CMP DWORD PTR DS:[4B7DFC],3
    004AE86B  |.  7E 1D         JLE SHORT OGG_TO_R.004AE88A
    004AE86D  |.  6A 00         PUSH 0                                   ; /Arg1 = 00000000
    004AE86F  |.  66:8B0D 74EA4>MOV CX,WORD PTR DS:[4AEA74]              ; |
    004AE876  |.  B2 02         MOV DL,2                                 ; |
    004AE878  |.  B8 80EA4A00   MOV EAX,OGG_TO_R.004AEA80                ; |Invalid register code! Please retry!
    004AE87D  |.  E8 4E74F8FF   CALL OGG_TO_R.00435CD0                   ; \OGG_TO_R.00435CD0
    004AE882  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004AE885  |.  E8 1221FDFF   CALL OGG_TO_R.0048099C
    004AE88A  |>  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
    004AE88D  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004AE890  |.  8B80 10030000 MOV EAX,DWORD PTR DS:[EAX+310]
    004AE896  |.  E8 C15BFBFF   CALL OGG_TO_R.0046445C
    004AE89B  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]            ;  //用户名
    004AE89E  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
    004AE8A1  |.  E8 4EA0F5FF   CALL OGG_TO_R.004088F4
    004AE8A6  |.  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
    004AE8A9  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
    004AE8AC  |.  E8 77A0F5FF   CALL OGG_TO_R.00408928
    004AE8B1  |.  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]            ;  //用户名
    004AE8B4  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    004AE8B7  |.  E8 345AF5FF   CALL OGG_TO_R.004042F0
    004AE8BC  |.  BF 15000000   MOV EDI,15
    004AE8C1  |.  BE F05E4B00   MOV ESI,OGG_TO_R.004B5EF0                ;  VS88T6-Vs6
    004AE8C6  |>  8B45 F8       /MOV EAX,DWORD PTR SS:[EBP-8]            ;  //用户名
    004AE8C9  |.  8B16          |MOV EDX,DWORD PTR DS:[ESI]
    004AE8CB  |.  E8 945DF5FF   |CALL OGG_TO_R.00404664                  ;  //比较CALL
    004AE8D0  |.  75 04         |JNZ SHORT OGG_TO_R.004AE8D6             ;  //不等则跳
    004AE8D2  |.  33DB          |XOR EBX,EBX
    004AE8D4  |.  EB 06         |JMP SHORT OGG_TO_R.004AE8DC
    004AE8D6  |>  83C6 04       |ADD ESI,4
    004AE8D9  |.  4F            |DEC EDI
    004AE8DA  |.^ 75 EA         \JNZ SHORT OGG_TO_R.004AE8C6             ;  //循环,比较输入的用户名是否在内置的用户名库之中
    004AE8DC  |>  84DB          TEST BL,BL
    004AE8DE  |.  74 1A         JE SHORT OGG_TO_R.004AE8FA
    004AE8E0  |.  6A 00         PUSH 0                                   ; /Arg1 = 00000000
    004AE8E2  |.  66:8B0D 74EA4>MOV CX,WORD PTR DS:[4AEA74]              ; |
    004AE8E9  |.  B2 02         MOV DL,2                                 ; |
    004AE8EB  |.  B8 80EA4A00   MOV EAX,OGG_TO_R.004AEA80                ; |Invalid register code! Please retry!
    004AE8F0  |.  E8 DB73F8FF   CALL OGG_TO_R.00435CD0                   ; \OGG_TO_R.00435CD0
    004AE8F5  |.  E9 30010000   JMP OGG_TO_R.004AEA2A
    004AE8FA  |>  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
    004AE8FD  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    004AE900  |.  8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
    004AE906  |.  E8 515BFBFF   CALL OGG_TO_R.0046445C
    004AE90B  |.  8B45 E8       MOV EAX,DWORD PTR SS:[EBP-18]            ;  //试练码
    004AE90E  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
    004AE911  |.  E8 DE9FF5FF   CALL OGG_TO_R.004088F4
    004AE916  |.  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
    004AE919  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
    004AE91C  |.  E8 07A0F5FF   CALL OGG_TO_R.00408928
    004AE921  |.  8B55 E4       MOV EDX,DWORD PTR SS:[EBP-1C]
    004AE924  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    004AE927  |.  E8 C459F5FF   CALL OGG_TO_R.004042F0
    004AE92C  |.  837D F8 00    CMP DWORD PTR SS:[EBP-8],0
    004AE930  |.  0F84 F4000000 JE OGG_TO_R.004AEA2A                     ;  //用户名为空则跳
    004AE936  |.  837D F4 00    CMP DWORD PTR SS:[EBP-C],0
    004AE93A  |.  0F84 EA000000 JE OGG_TO_R.004AEA2A                     ;  //注册码为空则跳
    004AE940  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
    004AE943  |.  E8 D05BF5FF   CALL OGG_TO_R.00404518
    004AE948  |.  85C0          TEST EAX,EAX
    004AE94A  |.  7E 35         JLE SHORT OGG_TO_R.004AE981
    004AE94C  |.  BA 01000000   MOV EDX,1
    004AE951  |>  8B4D F4       /MOV ECX,DWORD PTR SS:[EBP-C]            ;  //试练码
    004AE954  |.  0FB64C11 FF   |MOVZX ECX,BYTE PTR DS:[ECX+EDX-1]       ;  //逐位取注册码ASCII码
    004AE959  |.  83F9 30       |CMP ECX,30
    004AE95C  |.  7C 05         |JL SHORT OGG_TO_R.004AE963              ;  //小于"0"则跳
    004AE95E  |.  83F9 39       |CMP ECX,39
    004AE961  |.  7E 1A         |JLE SHORT OGG_TO_R.004AE97D             ;  //小于等于"9"则跳
    004AE963  |>  6A 00         |PUSH 0                                  ; /Arg1 = 00000000
    004AE965  |.  66:8B0D 74EA4>|MOV CX,WORD PTR DS:[4AEA74]             ; |
    004AE96C  |.  B2 02         |MOV DL,2                                ; |
    004AE96E  |.  B8 80EA4A00   |MOV EAX,OGG_TO_R.004AEA80               ; |Invalid register code! Please retry!
    004AE973  |.  E8 5873F8FF   |CALL OGG_TO_R.00435CD0                  ; \OGG_TO_R.00435CD0
    004AE978  |.  E9 AD000000   |JMP OGG_TO_R.004AEA2A
    004AE97D  |>  42            |INC EDX
    004AE97E  |.  48            |DEC EAX
    004AE97F  |.^ 75 D0         \JNZ SHORT OGG_TO_R.004AE951             ;  //循环,比较注册码里的字符是否全是数字
    004AE981  |>  33DB          XOR EBX,EBX                              ;  //EBX=0
    004AE983  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  //用户名
    004AE986  |.  E8 8D5BF5FF   CALL OGG_TO_R.00404518
    004AE98B  |.  85C0          TEST EAX,EAX
    004AE98D  |.  7E 13         JLE SHORT OGG_TO_R.004AE9A2
    004AE98F  |.  BF 01000000   MOV EDI,1
    004AE994  |>  8B55 F8       /MOV EDX,DWORD PTR SS:[EBP-8]            ;  //用户名
    004AE997  |.  0FB6543A FF   |MOVZX EDX,BYTE PTR DS:[EDX+EDI-1]       ;  //逐位取用户名ASCII码
    004AE99C  |.  03DA          |ADD EBX,EDX                             ;  //EBX=EBX+EDX
    004AE99E  |.  47            |INC EDI
    004AE99F  |.  48            |DEC EAX
    004AE9A0  |.^ 75 F2         \JNZ SHORT OGG_TO_R.004AE994             ;  //循环,累加用户名ASCII码
    004AE9A2  |>  69C3 A3EF0700 IMUL EAX,EBX,7EFA3                       ;  //EAX=EBX*7EFA3
    004AE9A8  |.  05 D5020000   ADD EAX,2D5                              ;  //EAX=EAX+2D5
    004AE9AD  |.  D1F8          SAR EAX,1                                ;  //EAX右移1位
    004AE9AF  |.  79 03         JNS SHORT OGG_TO_R.004AE9B4
    004AE9B1  |.  83D0 00       ADC EAX,0
    004AE9B4  |>  8BD8          MOV EBX,EAX                              ;  EBX=EAX
    004AE9B6  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]             ;  //试练码
    004AE9B9  |.  E8 F2A2F5FF   CALL OGG_TO_R.00408CB0                   ;  //试练码转16进制
    004AE9BE  |.  3BD8          CMP EBX,EAX                              ;  //关键比较,真假码的16进制比较
    004AE9C0  |.  75 53         JNZ SHORT OGG_TO_R.004AEA15              ;  //关键跳转
    004AE9C2  |.  6A 00         PUSH 0                                   ; /Arg1 = 00000000
    004AE9C4  |.  66:8B0D 74EA4>MOV CX,WORD PTR DS:[4AEA74]              ; |
    004AE9CB  |.  B2 02         MOV DL,2                                 ; |
    004AE9CD  |.  B8 B0EA4A00   MOV EAX,OGG_TO_R.004AEAB0                ; |Congratuation! You have successfully registered!
    004AE9D2  |.  E8 F972F8FF   CALL OGG_TO_R.00435CD0                   ; \OGG_TO_R.00435CD0
    004AE9D7  |.  A1 74624B00   MOV EAX,DWORD PTR DS:[4B6274]
    004AE9DC  |.  C600 01       MOV BYTE PTR DS:[EAX],1
    004AE9DF  |.  A1 88634B00   MOV EAX,DWORD PTR DS:[4B6388]
    004AE9E4  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    004AE9E6  |.  33C9          XOR ECX,ECX
    004AE9E8  |.  BA 04000000   MOV EDX,4
    004AE9ED  |.  8B18          MOV EBX,DWORD PTR DS:[EAX]
    004AE9EF  |.  FF53 14       CALL DWORD PTR DS:[EBX+14]
    004AE9F2  |.  8B15 74624B00 MOV EDX,DWORD PTR DS:[4B6274]            ;  OGG_TO_R.004B81D4
    004AE9F8  |.  A1 88634B00   MOV EAX,DWORD PTR DS:[4B6388]
    004AE9FD  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    004AE9FF  |.  B9 01000000   MOV ECX,1
    004AEA04  |.  E8 3B04F7FF   CALL OGG_TO_R.0041EE44
    004AEA09  |.  A1 F87D4B00   MOV EAX,DWORD PTR DS:[4B7DF8]
    004AEA0E  |.  E8 891FFDFF   CALL OGG_TO_R.0048099C
    004AEA13  |.  EB 15         JMP SHORT OGG_TO_R.004AEA2A
    004AEA15  |>  6A 00         PUSH 0                                   ; /Arg1 = 00000000
    004AEA17  |.  66:8B0D 74EA4>MOV CX,WORD PTR DS:[4AEA74]              ; |
    004AEA1E  |.  B2 02         MOV DL,2                                 ; |
    004AEA20  |.  B8 80EA4A00   MOV EAX,OGG_TO_R.004AEA80                ; |Invalid register code! Please retry!
    004AEA25  |.  E8 A672F8FF   CALL OGG_TO_R.00435CD0                   ; \OGG_TO_R.00435CD0
    004AEA2A  |>  33C0          XOR EAX,EAX
    004AEA2C  |.  5A            POP EDX
    004AEA2D  |.  59            POP ECX
    004AEA2E  |.  59            POP ECX
    004AEA2F  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    004AEA32  |.  68 6CEA4A00   PUSH OGG_TO_R.004AEA6C
    004AEA37  |>  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
    004AEA3A  |.  E8 1958F5FF   CALL OGG_TO_R.00404258
    004AEA3F  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
    004AEA42  |.  E8 1158F5FF   CALL OGG_TO_R.00404258
    004AEA47  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    004AEA4A  |.  E8 0958F5FF   CALL OGG_TO_R.00404258
    004AEA4F  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    004AEA52  |.  E8 0158F5FF   CALL OGG_TO_R.00404258
    004AEA57  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    004AEA5A  |.  BA 02000000   MOV EDX,2
    004AEA5F  |.  E8 1858F5FF   CALL OGG_TO_R.0040427C
    004AEA64  \.  C3            RETN
    004AEA65   .^ E9 3251F5FF   JMP OGG_TO_R.00403B9C
    004AEA6A   .^ EB CB         JMP SHORT OGG_TO_R.004AEA37
    004AEA6C   .  5F            POP EDI
    004AEA6D   .  5E            POP ESI
    004AEA6E   .  5B            POP EBX
    004AEA6F   .  8BE5          MOV ESP,EBP
    004AEA71   .  5D            POP EBP
    004AEA72   .  C3            RETN
    ==============================================================
    内置的用户名
    004AE694  56 53 38 38 54 36 2D 56 73 36 00 00 FF FF FF FF  VS88T6-Vs6..
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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