吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 45392|回复: 225
收起左侧

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

    [复制链接]
不会用鼠标的人 发表于 2013-7-11 20:31
本帖最后由 不会用鼠标的人 于 2013-7-11 20:31 编辑

软件名称】: WinWebMail
【下载地址】: http://www.winwebmail.com/wemdownent.html
软件语言】: C++
【使用工具】: OD,Peid
【操作平台】: Win7 32
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
  
                 前言:第二次发帖,看到第一次发的那掺不忍睹的帖子,忍不住就发了第二个帖子。。。。。。。
                          这个软件还是蛮值钱的。。。
                                                                                                    进入正题


1.查壳。
好吧,还是那句话。无论拿到什么软件,破解第一步总是也必须是查壳。。。。
用Peid查壳。
截图01.png
UPX的壳,还是一个比较简单的壳
新手可以选择拉进脱壳机。。。
不过我更建议自己手脱,因为这样可以练一下技术嘛。。。。
这里脱壳的过程我就不说了,如果连这个都还不会,我建议去看看其他的一些教程。(因为手脱实在是太重要了,所以必须学啊,不然永远成不了大牛!)
ESP定律直接秒之。。。。
脱壳后
截图02.png
可以看到是C++的软件


2.收集信息
打开软件,右键任务栏中的带有E的图标,然后就是注册。
截图03.png
选择无限用户,确定好绑定的网卡后就输入假码,再回车,就可以看到一个提示错误的信息。
截图04.png
然后就可以OD载入了。

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

依旧失败,好了,现在我们回到OD,按下暂停(F12),再按下右边的K字母。
截图05.png
现在就OD的窗口就会显示出调用的堆栈
截图06.png
我们选中两串中文中间的一个,右键→显示调用,OD就会到达窗口调用的CALL。


3.追码
我们到达调用窗口的CALL后,我们在头部断点,再单步走下来,就可以找我们今天要的关键CALL。
注:通常经过关键CALL后,寄存器或者堆栈窗口会有真码(这个看到像一点的就果断复制......听我的不会错)
废话不多说,上代码:
00407330    6A FF           push -1
00407332    68 68555700     push Unpack.00575568
00407337    64:A1 00000000  mov eax,dword ptr fs:[0]
0040733D    50              push eax
0040733E    64:8925 0000000>mov dword ptr fs:[0],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:[5DEB60]            ; 取假码,看右上角的寄存器
00407357    894424 04       mov dword ptr ss:[esp+4],eax
0040735B    C74424 18 00000>mov dword ptr ss:[esp+18],0
00407363    894424 0C       mov dword ptr ss:[esp+C],eax
00407367    8B8F 70080000   mov ecx,dword ptr ds:[edi+870]           ; 机器码
0040736D    8D87 70080000   lea eax,dword ptr ds:[edi+870]
00407373    C64424 18 01    mov byte ptr ss:[esp+18],1
00407378    8B51 F8         mov edx,dword ptr ds:[ecx-8]
0040737B    85D2            test edx,edx
0040737D    0F84 91020000   je Unpack.00407614
00407383    8B97 6C080000   mov edx,dword ptr ds:[edi+86C]
00407389    8B4A F8         mov ecx,dword ptr ds:[edx-8]
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:[esp+8]
004073A2    E8 150D1600     call Unpack.005680BC
004073A7    8D4424 04       lea eax,dword ptr ss:[esp+4]
004073AB    50              push eax
004073AC    E8 8FC90800     call Unpack.00493D40                     ; 算法CALL
004073B1    8B87 6C080000   mov eax,dword ptr ds:[edi+86C]                     ;将假码放入寄存器eax
004073B7    8B4C24 08       mov ecx,dword ptr ss:[esp+8]                         ;将真码放入寄存器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:[esp+14]
004073D8    68 1C8D6200     push Unpack.00628D1C
004073DD    52              push edx
004073DE    E8 350E1600     call Unpack.00568218
004073E3    8B00            mov eax,dword ptr ds:[eax]
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:[esp+10]
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:[eax+1C]
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:[628D6B]
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:[edi+86C]
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:[esp+14]
0040753E    A3 28505D00     mov dword ptr ds:[5D5028],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:[esp+24]
00407562    68 3C165D00     push Unpack.005D163C                     ; %03d%s\t%s\t%s
00407567    52              push edx
00407568    C64424 3C 02    mov byte ptr ss:[esp+3C],2
0040756D    E8 DED20800     call Unpack.00494850
00407572    8D4424 2C       lea eax,dword ptr ss:[esp+2C]
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:[esp+1C]
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:[esp+2C]
004075AD    52              push edx
004075AE    E8 7DC60800     call Unpack.00493C30
004075B3    83C4 1C         add esp,1C
004075B6    8D4C24 14       lea ecx,dword ptr ss:[esp+14]
004075BA    E8 9B091600     call Unpack.00567F5A
004075BF    8D4C24 14       lea ecx,dword ptr ss:[esp+14]
004075C3    C64424 24 01    mov byte ptr ss:[esp+24],1
004075C8    E8 020A1600     call Unpack.00567FCF
004075CD    5E              pop esi
004075CE    6A 7B           push 7B
004075D0    8D4C24 10       lea ecx,dword ptr ss:[esp+10]
004075D4    E8 DC551600     call Unpack.0056CBB5
004075D9    6A 7C           push 7C
004075DB    8D4C24 18       lea ecx,dword ptr ss:[esp+18]
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:[esp+10]
004075EE    E8 C2551600     call Unpack.0056CBB5
004075F3    6A 7A           push 7A
004075F5    8D4C24 08       lea ecx,dword ptr ss:[esp+8]
004075F9    E8 B7551600     call Unpack.0056CBB5
004075FE    8B4424 0C       mov eax,dword ptr ss:[esp+C]
00407602    8B4C24 04       mov ecx,dword ptr ss:[esp+4]
00407606    8B57 1C         mov edx,dword ptr ds:[edi+1C]
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:[esp+C]
00407618    E8 3D091600     call Unpack.00567F5A
0040761D    8D4C24 04       lea ecx,dword ptr ss:[esp+4]
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:[esp+C]
00407631    C64424 18 00    mov byte ptr ss:[esp+18],0
00407636    E8 94091600     call Unpack.00567FCF
0040763B    8D4C24 04       lea ecx,dword ptr ss:[esp+4]
0040763F    C74424 18 FFFFF>mov dword ptr ss:[esp+18],-1
00407647    E8 83091600     call Unpack.00567FCF
0040764C    8B4C24 10       mov ecx,dword ptr ss:[esp+10]
00407650    5F              pop edi
00407651    64:890D 0000000>mov dword ptr fs:[0],ecx
00407658    83C4 18         add esp,18
0040765B    C3              retn
0040765C    90              nop
0040765D    90              nop
0040765E    90              nop
0040765F    90              nop
这个关键CALL我是单步找的,大家有什么好的方法可以分享出来。。。。。。。



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

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


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

点评

学习了。。。教程还不错。。可惜还不够详细 因为教程是给新手学习的,但是新手不一定看的懂  发表于 2013-8-2 00:35

免费评分

参与人数 3热心值 +3 收起 理由
sheldon_wxd + 1 我很赞同!
Chief + 1 欢迎分析讨论交流,[吾爱破解论坛]有你更精.
小雨细无声 + 1 祝高中

查看全部评分

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

ty86922 发表于 2014-3-21 14:55
折腾了一下午终于成功了!

yes!

yes!
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
尝试玩玩,写个注册机试试

额,对耶,我怎么忘了写注册机。。。。。。
多谢提醒
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-18 03:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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