首页
社区
课程
招聘
[原创]菜鸟的第一篇破文,高手略过
发表于: 2007-2-23 12:22 16149

[原创]菜鸟的第一篇破文,高手略过

2007-2-23 12:22
16149

【文章标题】: 【原创】迅捷智能答题器V1.0的注册算法简单分析
【文章作者】: talaqi
【软件名称】: 迅捷智能答题器V1.0
【软件大小】: 1.25M
【下载地址】: http://www.skycn.com/soft/8459.html
【加壳方式】: 无壳
【保护方式】: 注册码
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: Peid、OD
【操作平台】: WinXP
【软件介绍】: 迅捷智能答题器是一套专为在《开心辞典》网上选拔的答题器。
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  004D1E73   |.  55              push ebp                                 ;  此处下断,F8
  004D1E74   |.  68 6C1F4D00     push XjDt.004D1F6C
  004D1E79   |.  64:FF30         push dword ptr fs:[eax]
  004D1E7C   |.  64:8920         mov dword ptr fs:[eax],esp
  004D1E7F   |.  8D55 FC         lea edx,dword ptr ss:[ebp-4]
  004D1E82   |.  A1 0CA24D00     mov eax,dword ptr ds:[4DA20C]
  004D1E87   |.  8B00            mov eax,dword ptr ds:[eax]
  004D1E89   |.  8B80 F0030000   mov eax,dword ptr ds:[eax+3F0]
  004D1E8F   |.  E8 F4470000     call XjDt.004D6688                       ;  跟进
  004D1E94   |.  8B45 FC         mov eax,dword ptr ss:[ebp-4]             ;  取机器码
  004D1E97   |.  50              push eax
  004D1E98   |.  8D55 F4         lea edx,dword ptr ss:[ebp-C]
  004D1E9B   |.  8B83 00030000   mov eax,dword ptr ds:[ebx+300]
  004D1EA1   |.  E8 EEDAF6FF     call XjDt.0043F994
  004D1EA6   |.  8B45 F4         mov eax,dword ptr ss:[ebp-C]             ;  取伪码
  004D1EA9   |.  8D55 F8         lea edx,dword ptr ss:[ebp-8]
  004D1EAC   |.  E8 4B6EF3FF     call XjDt.00408CFC
  004D1EB1   |.  8B55 F8         mov edx,dword ptr ss:[ebp-8]
  004D1EB4   |.  58              pop eax
  004D1EB5   |.  E8 462BF3FF     call XjDt.00404A00                       ;  真假码比较
  004D1EBA   |.  75 73           jnz short XjDt.004D1F2F                  
  004D1EBC   |.  8D55 EC         lea edx,dword ptr ss:[ebp-14]
  004D1EBF   |.  8B83 00030000   mov eax,dword ptr ds:[ebx+300]
  004D1EC5   |.  E8 CADAF6FF     call XjDt.0043F994
  004D1ECA   |.  8B45 EC         mov eax,dword ptr ss:[ebp-14]
  004D1ECD   |.  8D55 F0         lea edx,dword ptr ss:[ebp-10]
  004D1ED0   |.  E8 276EF3FF     call XjDt.00408CFC
  004D1ED5   |.  8B45 F0         mov eax,dword ptr ss:[ebp-10]
  004D1ED8   |.  E8 87480000     call XjDt.004D6764
  004D1EDD   |.  E8 76450000     call XjDt.004D6458
  004D1EE2   |.  A1 0CA24D00     mov eax,dword ptr ds:[4DA20C]
  004D1EE7   |.  8B00            mov eax,dword ptr ds:[eax]
  004D1EE9   |.  80B8 30040000 0>cmp byte ptr ds:[eax+430],0
  004D1EF0   |.  74 31           je short XjDt.004D1F23
  004D1EF2   |.  B8 801F4D00     mov eax,XjDt.004D1F80                    ;  注册成功
  004D1EF7   |.  E8 A06FF6FF     call XjDt.00438E9C
  004D1EFC   |.  A1 0CA24D00     mov eax,dword ptr ds:[4DA20C]
  004D1F01   |.  8B00            mov eax,dword ptr ds:[eax]
  004D1F03   |.  8B80 48030000   mov eax,dword ptr ds:[eax+348]
  004D1F09   |.  33D2            xor edx,edx
  004D1F0B   |.  E8 A4D9F6FF     call XjDt.0043F8B4
  004D1F10   |.  A1 0CA24D00     mov eax,dword ptr ds:[4DA20C]
  004D1F15   |.  8B00            mov eax,dword ptr ds:[eax]
  004D1F17   |.  BA 941F4D00     mov edx,XjDt.004D1F94
  004D1F1C   |.  E8 A3DAF6FF     call XjDt.0043F9C4
  004D1F21   |.  EB 16           jmp short XjDt.004D1F39
  004D1F23   |>  B8 AC1F4D00     mov eax,XjDt.004D1FAC                    ;  注册失败
  004D1F28   |.  E8 6F6FF6FF     call XjDt.00438E9C
  004D1F2D   |.  EB 0A           jmp short XjDt.004D1F39
  004D1F2F   |>  B8 C01F4D00     mov eax,XjDt.004D1FC0                    ;  注册码错误
  004D1F34   |.  E8 636FF6FF     call XjDt.00438E9C
  004D1F39   |>  33C0            xor eax,eax
  004D1F3B   |.  5A              pop edx
  004D1F3C   |.  59              pop ecx
  004D1F3D   |.  59              pop ecx
  004D1F3E   |.  64:8910         mov dword ptr fs:[eax],edx
  004D1F41   |.  68 731F4D00     push XjDt.004D1F73
  004D1F46   |>  8D45 EC         lea eax,dword ptr ss:[ebp-14]
  004D1F49   |.  E8 B626F3FF     call XjDt.00404604
  004D1F4E   |.  8D45 F0         lea eax,dword ptr ss:[ebp-10]
  004D1F51   |.  E8 AE26F3FF     call XjDt.00404604
  004D1F56   |.  8D45 F4         lea eax,dword ptr ss:[ebp-C]
  004D1F59   |.  E8 A626F3FF     call XjDt.00404604
  004D1F5E   |.  8D45 F8         lea eax,dword ptr ss:[ebp-8]
  004D1F61   |.  BA 02000000     mov edx,2
  004D1F66   |.  E8 BD26F3FF     call XjDt.00404628
  004D1F6B   \.  C3              retn
  
  跟进,004D1E8F   |.  E8 F4470000     call XjDt.004D6688,来到:
  004D6688   /$  55              push ebp
  004D6689   |.  8BEC            mov ebp,esp
  004D668B   |.  33C9            xor ecx,ecx
  004D668D   |.  51              push ecx
  004D668E   |.  51              push ecx
  004D668F   |.  51              push ecx
  004D6690   |.  51              push ecx
  004D6691   |.  51              push ecx
  004D6692   |.  51              push ecx
  004D6693   |.  53              push ebx
  004D6694   |.  56              push esi
  004D6695   |.  57              push edi
  004D6696   |.  8BFA            mov edi,edx
  004D6698   |.  8945 FC         mov dword ptr ss:[ebp-4],eax
  004D669B   |.  8B45 FC         mov eax,dword ptr ss:[ebp-4]
  004D669E   |.  E8 01E4F2FF     call XjDt.00404AA4
  004D66A3   |.  33C0            xor eax,eax
  004D66A5   |.  55              push ebp
  004D66A6   |.  68 54674D00     push XjDt.004D6754
  004D66AB   |.  64:FF30         push dword ptr fs:[eax]
  004D66AE   |.  64:8920         mov dword ptr fs:[eax],esp
  004D66B1   |.  8D55 F0         lea edx,dword ptr ss:[ebp-10]
  004D66B4   |.  8B45 FC         mov eax,dword ptr ss:[ebp-4]
  004D66B7   |.  E8 4026F3FF     call XjDt.00408CFC
  004D66BC   |.  8B45 F0         mov eax,dword ptr ss:[ebp-10]
  004D66BF   |.  E8 F8E1F2FF     call XjDt.004048BC
  004D66C4   |.  85C0            test eax,eax                             ;  测试位数
  004D66C6   |.  75 09           jnz short XjDt.004D66D1
  004D66C8   |.  8BC7            mov eax,edi
  004D66CA   |.  E8 35DFF2FF     call XjDt.00404604
  004D66CF   |.  EB 60           jmp short XjDt.004D6731
  004D66D1   |>  8BF0            mov esi,eax                              
  004D66D3   |.  85F6            test esi,esi
  004D66D5   |.  7E 32           jle short XjDt.004D6709
  004D66D7   |.  BB 01000000     mov ebx,1                                
  004D66DC   |>  8B45 FC         /mov eax,dword ptr ss:[ebp-4]            ;  机器码送EAX
  004D66DF   |.  0FB64418 FF     |movzx eax,byte ptr ds:[eax+ebx-1]       ;  依次取机器码
  004D66E4   |.  83E8 27         |sub eax,27                              ;  减27
  004D66E7   |.  8D145B          |lea edx,dword ptr ds:[ebx+ebx*2]        ;  EDX=EBX*3
  004D66EA   |.  03C2            |add eax,edx                             ;  EAX=EAX+EDX
  004D66EC   |.  8945 F8         |mov dword ptr ss:[ebp-8],eax
  004D66EF   |.  8D55 EC         |lea edx,dword ptr ss:[ebp-14]
  004D66F2   |.  8B45 F8         |mov eax,dword ptr ss:[ebp-8]
  004D66F5   |.  E8 6E29F3FF     |call XjDt.00409068                      ;  跟进
  004D66FA   |.  8B55 EC         |mov edx,dword ptr ss:[ebp-14]
  004D66FD   |.  8D45 F4         |lea eax,dword ptr ss:[ebp-C]
  004D6700   |.  E8 BFE1F2FF     |call XjDt.004048C4
  004D6705   |.  43              |inc ebx
  004D6706   |.  4E              |dec esi
  004D6707   |.^ 75 D3           \jnz short XjDt.004D66DC                 ;  循环,计算密码表“545221295554506371734746”
  004D6709   |>  BB 01000000     mov ebx,1
  004D670E   |>  8D45 E8         /lea eax,dword ptr ss:[ebp-18]
  004D6711   |.  8BD3            |mov edx,ebx                             ;  EBX送EDX
  004D6713   |.  03D2            |add edx,edx                             ;  2*EDX
  004D6715   |.  8B4D F4         |mov ecx,dword ptr ss:[ebp-C]            ;  密码表送ECX
  004D6718   |.  8A5411 FF       |mov dl,byte ptr ds:[ecx+edx-1]          ;  对应表中的值
  004D671C   |.  E8 C3E0F2FF     |call XjDt.004047E4
  004D6721   |.  8B55 E8         |mov edx,dword ptr ss:[ebp-18]           ;  相应值送EDX
  004D6724   |.  8BC7            |mov eax,edi
  004D6726   |.  E8 99E1F2FF     |call XjDt.004048C4
  004D672B   |.  43              |inc ebx
  004D672C   |.  83FB 09         |cmp ebx,9                              
  004D672F   |.^ 75 DD           \jnz short XjDt.004D670E                 ;  循环
  004D6731   |>  33C0            xor eax,eax
  004D6733   |.  5A              pop edx
  004D6734   |.  59              pop ecx
  004D6735   |.  59              pop ecx
  004D6736   |.  64:8910         mov dword ptr fs:[eax],edx
  004D6739   |.  68 5B674D00     push XjDt.004D675B
  004D673E   |>  8D45 E8         lea eax,dword ptr ss:[ebp-18]
  004D6741   |.  BA 04000000     mov edx,4
  004D6746   |.  E8 DDDEF2FF     call XjDt.00404628
  004D674B   |.  8D45 FC         lea eax,dword ptr ss:[ebp-4]
  004D674E   |.  E8 B1DEF2FF     call XjDt.00404604
  004D6753   \.  C3              retn
  004D6754    .^ E9 F3D7F2FF     jmp XjDt.00403F4C
  004D6759    .^ EB E3           jmp short XjDt.004D673E
  004D675B    .  5F              pop edi
  004D675C    .  5E              pop esi
  004D675D    .  5B              pop ebx
  004D675E    .  8BE5            mov esp,ebp
  004D6760    .  5D              pop ebp
  004D6761    .  C3              retn                                    
  跟进,004D66F5   |.  E8 6E29F3FF     |call XjDt.00409068,来到:
  00409068   /$  83C4 F8         add esp,-8
  0040906B   |.  6A 00           push 0                                   ; /Arg1 00000000
  0040906D   |.  894424 04       mov dword ptr ss:[esp+4],eax             ; |
  00409071   |.  C64424 08 00    mov byte ptr ss:[esp+8],0                ; |
  00409076   |.  8D4C24 04       lea ecx,dword ptr ss:[esp+4]             ; |
  0040907A   |.  8BC2            mov eax,edx                              ; |
  0040907C   |.  BA 94904000     mov edx,XjDt.00409094                    ; |ASCII "%d"
  00409081   |.  E8 2E0B0000     call XjDt.00409BB4                       ; \XjDt.00409BB4
  00409086   |.  59              pop ecx
  00409087   |.  5A              pop edx
  00409088   \.  C3              retn
  
  此CALL用于转换成带符号的10进制整数形式(~~真够拗口的~――!)
  
--------------------------------------------------------------------------------
【经验总结】
  用机器码计算出“密码表”,再对应表中的值得出真正的注册码!
  本人还是个菜鸟,这是我的第一篇破文,请多多鼓励,有不妥之处还望指正,为谢!
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2007年02月23日 11:59:02


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (37)
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
我也是初学
学了好多方面,都学的平淡
算法太复杂的时候,容易跟不下去

支持,学习

2007-2-23 13:16
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
我也是初学
学了好多方面,都学的平淡
算法太复杂的时候,容易跟不下去

支持,学习

2007-2-23 13:22
0
雪    币: 214
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
谢谢,我会继续努力的。
2007-2-23 17:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我也进来学习一下。。。。
2007-2-24 03:20
0
雪    币: 214
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
感谢斑竹加了个精华,我会继续努力的。
2007-2-24 13:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也是初学,
过来好好学学。
2007-4-22 10:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
初学者最好还是用些简单的,这个就不错。
不然严重伤害自尊,最后走的时候说声“切~`````````,有什么了不起!”
2007-4-22 12:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
dddddddddddddddd
2007-4-22 17:04
0
雪    币: 217
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
不错!!!!也来学习下!!!!
2007-4-22 18:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
呵呵,路过!!
2007-4-22 19:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
呵呵,进来学习一下!
2007-4-23 08:26
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
好像看不懂教程啊,看来我太初级了
2007-4-23 10:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不错啊,我也是初学,看来还有很多不懂的地方啊
2007-4-23 13:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
支持一下~~
2007-4-24 02:25
0
雪    币: 164
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
跟了一晚上,没找到注册码,能否说一下在哪儿找到注册码

爆破倒挺容易的

谢了,嘿嘿……
2007-4-24 11:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
谢谢楼主分享,学习了
2007-4-24 12:51
0
雪    币: 244
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
初来乍到,学习....
2007-4-24 17:17
0
雪    币: 172
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
不错!!呵呵…………
   看了有所收获!!
      谢楼主了!!
2007-4-24 18:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
我要学习学习 呵呵
2007-4-27 19:00
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
21
我会努力的~``````````
2007-4-28 09:15
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
22
我来研究研究
2007-4-28 09:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
谢谢了楼主,刚学,就需要这样的入门文章
2007-4-29 17:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
学习了!我也很菜
2007-4-30 00:08
0
雪    币: 9
活跃值: (142)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
25
算法高手啊, 呵呵
2007-4-30 05:24
0
游客
登录 | 注册 方可回帖
返回
//