不会用鼠标的人 发表于 2013-7-11 20:31

嘿嘿,考完试了,再送上一个软件的爆破。。。。

本帖最后由 不会用鼠标的人 于 2013-7-11 20:31 编辑

【软件名称】: WinWebMail
【下载地址】: http://www.winwebmail.com/wemdownent.html
【软件语言】: C++
【使用工具】: OD,Peid
【操作平台】: Win7 32
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

               前言:第二次发帖,看到第一次发的那掺不忍睹的帖子,忍不住就发了第二个帖子。。。。。。。
                        这个软件还是蛮值钱的。。。
                                                                                                    进入正题

1.查壳。
好吧,还是那句话。无论拿到什么软件,破解第一步总是也必须是查壳。。。。
用Peid查壳。

UPX的壳,还是一个比较简单的壳
新手可以选择拉进脱壳机。。。
不过我更建议自己手脱,因为这样可以练一下技术嘛。。。。
这里脱壳的过程我就不说了,如果连这个都还不会,我建议去看看其他的一些教程。(因为手脱实在是太重要了,所以必须学啊,不然永远成不了大牛!)
ESP定律直接秒之。。。。
脱壳后

可以看到是C++的软件


2.收集信息
打开软件,右键任务栏中的带有E的图标,然后就是注册。

选择无限用户,确定好绑定的网卡后就输入假码,再回车,就可以看到一个提示错误的信息。

然后就可以OD载入了。

3.OD调试
这次我们不用搜索字符串的方法了,我们用F12暂停法。
F9运行程序,打开注册的窗口并输入假码注册。

依旧失败,好了,现在我们回到OD,按下暂停(F12),再按下右边的K字母。

现在就OD的窗口就会显示出调用的堆栈

我们选中两串中文中间的一个,右键→显示调用,OD就会到达窗口调用的CALL。


3.追码
我们到达调用窗口的CALL后,我们在头部断点,再单步走下来,就可以找我们今天要的关键CALL。
注:通常经过关键CALL后,寄存器或者堆栈窗口会有真码(这个看到像一点的就果断复制......听我的不会错)
废话不多说,上代码:
00407330    6A FF         push -1
00407332    68 68555700   push Unpack.00575568
00407337    64:A1 00000000mov eax,dword ptr fs:
0040733D    50            push eax
0040733E    64:8925 0000000>mov dword ptr fs:,esp
00407345    83EC 0C         sub esp,0C
00407348    57            push edi
00407349    8BF9            mov edi,ecx
0040734B    6A 01         push 1
0040734D    E8 48351600   call Unpack.0056A89A
00407352    A1 60EB5D00   mov eax,dword ptr ds:            ; 取假码,看右上角的寄存器
00407357    894424 04       mov dword ptr ss:,eax
0040735B    C74424 18 00000>mov dword ptr ss:,0
00407363    894424 0C       mov dword ptr ss:,eax
00407367    8B8F 70080000   mov ecx,dword ptr ds:         ; 机器码
0040736D    8D87 70080000   lea eax,dword ptr ds:
00407373    C64424 18 01    mov byte ptr ss:,1
00407378    8B51 F8         mov edx,dword ptr ds:
0040737B    85D2            test edx,edx
0040737D    0F84 91020000   je Unpack.00407614
00407383    8B97 6C080000   mov edx,dword ptr ds:
00407389    8B4A F8         mov ecx,dword ptr ds:
0040738C    85C9            test ecx,ecx
0040738E    0F84 80020000   je Unpack.00407614
00407394    83F9 0A         cmp ecx,0A
00407397    0F8E 77020000   jle Unpack.00407614
0040739D    50            push eax
0040739E    8D4C24 08       lea ecx,dword ptr ss:
004073A2    E8 150D1600   call Unpack.005680BC
004073A7    8D4424 04       lea eax,dword ptr ss:
004073AB    50            push eax
004073AC    E8 8FC90800   call Unpack.00493D40                     ; 算法CALL
004073B1    8B87 6C080000   mov eax,dword ptr ds:                     ;将假码放入寄存器eax
004073B7    8B4C24 08       mov ecx,dword ptr ss:                         ;将真码放入寄存器ecx
004073BB    50            push eax                                 ; 将假码堆入堆栈,看右下角
004073BC    51            push ecx                                 ; 将正确的码堆入堆栈,看右下角
004073BD    E8 5E361500   call Unpack.0055AA20
004073C2    83C4 0C         add esp,0C
004073C5    85C0            test eax,eax
004073C7    0F85 1B020000   jnz Unpack.004075E8
004073CD    53            push ebx
004073CE    55            push ebp
004073CF    68 F0175D00   push Unpack.005D17F0                     ; sn.ini
004073D4    8D5424 14       lea edx,dword ptr ss:
004073D8    68 1C8D6200   push Unpack.00628D1C
004073DD    52            push edx
004073DE    E8 350E1600   call Unpack.00568218
004073E3    8B00            mov eax,dword ptr ds:
004073E5    68 EC175D00   push Unpack.005D17EC                     ; wb
004073EA    50            push eax
004073EB    E8 CFA11400   call Unpack.005515BF
004073F0    8BE8            mov ebp,eax
004073F2    83C4 08         add esp,8
004073F5    85ED            test ebp,ebp
004073F7    8D4C24 10       lea ecx,dword ptr ss:
004073FB    0F95C3          setne bl
004073FE    E8 CC0B1600   call Unpack.00567FCF
00407403    84DB            test bl,bl
00407405    0F84 C3010000   je Unpack.004075CE
0040740B    56            push esi
0040740C    68 62040000   push 462
00407411    8BCF            mov ecx,edi
00407413    E8 2C3E1600   call Unpack.0056B244
00407418    8B40 1C         mov eax,dword ptr ds:
0040741B    6A 00         push 0
0040741D    6A 00         push 0
0040741F    68 47010000   push 147
00407424    50            push eax
00407425    FF15 D0765900   call dword ptr ds:[<&USER32.SendMessageA>; USER32.SendMessageA
0040742B    8A0D 6B8D6200   mov cl,byte ptr ds:
00407431    84C9            test cl,cl
00407433    75 72         jnz short Unpack.004074A7
00407435    83F8 01         cmp eax,1
00407438    75 0A         jnz short Unpack.00407444
0040743A    BE 11000000   mov esi,11
0040743F    E9 C6000000   jmp Unpack.0040750A
00407444    83F8 02         cmp eax,2
00407447    75 0A         jnz short Unpack.00407453
00407449    BE 01000000   mov esi,1
0040744E    E9 B7000000   jmp Unpack.0040750A
00407453    83F8 03         cmp eax,3
00407456    75 0A         jnz short Unpack.00407462
00407458    BE 0B000000   mov esi,0B
0040745D    E9 A8000000   jmp Unpack.0040750A
00407462    83F8 04         cmp eax,4
00407465    75 0A         jnz short Unpack.00407471
00407467    BE 0C000000   mov esi,0C
0040746C    E9 99000000   jmp Unpack.0040750A
00407471    83F8 05         cmp eax,5
00407474    75 0A         jnz short Unpack.00407480
00407476    BE 0D000000   mov esi,0D
0040747B    E9 8A000000   jmp Unpack.0040750A
00407480    83F8 06         cmp eax,6
00407483    75 07         jnz short Unpack.0040748C
00407485    BE 0E000000   mov esi,0E
0040748A    EB 7E         jmp short Unpack.0040750A
0040748C    83F8 07         cmp eax,7
0040748F    75 07         jnz short Unpack.00407498
00407491    BE 0F000000   mov esi,0F
00407496    EB 72         jmp short Unpack.0040750A
00407498    83E8 08         sub eax,8
0040749B    F7D8            neg eax
0040749D    1BC0            sbb eax,eax
0040749F    83E0 0E         and eax,0E
004074A2    83C0 02         add eax,2
004074A5    EB 61         jmp short Unpack.00407508
004074A7    83F8 01         cmp eax,1
004074AA    75 07         jnz short Unpack.004074B3
004074AC    BE 25000000   mov esi,25
004074B1    EB 57         jmp short Unpack.0040750A
004074B3    83F8 02         cmp eax,2
004074B6    75 07         jnz short Unpack.004074BF
004074B8    BE 03000000   mov esi,3
004074BD    EB 4B         jmp short Unpack.0040750A
004074BF    83F8 03         cmp eax,3
004074C2    75 07         jnz short Unpack.004074CB
004074C4    BE 1F000000   mov esi,1F
004074C9    EB 3F         jmp short Unpack.0040750A
004074CB    83F8 04         cmp eax,4
004074CE    75 07         jnz short Unpack.004074D7
004074D0    BE 20000000   mov esi,20
004074D5    EB 33         jmp short Unpack.0040750A
004074D7    83F8 05         cmp eax,5
004074DA    75 07         jnz short Unpack.004074E3
004074DC    BE 21000000   mov esi,21
004074E1    EB 27         jmp short Unpack.0040750A
004074E3    83F8 06         cmp eax,6
004074E6    75 07         jnz short Unpack.004074EF
004074E8    BE 22000000   mov esi,22
004074ED    EB 1B         jmp short Unpack.0040750A
004074EF    83F8 07         cmp eax,7
004074F2    75 07         jnz short Unpack.004074FB
004074F4    BE 23000000   mov esi,23
004074F9    EB 0F         jmp short Unpack.0040750A
004074FB    83E8 08         sub eax,8
004074FE    F7D8            neg eax
00407500    1BC0            sbb eax,eax
00407502    83E0 20         and eax,20
00407505    83C0 04         add eax,4
00407508    8BF0            mov esi,eax
0040750A    56            push esi
0040750B    68 E4175D00   push Unpack.005D17E4                     ; %i\n\n
00407510    55            push ebp
00407511    E8 29A91400   call Unpack.00551E3F
00407516    8B8F 6C080000   mov ecx,dword ptr ds:
0040751C    83C4 0C         add esp,0C
0040751F    51            push ecx
00407520    68 DC175D00   push Unpack.005D17DC                     ; %s\n\n
00407525    55            push ebp
00407526    E8 14A91400   call Unpack.00551E3F
0040752B    55            push ebp
0040752C    E8 AD9D1400   call Unpack.005512DE
00407531    56            push esi
00407532    E8 39CB0800   call Unpack.00494070
00407537    83C4 14         add esp,14
0040753A    8D4C24 14       lea ecx,dword ptr ss:
0040753E    A3 28505D00   mov dword ptr ds:,eax
00407543    68 A82C5E00   push Unpack.005E2CA8
00407548    E8 F00A1600   call Unpack.0056803D
0040754D    68 A82C5E00   push Unpack.005E2CA8
00407552    68 A82C5E00   push Unpack.005E2CA8
00407557    68 A82C5E00   push Unpack.005E2CA8
0040755C    6A 73         push 73
0040755E    8D5424 24       lea edx,dword ptr ss:
00407562    68 3C165D00   push Unpack.005D163C                     ; %03d%s\t%s\t%s
00407567    52            push edx
00407568    C64424 3C 02    mov byte ptr ss:,2
0040756D    E8 DED20800   call Unpack.00494850
00407572    8D4424 2C       lea eax,dword ptr ss:
00407576    6A 00         push 0
00407578    50            push eax
00407579    E8 02C60800   call Unpack.00493B80
0040757E    83C4 20         add esp,20
00407581    68 A82C5E00   push Unpack.005E2CA8
00407586    68 A82C5E00   push Unpack.005E2CA8
0040758B    56            push esi
0040758C    E8 DFCA0800   call Unpack.00494070
00407591    83C4 04         add esp,4
00407594    8D4C24 1C       lea ecx,dword ptr ss:
00407598    50            push eax
00407599    68 C8000000   push 0C8
0040759E    68 CC175D00   push Unpack.005D17CC                     ; %03d%i\t%s\t%s
004075A3    51            push ecx
004075A4    E8 A7D20800   call Unpack.00494850
004075A9    8D5424 2C       lea edx,dword ptr ss:
004075AD    52            push edx
004075AE    E8 7DC60800   call Unpack.00493C30
004075B3    83C4 1C         add esp,1C
004075B6    8D4C24 14       lea ecx,dword ptr ss:
004075BA    E8 9B091600   call Unpack.00567F5A
004075BF    8D4C24 14       lea ecx,dword ptr ss:
004075C3    C64424 24 01    mov byte ptr ss:,1
004075C8    E8 020A1600   call Unpack.00567FCF
004075CD    5E            pop esi
004075CE    6A 7B         push 7B
004075D0    8D4C24 10       lea ecx,dword ptr ss:
004075D4    E8 DC551600   call Unpack.0056CBB5
004075D9    6A 7C         push 7C
004075DB    8D4C24 18       lea ecx,dword ptr ss:
004075DF    E8 D1551600   call Unpack.0056CBB5
004075E4    5D            pop ebp
004075E5    5B            pop ebx
004075E6    EB 16         jmp short Unpack.004075FE
004075E8    6A 7D         push 7D
004075EA    8D4C24 10       lea ecx,dword ptr ss:
004075EE    E8 C2551600   call Unpack.0056CBB5
004075F3    6A 7A         push 7A
004075F5    8D4C24 08       lea ecx,dword ptr ss:
004075F9    E8 B7551600   call Unpack.0056CBB5
004075FE    8B4424 0C       mov eax,dword ptr ss:
00407602    8B4C24 04       mov ecx,dword ptr ss:
00407606    8B57 1C         mov edx,dword ptr ds:
00407609    6A 40         push 40
0040760B    50            push eax
0040760C    51            push ecx
0040760D    52            push edx
0040760E    FF15 7C765900   call dword ptr ds:[<&USER32.MessageBoxA>>;               //窗口调用
00407614    8D4C24 0C       lea ecx,dword ptr ss:
00407618    E8 3D091600   call Unpack.00567F5A
0040761D    8D4C24 04       lea ecx,dword ptr ss:
00407621    E8 34091600   call Unpack.00567F5A
00407626    8BCF            mov ecx,edi
00407628    E8 164C1600   call Unpack.0056C243
0040762D    8D4C24 0C       lea ecx,dword ptr ss:
00407631    C64424 18 00    mov byte ptr ss:,0
00407636    E8 94091600   call Unpack.00567FCF
0040763B    8D4C24 04       lea ecx,dword ptr ss:
0040763F    C74424 18 FFFFF>mov dword ptr ss:,-1
00407647    E8 83091600   call Unpack.00567FCF
0040764C    8B4C24 10       mov ecx,dword ptr ss:
00407650    5F            pop edi
00407651    64:890D 0000000>mov dword ptr fs:,ecx
00407658    83C4 18         add esp,18
0040765B    C3            retn
0040765C    90            nop
0040765D    90            nop
0040765E    90            nop
0040765F    90            nop
这个关键CALL我是单步找的,大家有什么好的方法可以分享出来。。。。。。。



今天主要想说的就是F12暂停法和追码,鉴于本人是个菜鸟,所以不爆破了。。。。。{:1_918:}      大家自己爆破一下吧。。。。。(记得晒晒图让我嫉妒一下哦~~)

最后晒一张注册成功的截图。。。
                                                


         软件下载地址:http://www.winwebmail.com/wemdownent.html
                   (太大,传不上来,网盘又太慢,于是就。。。。。。实在是。。。)
                                 看完帖不回复是不好的,请多多回复,多多点评,让我认识自己的错误吧,您的回复就是我的动力。。。。。30 秒后保存

ty86922 发表于 2014-3-21 14:55

折腾了一下午终于成功了!

1037243534 发表于 2014-3-21 21:09

3.追码有点不懂,我们在头部断点,再单步走下来,就可以找我们今天要的关键CALL。,特别是这个地方,头部断点跟单步走有点不懂

zxzx888 发表于 2013-7-11 20:35

沙发,学习啦。。

小雨细无声 发表于 2013-7-11 20:43

前排学习,谢谢楼主。

ProGaz 发表于 2013-7-11 20:45

板凳,学习下

逍遥枷锁 发表于 2013-7-11 20:47

向老师学习下,谢谢,学到东西了。

testpojie 发表于 2013-7-11 20:51

对C++语言很感兴趣,楼主很有才啊,羡慕嫉妒恨啊,好好学习,争取赶上楼主啊

81915619 发表于 2013-7-11 20:51

敢不敢爆破阿尔法系列的软件啊?

i668899 发表于 2013-7-11 20:54

这个要学习学习

minxl 发表于 2013-7-11 20:55

不会用鼠标的人 发表于 2013-7-11 20:57

minxl 发表于 2013-7-11 20:55 static/image/common/back.gif
尝试玩玩,写个注册机试试

额,对耶,我怎么忘了写注册机。。。。。。
多谢提醒{:1_918:}
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 嘿嘿,考完试了,再送上一个软件的爆破。。。。