吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8725|回复: 4
收起左侧

[分享] i-sound破解+破解补丁的制作

  [复制链接]
xujunlin5588 发表于 2009-5-16 19:18
本帖最后由 xujunlin5588 于 2009-5-16 20:11 编辑

首先先感谢天草老师。他教会了我很多关于破解的东西。
这次是我第一次发破文。不知道好不,请大家请教下。

软件:i-Sound Pro
壳:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo

OD载入:
0065BC40 >  60              pushad                                   ; (initial cpu selection)
0065BC41    BE 00D05D00     mov     esi, 005DD000
0065BC46    8DBE 0040E2FF   lea     edi, dword ptr [esi+FFE24000]
0065BC4C    57              push    edi
0065BC4D    83CD FF         or      ebp, FFFFFFFF
0065BC50    EB 10           jmp     short 0065BC62
0065BC52    90              nop
0065BC53    90              nop
0065BC54    90              nop
0065BC55    90              nop
0065BC56    90              nop
0065BC57    90              nop
0065BC58    8A06            mov     al, byte ptr [esi]
0065BC5A    46              inc     esi
0065BC5B    8807            mov     byte ptr [edi], al
0065BC5D    47              inc     edi
0065BC5E    01DB            add     ebx, ebx
0065BC60    75 07           jnz     short 0065BC69
0065BC62    8B1E            mov     ebx, dword ptr [esi]
0065BC64    83EE FC         sub     esi, -4
0065BC67    11DB            adc     ebx, ebx
0065BC69  ^ 72 ED           jb      short 0065BC58
0065BC6B    B8 01000000     mov     eax, 1
0065BC70    01DB            add     ebx, ebx
0065BC72    75 07           jnz     short 0065BC7B
0065BC74    8B1E            mov     ebx, dword ptr [esi]
0065BC76    83EE FC         sub     esi, -4
0065BC79    11DB            adc     ebx, ebx
0065BC7B    11C0            adc     eax, eax
0065BC7D    01DB            add     ebx, ebx
0065BC7F    73 0B           jnb     short 0065BC8C
0065BC81    75 19           jnz     short 0065BC9C
0065BC83    8B1E            mov     ebx, dword ptr [esi]
......
很明显是UPX壳的特征。
按照常规方法。先运行下。(注意:要先忽略除了内存的所有异常)
运行后,点了setting..就找到register..那里是  unregister 。这个就是关键。所以在后面寻找字符串可以找这个。
暂停OD。找到“显示调用堆栈”。
找到 isound.0048BF18..显示调用。。
再找一下字符串。找到 registered version(这是个注册版本)进去观察下。

004D09C4    55              push    ebp
004D09C5    68 5C0E4D00     push    004D0E5C
004D09CA    64:FF30         push    dword ptr fs:[eax]
004D09CD    64:8920         mov     dword ptr fs:[eax], esp
004D09D0    8B15 141D4E00   mov     edx, dword ptr [4E1D14]          ; isound.00575244
004D09D6    8B52 0D         mov     edx, dword ptr [edx+D]
004D09D9    8B83 BC040000   mov     eax, dword ptr [ebx+4BC]
004D09DF    E8 28A3F9FF     call    0046AD0C
004D09E4    8B15 141D4E00   mov     edx, dword ptr [4E1D14]          ; isound.00575244
004D09EA    8B52 52         mov     edx, dword ptr [edx+52]
004D09ED    8B83 28030000   mov     eax, dword ptr [ebx+328]
004D09F3    E8 14A3F9FF     call    0046AD0C
004D09F8    8B0D 141D4E00   mov     ecx, dword ptr [4E1D14]          ; isound.00575244
004D09FE    8B49 11         mov     ecx, dword ptr [ecx+11]
004D0A01    8B15 141D4E00   mov     edx, dword ptr [4E1D14]          ; isound.00575244
004D0A07    8B52 0D         mov     edx, dword ptr [edx+D]
004D0A0A    A1 E01D4E00     mov     eax, dword ptr [4E1DE0]
004D0A0F    8B00            mov     eax, dword ptr [eax]
004D0A11    E8 16530000     call    004D5D2C
004D0A16    84C0            test    al, al                                  //控制jnz能否跳,破解关键!
004D0A18    75 12           jnz     short 004D0A2C                                                            //就是这个控制了我们不能注册成功!这个就是目标了。
004D0A1A    BA 740E4D00     mov     edx, 004D0E74                    ; this copy is unregistered
004D0A1F    8B83 E4040000   mov     eax, dword ptr [ebx+4E4]
004D0A25    E8 E2A2F9FF     call    0046AD0C
004D0A2A    EB 6E           jmp     short 004D0A9A                                                          //这个跳就把register跳过了,那么就无法成功了,所以要让上面那个jnz跳实现。
004D0A2C    8B0D 141D4E00   mov     ecx, dword ptr [4E1D14]          ; isound.00575244
004D0A32    8B49 0D         mov     ecx, dword ptr [ecx+D]
004D0A35    8D85 98FEFFFF   lea     eax, dword ptr [ebp-168]
004D0A3B    BA 980E4D00     mov     edx, 004D0E98                    ; registered to
004D0A40    E8 AB49F3FF     call    004053F0
004D0A45    8B95 98FEFFFF   mov     edx, dword ptr [ebp-168]
004D0A4B    8B83 E4040000   mov     eax, dword ptr [ebx+4E4]
004D0A51    E8 B6A2F9FF     call    0046AD0C
004D0A56    33D2            xor     edx, edx
004D0A58    8B83 AC040000   mov     eax, dword ptr [ebx+4AC]
004D0A5E    E8 99A1F9FF     call    0046ABFC
004D0A63    33D2            xor     edx, edx
004D0A65    8B83 C4040000   mov     eax, dword ptr [ebx+4C4]
004D0A6B    E8 8CA1F9FF     call    0046ABFC
004D0A70    33D2            xor     edx, edx
004D0A72    8B83 BC040000   mov     eax, dword ptr [ebx+4BC]
004D0A78    8B08            mov     ecx, dword ptr [eax]
004D0A7A    FF51 64         call    dword ptr [ecx+64]
004D0A7D    33D2            xor     edx, edx
004D0A7F    8B83 C0040000   mov     eax, dword ptr [ebx+4C0]
004D0A85    8B08            mov     ecx, dword ptr [eax]
004D0A87    FF51 64         call    dword ptr [ecx+64]
004D0A8A    BA B00E4D00     mov     edx, 004D0EB0                    ; registered version                       //这里就是关键了。
004D0A8F    8B83 C0040000   mov     eax, dword ptr [ebx+4C0]
004D0A95    E8 72A2F9FF     call    0046AD0C
004D0A9A    8B15 141D4E00   mov     edx, dword ptr [4E1D14]          ; isound.00575244
004D0AA0    8B52 2A         mov     edx, dword ptr [edx+2A]
004D0AA3    8B83 DC030000   mov     eax, dword ptr [ebx+3DC]
004D0AA9    E8 7ED9F7FF     call    0044E42C
004D0AAE    8B15 141D4E00   mov     edx, dword ptr [4E1D14]          ; isound.00575244
004D0AB4    8B52 46         mov     edx, dword ptr [edx+46]
004D0AB7    8B83 24040000   mov     eax, dword ptr [ebx+424]
004D0ABD    8B08            mov     ecx, dword ptr [eax]
004D0ABF    FF91 D0000000   call    dword ptr [ecx+D0]
004D0AC5    A1 141D4E00     mov     eax, dword ptr [4E1D14]
004D0ACA    8378 42 02      cmp     dword ptr [eax+42], 2
004D0ACE    75 12           jnz     short 004D0AE2
004D0AD0    33D2            xor     edx, edx
004D0AD2    8B83 08040000   mov     eax, dword ptr [ebx+408]
004D0AD8    8B08            mov     ecx, dword ptr [eax]
004D0ADA    FF91 D0000000   call    dword ptr [ecx+D0]

找到了目标后,有些朋友会说直接jmp掉它不就行了么?的确。这个方法可以。但是你试过后会发觉:“在可执行文件中无法定位数据”。那么就要另辟新径了。
大家是否有发现,在jnz上面有一个test al, al?那么只有一个可能了,它肯定就是破解的关键。我们进去看下。
004D5D2C    55              push    ebp
004D5D2D    8BEC            mov     ebp, esp
004D5D2F    6A 00           push    0
004D5D31    6A 00           push    0
004D5D33    6A 00           push    0
004D5D35    6A 00           push    0
004D5D37    6A 00           push    0
004D5D39    53              push    ebx
004D5D3A    56              push    esi
004D5D3B    894D FC         mov     dword ptr [ebp-4], ecx
004D5D3E    8B45 FC         mov     eax, dword ptr [ebp-4]
004D5D41    E8 4EF8F2FF     call    00405594
004D5D46    33C0            xor     eax, eax
004D5D48    55              push    ebp
004D5D49    68 CB5D4D00     push    004D5DCB
004D5D4E    64:FF30         push    dword ptr fs:[eax]
004D5D51    64:8920         mov     dword ptr fs:[eax], esp
004D5D54    33DB            xor     ebx, ebx
004D5D56    B8 80E24800     mov     eax, 0048E280                    
004D5D5B    8945 F0         mov     dword ptr [ebp-10], eax
004D5D5E    8D45 F8         lea     eax, dword ptr [ebp-8]
004D5D61    E8 6EF3F2FF     call    004050D4
004D5D66    8D4D F4         lea     ecx, dword ptr [ebp-C]
004D5D69    8B55 FC         mov     edx, dword ptr [ebp-4]
004D5D6C    B8 03010000     mov     eax, 103
004D5D71    E8 4A84FBFF     call    0048E1C0
004D5D76    33F6            xor     esi, esi
004D5D78    8D45 EC         lea     eax, dword ptr [ebp-14]
004D5D7B    8BD6            mov     edx, esi
004D5D7D    C1E2 02         shl     edx, 2
004D5D80    8B4D F0         mov     ecx, dword ptr [ebp-10]
004D5D83    8D14D1          lea     edx, dword ptr [ecx+edx*8]
004D5D86    B9 20000000     mov     ecx, 20
004D5D8B    E8 C4F5F2FF     call    00405354
004D5D90    8B45 EC         mov     eax, dword ptr [ebp-14]
004D5D93    8B55 F4         mov     edx, dword ptr [ebp-C]
004D5D96    E8 55F7F2FF     call    004054F0
004D5D9B    75 02           jnz     short 004D5D9F                                            //本身就跳,我们可以尝试下让它不跳。
004D5D9D    B3 01           mov     bl, 1
004D5D9F    46              inc     esi
004D5DA0    81FE 81030000   cmp     esi, 381
004D5DA6  ^ 75 D0           jnz     short 004D5D78
004D5DA8    33C0            xor     eax, eax
004D5DAA    5A              pop     edx
004D5DAB    59              pop     ecx
004D5DAC    59              pop     ecx
004D5DAD    64:8910         mov     dword ptr fs:[eax], edx
004D5DB0    68 D25D4D00     push    004D5DD2
004D5DB5    8D45 EC         lea     eax, dword ptr [ebp-14]
004D5DB8    E8 17F3F2FF     call    004050D4
004D5DBD    8D45 F4         lea     eax, dword ptr [ebp-C]
004D5DC0    BA 03000000     mov     edx, 3
004D5DC5    E8 2EF3F2FF     call    004050F8
004D5DCA    C3              retn
004D5DCB  ^ E9 20ECF2FF     jmp     004049F0
004D5DD0  ^ EB E3           jmp     short 004D5DB5
004D5DD2    8BC3            mov     eax, ebx
004D5DD4    5E              pop     esi
004D5DD5    5B              pop     ebx
004D5DD6    8BE5            mov     esp, ebp
004D5DD8    5D              pop     ebp
004D5DD9    C3              retn
大家照常走下。你会发觉那走完后出去了,那个跳还是没办法实现。那么只有一种可能了,在上面   004D5D9B    75 02           jnz     short 004D5D9F  
我们让它不跳。结果很明显。那个jnz实现了。把跳过register的jmp也过了。那么就能注册成功了!
事不宜迟,马上修改退出。。。呵呵。我们不是说还有做破解补丁么?慢慢来!
刚才已经知道了004D5D9B    75 02           jnz     short 004D5D9F  就是破解的关键了,那么做补丁就要用到这条地址了。我们就把它nop掉吧。那么 75 02就会变成了9090了。
打开KEYmake.这个软件可能会报毒,所以能做补丁时大家可能要把杀毒软件给暂停掉,不信任的话就不做补丁了,直接爆破就行了!


打开了后,其他---制作内存补丁----
程序名称就是打开原程序就是了,消息标题你喜欢怎么打就怎么打,启动提示也是一样,关键是后面的。
添加后,要你输入“修改地址”那么你就输入刚才破解关键那个地址咯004D5D9B,修改长度假如你爱2个的话,下面原始指令就得输2个字节:就是7502,修改指令就为9090;假如你爱1个的话,原始为:75
修改为:90。然后生成。
再运行下,破解了吧!
喜欢直接爆破的可以在那个地方直接NOP掉,再保存文件就行了。

给大家发上软件吧+(注册机编写器)
http://www.namipan.com/d/i-Sound ... 82fe24daf37a15e2000    (i-sound)
http://www.namipan.com/d/%E6%B3% ... e37c85df88170a10e00   (注册机编写器)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hao5688 发表于 2011-9-5 23:47
不错啊!学习了!
夜来香 发表于 2011-2-15 13:29
sjg8 发表于 2011-2-10 10:23
落雪飞花 发表于 2011-2-9 19:50
不错啊!学习了!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 10:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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