- 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.. |
|