tianxj 发表于 2008-11-5 23:16:23

Ease OGG TO RM Converter 2.70 算法分析

【破文标题】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/download-ease-rm-converter/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.
==============================================================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:,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:
004AE859|.64:8920       MOV DWORD PTR FS:,ESP
004AE85C|.B3 01         MOV BL,1
004AE85E|.FF05 FC7D4B00 INC DWORD PTR DS:
004AE864|.833D FC7D4B00>CMP DWORD PTR DS:,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:            ; |
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:
004AE885|.E8 1221FDFF   CALL OGG_TO_R.0048099C
004AE88A|>8D55 F0       LEA EDX,DWORD PTR SS:
004AE88D|.8B45 FC       MOV EAX,DWORD PTR SS:
004AE890|.8B80 10030000 MOV EAX,DWORD PTR DS:
004AE896|.E8 C15BFBFF   CALL OGG_TO_R.0046445C
004AE89B|.8B45 F0       MOV EAX,DWORD PTR SS:            ;//用户名
004AE89E|.8D55 F8       LEA EDX,DWORD PTR SS:
004AE8A1|.E8 4EA0F5FF   CALL OGG_TO_R.004088F4
004AE8A6|.8D55 EC       LEA EDX,DWORD PTR SS:
004AE8A9|.8B45 F8       MOV EAX,DWORD PTR SS:
004AE8AC|.E8 77A0F5FF   CALL OGG_TO_R.00408928
004AE8B1|.8B55 EC       MOV EDX,DWORD PTR SS:            ;//用户名
004AE8B4|.8D45 F8       LEA EAX,DWORD PTR SS:
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:            ;//用户名
004AE8C9|.8B16          |MOV EDX,DWORD PTR DS:
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:            ; |
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:
004AE8FD|.8B45 FC       MOV EAX,DWORD PTR SS:
004AE900|.8B80 14030000 MOV EAX,DWORD PTR DS:
004AE906|.E8 515BFBFF   CALL OGG_TO_R.0046445C
004AE90B|.8B45 E8       MOV EAX,DWORD PTR SS:            ;//试练码
004AE90E|.8D55 F4       LEA EDX,DWORD PTR SS:
004AE911|.E8 DE9FF5FF   CALL OGG_TO_R.004088F4
004AE916|.8D55 E4       LEA EDX,DWORD PTR SS:
004AE919|.8B45 F4       MOV EAX,DWORD PTR SS:
004AE91C|.E8 07A0F5FF   CALL OGG_TO_R.00408928
004AE921|.8B55 E4       MOV EDX,DWORD PTR SS:
004AE924|.8D45 F4       LEA EAX,DWORD PTR SS:
004AE927|.E8 C459F5FF   CALL OGG_TO_R.004042F0
004AE92C|.837D F8 00    CMP DWORD PTR SS:,0
004AE930|.0F84 F4000000 JE OGG_TO_R.004AEA2A                     ;//用户名为空则跳
004AE936|.837D F4 00    CMP DWORD PTR SS:,0
004AE93A|.0F84 EA000000 JE OGG_TO_R.004AEA2A                     ;//注册码为空则跳
004AE940|.8B45 F4       MOV EAX,DWORD PTR SS:
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:            ;//试练码
004AE954|.0FB64C11 FF   |MOVZX ECX,BYTE PTR DS:       ;//逐位取注册码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:             ; |
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:             ;//用户名
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:            ;//用户名
004AE997|.0FB6543A FF   |MOVZX EDX,BYTE PTR DS:       ;//逐位取用户名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:             ;//试练码
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:            ; |
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:
004AE9DC|.C600 01       MOV BYTE PTR DS:,1
004AE9DF|.A1 88634B00   MOV EAX,DWORD PTR DS:
004AE9E4|.8B00          MOV EAX,DWORD PTR DS:
004AE9E6|.33C9          XOR ECX,ECX
004AE9E8|.BA 04000000   MOV EDX,4
004AE9ED|.8B18          MOV EBX,DWORD PTR DS:
004AE9EF|.FF53 14       CALL DWORD PTR DS:
004AE9F2|.8B15 74624B00 MOV EDX,DWORD PTR DS:            ;OGG_TO_R.004B81D4
004AE9F8|.A1 88634B00   MOV EAX,DWORD PTR DS:
004AE9FD|.8B00          MOV EAX,DWORD PTR DS:
004AE9FF|.B9 01000000   MOV ECX,1
004AEA04|.E8 3B04F7FF   CALL OGG_TO_R.0041EE44
004AEA09|.A1 F87D4B00   MOV EAX,DWORD PTR DS:
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:            ; |
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:,EDX
004AEA32|.68 6CEA4A00   PUSH OGG_TO_R.004AEA6C
004AEA37|>8D45 E4       LEA EAX,DWORD PTR SS:
004AEA3A|.E8 1958F5FF   CALL OGG_TO_R.00404258
004AEA3F|.8D45 E8       LEA EAX,DWORD PTR SS:
004AEA42|.E8 1158F5FF   CALL OGG_TO_R.00404258
004AEA47|.8D45 EC       LEA EAX,DWORD PTR SS:
004AEA4A|.E8 0958F5FF   CALL OGG_TO_R.00404258
004AEA4F|.8D45 F0       LEA EAX,DWORD PTR SS:
004AEA52|.E8 0158F5FF   CALL OGG_TO_R.00404258
004AEA57|.8D45 F4       LEA EAX,DWORD PTR SS:
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
==============================================================
内置的用户名
004AE69456 53 38 38 54 36 2D 56 73 36 00 00 FF FF FF FFVS88T6-Vs6..
页: [1]
查看完整版本: Ease OGG TO RM Converter 2.70 算法分析