首页
社区
课程
招聘
[旧帖] [原创]小破“算命半仙” 0.00雪花
发表于: 2008-10-3 01:00 3158

[旧帖] [原创]小破“算命半仙” 0.00雪花

2008-10-3 01:00
3158
本人也就学了7天,实在是不够菜的,现在好不容易跟踪出了个序列号,高兴下
也希望大虾们给指点下!
软件名“算命半仙”  下载地址http://www.duote.com/soft/689.html
首先,查一下壳发现是ASPack 2.12 -> Alexey Solodovnikov  脱掉它!我这里就不脱它了
然后运行软件,先输入假码:123456  注册码 987654321  
晕,竟然没有提示,呵呵,不怕!没有错误的提示,难道还没有正确的提示嘛!我们用OllyICE载入,然后查找ASCII码!找啊找啊找,终于找到了“注册成功!”呵呵,双击它!这是我们来到了这里:
0055BCC3  |.  3C 01         cmp     al, 1
0055BCC5  |.  75 2F         jnz     short 0055BCF6
0055BCC7  |.  8D55 C4       lea     edx, dword ptr [ebp-3C]
0055BCCA  |.  A1 A07B5700   mov     eax, dword ptr [577BA0]
0055BCCF  |.  8B00          mov     eax, dword ptr [eax]
0055BCD1  |.  E8 AAD9F0FF   call    00469680
0055BCD6  |.  8B45 C4       mov     eax, dword ptr [ebp-3C]
0055BCD9  |.  8D55 C8       lea     edx, dword ptr [ebp-38]
0055BCDC  |.  E8 53DDEAFF   call    00409A34
0055BCE1  |.  8D45 C8       lea     eax, dword ptr [ebp-38]
0055BCE4  |.  BA F8BD5500   mov     edx, 0055BDF8                    ;  data.dat
0055BCE9  |.  E8 568FEAFF   call    00404C44
0055BCEE  |.  8B45 C8       mov     eax, dword ptr [ebp-38]
0055BCF1  |.  E8 A6DCEAFF   call    0040999C
0055BCF6  |>  B8 0CBE5500   mov     eax, 0055BE0C                    ;  注册成功!
我们顺着向上找找看啊!我们在0055BB38这里下个断点!(因为分析算法一般是从这里开始的)!然后Crtl+F2返回,接着F9运行!输入假码:123456  注册码 987654321  然后F8单步
0055BB38  /.  55            push    ebp
0055BB39  |.  8BEC          mov     ebp, esp
0055BB3B  |.  B9 07000000   mov     ecx, 7
0055BB40  |>  6A 00         /push    0
0055BB42  |.  6A 00         |push    0
0055BB44  |.  49            |dec     ecx
0055BB45  |.^ 75 F9         \jnz     short 0055BB40
0055BB47  |.  51            push    ecx
0055BB48  |.  53            push    ebx
0055BB49  |.  56            push    esi
0055BB4A  |.  57            push    edi
0055BB4B  |.  8BD8          mov     ebx, eax                           eax的值赋值到ebx中
0055BB4D  |.  33C0          xor     eax, eax                           eax清零
0055BB4F  |.  55            push    ebp                                将ebp压入堆栈!ebp=0012f6a4
0055BB50  |.  68 78BD5500   push    0055BD78                          
0055BB55  |.  64:FF30       push    dword ptr fs:[eax]
0055BB58  |.  64:8920       mov     dword ptr fs:[eax], esp         fs:[00000000]=[7FFDD000]=0012F6D0
0055BB5B  |.  B2 01         mov     dl, 1
0055BB5D  |.  A1 DC974A00   mov     eax, dword ptr [4A97DC]
0055BB62  |.  E8 75DDF4FF   call    004A98DC
0055BB67  |.  8BF0          mov     esi, eax
0055BB69  |.  BA 02000080   mov     edx, 80000002
0055BB6E  |.  8BC6          mov     eax, esi
0055BB70  |.  E8 07DEF4FF   call    004A997C
0055BB75  |.  B1 01         mov     cl, 1
0055BB77  |.  BA 90BD5500   mov     edx, 0055BD90                    ;  software\microsoft\yhds
0055BB7C  |.  8BC6          mov     eax, esi
0055BB7E  |.  E8 5DDEF4FF   call    004A99E0
0055BB83  |.  8D55 F8       lea     edx, dword ptr [ebp-8]
0055BB86  |.  8BBB F8020000 mov     edi, dword ptr [ebx+2F8]
0055BB8C  |.  8BC7          mov     eax, edi
0055BB8E  |.  E8 15C3EEFF   call    00447EA8
0055BB93  |.  8B45 F8       mov     eax, dword ptr [ebp-8]        关键的来了啊:-),用户名123456赋值到eax中。
0055BB96  |.  8D55 FC       lea     edx, dword ptr [ebp-4]         把word ptr [ebp-4]先放到 edx中
0055BB99  |.  E8 1ED7EAFF   call    004092BC                       
0055BB9E  |.  8B55 FC       mov     edx, dword ptr [ebp-4]          将"123456"赋值到 edx中。
0055BBA1  |.  8BC7          mov     eax, edi                        
0055BBA3  |.  E8 30C3EEFF   call    00447ED8
0055BBA8  |.  8D55 F0       lea     edx, dword ptr [ebp-10]
0055BBAB  |.  8BBB 00030000 mov     edi, dword ptr [ebx+300]
0055BBB1  |.  8BC7          mov     eax, edi
0055BBB3  |.  E8 F0C2EEFF   call    00447EA8
0055BBB8  |.  8B45 F0       mov     eax, dword ptr [ebp-10]       假注册码“987654321”出来了,看看放在哪里哈。哦,放在了eax中哦!
0055BBBB  |.  8D55 F4       lea     edx, dword ptr [ebp-C]
0055BBBE  |.  E8 F9D6EAFF   call    004092BC
0055BBC3  |.  8B55 F4       mov     edx, dword ptr [ebp-C]
0055BBC6  |.  8BC7          mov     eax, edi
0055BBC8  |.  E8 0BC3EEFF   call    00447ED8
0055BBCD  |.  8D55 EC       lea     edx, dword ptr [ebp-14]
0055BBD0  |.  8B83 00030000 mov     eax, dword ptr [ebx+300]
0055BBD6  |.  E8 CDC2EEFF   call    00447EA8
0055BBDB  |.  837D EC 00    cmp     dword ptr [ebp-14], 0
0055BBDF  |.  74 14         je      short 0055BBF5
0055BBE1  |.  8D55 E8       lea     edx, dword ptr [ebp-18]
0055BBE4  |.  8B83 F8020000 mov     eax, dword ptr [ebx+2F8]
0055BBEA  |.  E8 B9C2EEFF   call    00447EA8                           
0055BBEF  |.  837D E8 00    cmp     dword ptr [ebp-18], 0              与零做比较,用户名不能为空!
0055BBF3  |. /75 0F         jnz     short 0055BC04
0055BBF5  |> |B8 B0BD5500   mov     eax, 0055BDB0                    ;  注册信息没有填写齐全
0055BBFA  |. |E8 3550EEFF   call    00440C34
0055BBFF  |. |E9 1F010000   jmp     0055BD23
0055BC04  |> \8D55 E4       lea     edx, dword ptr [ebp-1C]
0055BC07  |.  8B83 00030000 mov     eax, dword ptr [ebx+300]
0055BC0D  |.  E8 96C2EEFF   call    00447EA8
0055BC12  |.  8B45 E4       mov     eax, dword ptr [ebp-1C]
0055BC15  |.  50            push    eax                                    将假的注册码“987654321”压入堆栈,传说中的关键比较就要出来了啊~~哈哈
0055BC16  |.  8D55 DC       lea     edx, dword ptr [ebp-24]
0055BC19  |.  8B83 F8020000 mov     eax, dword ptr [ebx+2F8]
0055BC1F  |.  E8 84C2EEFF   call    00447EA8
0055BC24  |.  8B45 DC       mov     eax, dword ptr [ebp-24]
0055BC27  |.  E8 44DAEAFF   call    00409670
0055BC2C  |.  8BF8          mov     edi, eax
0055BC2E  |.  8D55 D8       lea     edx, dword ptr [ebp-28]
0055BC31  |.  8B83 F8020000 mov     eax, dword ptr [ebx+2F8]
0055BC37  |.  E8 6CC2EEFF   call    00447EA8
0055BC3C  |.  8B45 D8       mov     eax, dword ptr [ebp-28]
0055BC3F  |.  E8 2CDAEAFF   call    00409670
0055BC44  |.  0FAFF8        imul    edi, eax
0055BC47  |.  8BC7          mov     eax, edi
0055BC49  |.  8D55 E0       lea     edx, dword ptr [ebp-20]
0055BC4C  |.  E8 F3FDFFFF   call    0055BA44
0055BC51  |.  8B55 E0       mov     edx, dword ptr [ebp-20]        出现了一串字符串“235708158556”很可疑的!
0055BC54  |.  58            pop     eax
0055BC55  |.  E8 2691EAFF   call    00404D80                        这里进行比较,相等则软件已经注册!(关键比较出现啦)
0055BC5A  |.  0F85 A9000000 jnz     0055BD09                         如果爆破的话  jnz该成jz或nop就行!
0055BC60  |.  A1 807D5700   mov     eax, dword ptr [577D80]
0055BC65  |.  8B00          mov     eax, dword ptr [eax]
0055BC67  |.  8B80 2C040000 mov     eax, dword ptr [eax+42C]
0055BC6D  |.  BA D0BD5500   mov     edx, 0055BDD0                    ;  本软件已注册
…………………………………………………………………………………………………………………
呵呵,本人菜的可以,算法是写不出来了,高手指点下,我的分析就到这里了!
一组可用的确认码:1234546
               注册码:235708158556

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持,但是写不出算法估计混不到精品!

这里好像是算法才出精品。不知道这理论从何而来
2008-10-3 01:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵,目的是为了交流吗?是吧!谁让我写不出来呢!
2008-10-3 07:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
很普通的明码校验,不过支持下LZ的精神!
2008-10-3 09:49
0
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
夫子的软件比较简单 适合新手练习破解
2008-10-3 15:09
0
游客
登录 | 注册 方可回帖
返回
//