【文章标题】: Mp3转换大师 V1.38破解
【文章作者】: 壹只老虎
【作者邮箱】: tiger..tiger@163.com
【软件名称】: Mp3转换大师 V1.38
【软件大小】: 2282KB(带了N多垃圾软件)
【下载地址】:
http://www.skycn.com/soft/31683.html#download
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【保护方式】: 压缩壳+注册码
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: peid0.94+od
【操作平台】: 盗版winxpsp2
【软件介绍】: 一款非常实用的MP3转换工具
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
很久都没玩破解了,手都生疏了,加上自己本来就菜,勉强把这个软件分析出来,来出来献丑一下,
也没什么新技术可言,当作是读书笔记,希望对新手有所帮助,哪怕只是那么一点点,高手们到此止步。
1:PEID查壳,ASPack 2.12 -> Alexey Solodovnikov,怎么脱就不说了,大家都会。衣服脱了之后看是delphi写的,
我也用这个写,呵呵。dede先不要急着用,没拿必要。呵呵。
2:运行程序,填写注册资料:序列号:tiger,注册码:11111111,注册,它悄悄的告诉我“注册完成,要求重起”,
呵呵,明显了吧,重起验证,不是注册表就是文件,od载入,我习惯性的看了看字符串,发现这个“注册完成,请重新运行程序!“,
太好了,过去看看,发现新大陆。这个,你看看吧。
004AEC14 /. 55 push ebp
004AEC15 |. 8BEC mov ebp,esp
004AEC17 |. 6A 00 push 0
004AEC19 |. 6A 00 push 0
004AEC1B |. 53 push ebx
004AEC1C |. 56 push esi
004AEC1D |. 8BF0 mov esi,eax
004AEC1F |. 33C0 xor eax,eax
004AEC21 |. 55 push ebp
004AEC22 |. 68 D5EC4A00 push 2_.004AECD5
004AEC27 |. 64:FF30 push dword ptr fs:[eax]
004AEC2A |. 64:8920 mov dword ptr fs:[eax],esp
004AEC2D |. B2 01 mov dl,1
004AEC2F |. A1 F0294600 mov eax,dword ptr ds:[4629F0]
004AEC34 |. E8 B73EFBFF call 2_.00462AF0
004AEC39 |. 8BD8 mov ebx,eax
004AEC3B |. BA 01000080 mov edx,80000001
004AEC40 |. 8BC3 mov eax,ebx
004AEC42 |. E8 493FFBFF call 2_.00462B90
004AEC47 |. B1 01 mov cl,1
004AEC49 |. BA ECEC4A00 mov edx,2_.004AECEC ; ASCII "Software\Mp3Converter"
004AEC4E |. 8BC3 mov eax,ebx
004AEC50 |. E8 9F3FFBFF call 2_.00462BF4
004AEC55 |. 8D55 FC lea edx,dword ptr ss:[ebp-4]
004AEC58 |. 8B86 38030000 mov eax,dword ptr ds:[esi+338]
004AEC5E |. E8 F9F9F8FF call 2_.0043E65C
004AEC63 |. 8B4D FC mov ecx,dword ptr ss:[ebp-4]
004AEC66 |. BA 0CED4A00 mov edx,2_.004AED0C ; ASCII "RegUser"
004AEC6B |. 8BC3 mov eax,ebx
004AEC6D |. E8 1E41FBFF call 2_.00462D90
004AEC72 |. 8D55 F8 lea edx,dword ptr ss:[ebp-8]
004AEC75 |. 8B86 3C030000 mov eax,dword ptr ds:[esi+33C]
004AEC7B |. E8 DCF9F8FF call 2_.0043E65C
004AEC80 |. 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
004AEC83 |. BA 1CED4A00 mov edx,2_.004AED1C ; ASCII "RegNo"
004AEC88 |. 8BC3 mov eax,ebx
004AEC8A |. E8 0141FBFF call 2_.00462D90
004AEC8F |. 8BC3 mov eax,ebx
004AEC91 |. E8 0249F5FF call 2_.00403598
004AEC96 |. 6A 40 push 40
004AEC98 |. B9 24ED4A00 mov ecx,2_.004AED24
004AEC9D |. BA 2CED4A00 mov edx,2_.004AED2C ; 注册完成,要求重起
004AECA2 |. A1 9C354B00 mov eax,dword ptr ds:[4B359C]
004AECA7 |. 8B00 mov eax,dword ptr ds:[eax]
004AECA9 |. E8 FEF9FAFF call 2_.0045E6AC
004AECAE |. A1 9C354B00 mov eax,dword ptr ds:[4B359C]
004AECB3 |. 8B00 mov eax,dword ptr ds:[eax]
004AECB5 |. E8 4EF9FAFF call 2_.0045E608
004AECBA |. 33C0 xor eax,eax
004AECBC |. 5A pop edx
004AECBD |. 59 pop ecx
004AECBE |. 59 pop ecx
004AECBF |. 64:8910 mov dword ptr fs:[eax],edx
004AECC2 |. 68 DCEC4A00 push 2_.004AECDC
004AECC7 |> 8D45 F8 lea eax,dword ptr ss:[ebp-8]
004AECCA |. BA 02000000 mov edx,2
004AECCF |. E8 7456F5FF call 2_.00404348
004AECD4 \. C3 retn
3:注意下这个“ASCII "Software\Mp3Converter"”,很明显其中至少包含了注册表的操作把,我觉得应该打开注册表去看看,
好了,打开注册表,找到HKEY_CURRENT_USER\Software\Mp3Converter,看到了两个数据。一个是RegNo,一个是RegUser,
里面的数据就是我们的注册名和注册码,和我们刚才输入的一样,没有变过,非常好。
下面是断点的问题了,这个怎么段都行,看个人喜好了,1,api断点,2,字符串参考中的“Software\Mp3Converter“
双击过去就是了。
下面进行具体的分析过程。
4:具体的分析过程:写的比较详细的!
双击注册表建值得字符串来到这里。
004AF8E7 |. B1 01 mov cl,1
004AF8E9 |. BA 80F94A00 mov edx,2_.004AF980 ; ASCII "Software\Mp3Converter"
004AF8EE |. 8BC3 mov eax,ebx
往上面看看,找到开始分析的位置,004AF890,(其实也没什么必要,从004AF8E7开始分析也行 )。看注释吧。不废话了。
004AF890 /. 55 push ebp
004AF891 |. 8BEC mov ebp,esp
004AF893 |. 6A 00 push 0
004AF895 |. 6A 00 push 0
004AF897 |. 6A 00 push 0
004AF899 |. 53 push ebx
004AF89A |. 8BD8 mov ebx,eax
004AF89C |. 33C0 xor eax,eax
004AF89E |. 55 push ebp
004AF89F |. 68 6AF94A00 push 2_.004AF96A
004AF8A4 |. 64:FF30 push dword ptr fs:[eax]
004AF8A7 |. 64:8920 mov dword ptr fs:[eax],esp
004AF8AA |. C683 49030000 00 mov byte ptr ds:[ebx+349],0
004AF8B1 |. 8BC3 mov eax,ebx
004AF8B3 |. E8 0C060000 call 2_.004AFEC4
004AF8B8 |. 8BC3 mov eax,ebx
004AF8BA |. E8 F5FEFFFF call 2_.004AF7B4
004AF8BF |. C683 F8010000 01 mov byte ptr ds:[ebx+1F8],1
004AF8C6 |. C605 34514B00 00 mov byte ptr ds:[4B5134],0
004AF8CD |. B2 01 mov dl,1
004AF8CF |. A1 F0294600 mov eax,dword ptr ds:[4629F0]
004AF8D4 |. E8 1732FBFF call 2_.00462AF0
004AF8D9 |. 8BD8 mov ebx,eax
004AF8DB |. BA 01000080 mov edx,80000001
004AF8E0 |. 8BC3 mov eax,ebx
004AF8E2 |. E8 A932FBFF call 2_.00462B90
004AF8E7 |. B1 01 mov cl,1
004AF8E9 |. BA 80F94A00 mov edx,2_.004AF980 ; ASCII "Software\Mp3Converter"
004AF8EE |. 8BC3 mov eax,ebx
004AF8F0 |. E8 FF32FBFF call 2_.00462BF4
004AF8F5 |. 8D4D FC lea ecx,dword ptr ss:[ebp-4]
004AF8F8 |. BA A0F94A00 mov edx,2_.004AF9A0 ; ASCII "RegUser"
004AF8FD |. 8BC3 mov eax,ebx
004AF8FF |. E8 B834FBFF call 2_.00462DBC
004AF904 |. 8B55 FC mov edx,dword ptr ss:[ebp-4] ; edx=注册名
004AF907 |. B8 38514B00 mov eax,2_.004B5138
004AF90C |. E8 674AF5FF call 2_.00404378
004AF911 |. 8D4D F8 lea ecx,dword ptr ss:[ebp-8]
004AF914 |. BA B0F94A00 mov edx,2_.004AF9B0 ; ASCII "RegNo"
004AF919 |. 8BC3 mov eax,ebx
004AF91B |. E8 9C34FBFF call 2_.00462DBC
004AF920 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
004AF923 |. 50 push eax
004AF924 |. 8D4D F4 lea ecx,dword ptr ss:[ebp-C]
004AF927 |. BA C0F94A00 mov edx,2_.004AF9C0 ; ASCII "mp3converterChina"
004AF92C |. A1 38514B00 mov eax,dword ptr ds:[4B5138]
004AF931 |. E8 6E01FDFF call 2_.0047FAA4 ; ★关键算法,跟进去★
004AF936 |. 8B55 F4 mov edx,dword ptr ss:[ebp-C] ; edx=真注册码
004AF939 |. 58 pop eax ; eax=假码
004AF93A |. E8 E14DF5FF call 2_.00404720 ; 关键call
004AF93F |. 75 07 jnz short 2_.004AF948 ; 关键跳,爆破点
004AF941 |. C605 34514B00 01 mov byte ptr ds:[4B5134],1
004AF948 |> 8BC3 mov eax,ebx
004AF94A |. E8 493CF5FF call 2_.00403598
004AF94F |. 33C0 xor eax,eax
004AF951 |. 5A pop edx
004AF952 |. 59 pop ecx
004AF953 |. 59 pop ecx
004AF954 |. 64:8910 mov dword ptr fs:[eax],edx
004AF957 |. 68 71F94A00 push 2_.004AF971
004AF95C |> 8D45 F4 lea eax,dword ptr ss:[ebp-C]
004AF95F |. BA 03000000 mov edx,3
004AF964 |. E8 DF49F5FF call 2_.00404348
004AF969 \. C3 retn
5:注册机编写
call 2_.0047FAA4 这里的算法我没跟完,看起来比较复杂的,不知道哪位兄弟能看得出这是什么算法,我看得很晕了,
这软件是2007年3月17日下午3点多发布的,赶在24小时内破解掉,哎,算法没学好,现爆破了再说哦!
对算法熟悉的朋友希望能指点下,谢谢。
好了就这样吧!文章结束,希望对大家有所帮助!
--------------------------------------------------------------------------------
【经验总结】
算法没弄出来,感觉很郁闷,不过主要思路是知道的,根据用户名和mp3converterChina来建立一个表,然后注册码就在这
个表里面去寻找,基本上是从某个地址开始挨个寻找的。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2007年03月18日 4:38:13
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课