- UID
 - 28352
 
 注册时间2007-2-21
阅读权限40
最后登录1970-1-1
独步武林 
   
 
 
 
TA的每日心情  | 开心 2024-5-1 14:44 | 
|---|
 
  签到天数: 2 天 [LV.1]初来乍到  
 | 
 
【破文标题】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.. |   
 
 
 
 |