圣剑安全网
新闻 业内 站内 漏洞 病毒 科技 骗术 励志 军事文章 电脑 网络 入门 检测 攻防 编程 人物 提权 ┊ 网站导航
软件 安全 扫描 加密 检测 远控  Q Q 嗅探 综合动画  Q Q 程序 检测 破解 脚本 其他 漏洞 原创 ┊ 圣剑之家
源码 ASP  PHP  JSP  .NET 模板 V B  V C  JAVA书籍 编程 系统 网管 图像 网页 数据 杂志 其他 ┊ 圣剑论坛
学院 网络 软件 破解 检测 安全 设计 编程 攻防会员 高级资源下载 会员活动 会员特权 会员论坛     ┊ 圣剑商城
·圣剑内网通 打造2011内网上线神话! ·加入本站VIP 好礼送不断! 关键词: 关键词:黑客┊抓鸡
文章中心首页 | 电脑知识 | 网络知识 | 菜鸟入门 | 入侵教程 | 网络攻防 | 网络编程 | 原创精华 | 网络人物 | 网络技术 | 提权技术 | 跨站技术 | 渗透技术 | 鸽子专题
 您现在的位置: 圣剑安全网 >> 文章中心 >> 菜鸟入门 >> 文章信息

BurnCD 2.0算法分析

作者:佚名 新闻来源:本站整理 更新时间:2009-6-2 6:06:16

输入假码
用户名:BeyondMe
注册码:1234567890
出现错误提示:“注册码不对,返回错误码:0”
注意还有“返回码”呢,第一印象,可能注册码经过网络检测。先不理,查ASCII到关键算法处。

00407710   . 6A FF         PUSH -1                                                ; 注册按钮事件
00407712   . 68 90524E00   PUSH BurnCD.004E5290
00407717   . 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
0040771D   . 50            PUSH EAX
0040771E   . 83EC 18       SUB ESP,18
……省略N行代码……
004078B3   . 5E            POP ESI
004078B4   . 5D            POP EBP
004078B5   . 5B            POP EBX
004078B6   . 83C4 24       ADD ESP,24                                            ; 以上检测用户名及注册码是否输入
004078B9   . C3            RETN
004078BA   > 8D4C24 20     LEA ECX,DWORD PTR SS:[ESP+20]
004078BE   . 6A 01         PUSH 1
004078C0   . 51            PUSH ECX
004078C1   . E8 0AFDFFFF   CALL BurnCD.004075D0                                   ; 返回唯一ID,用于后面的网络验证
004078C6   . 83C4 08       ADD ESP,8
004078C9   . 8B4C24 20     MOV ECX,DWORD PTR SS:[ESP+20]
004078CD   . 3959 F4       CMP DWORD PTR DS:[ECX-C],EBX
004078D0   . C64424 34 02 MOV BYTE PTR SS:[ESP+34],2
004078D5   . 75 3A         JNZ SHORT BurnCD.00407911
004078D7   . 53            PUSH EBX                                               ; /Arg3
004078D8   . 53            PUSH EBX                                               ; |Arg2
004078D9   . 68 10A74E00   PUSH BurnCD.004EA710                                   ; |无法取得唯一id!
004078DE   . E8 468C0A00   CALL BurnCD.004B0529                                   ; \BurnCD.004B0529
004078E3   . 8B4424 20     MOV EAX,DWORD PTR SS:[ESP+20]
004078E7   . 83C0 F0       ADD EAX,-10
004078EA   . C64424 34 01 MOV BYTE PTR SS:[ESP+34],1
004078EF   . 8D50 0C       LEA EDX,DWORD PTR DS:[EAX+C]
004078F2   . 83C9 FF       OR ECX,FFFFFFFF
004078F5   . F0:0FC10A     LOCK XADD DWORD PTR DS:[EDX],ECX                       ; 锁定前缀
004078F9   . 49            DEC ECX
004078FA   . 85C9          TEST ECX,ECX
004078FC   .^ 0F8F 54FFFFFF JG BurnCD.00407856
00407902   . 8B08          MOV ECX,DWORD PTR DS:[EAX]
00407904   . 8B11          MOV EDX,DWORD PTR DS:[ECX]
00407906   . 50            PUSH EAX
00407907   . 8B42 04       MOV EAX,DWORD PTR DS:[EDX+4]
0040790A   . FFD0          CALL EAX
0040790C   .^ E9 45FFFFFF   JMP BurnCD.00407856
00407911   > 8B4424 18     MOV EAX,DWORD PTR SS:[ESP+18]                          ; 用户名
00407915   . 8BF9          MOV EDI,ECX                                            ; 唯一id
00407917   . 50            PUSH EAX
00407918   . 8D4C24 28     LEA ECX,DWORD PTR SS:[ESP+28]
0040791C   . 51            PUSH ECX
0040791D   . 8BF0          MOV ESI,EAX
0040791F   . 895C24 30     MOV DWORD PTR SS:[ESP+30],EBX
00407923   . E8 E8FBFFFF   CALL BurnCD.00407510                                   ; 核心算法
00407928   . 8B5424 24     MOV EDX,DWORD PTR SS:[ESP+24]                          ; EDX返回真正注册码
0040792C   . 33C9          XOR ECX,ECX
0040792E   . 83C4 08       ADD ESP,8
00407931   . 3BD3          CMP EDX,EBX
00407933   . 0F95C1        SETNE CL
00407936   . 3BCB          CMP ECX,EBX
00407938   . 75 0A         JNZ SHORT BurnCD.00407944
0040793A   . 68 05400080   PUSH 80004005
0040793F   . E8 8C9CFFFF   CALL BurnCD.004015D0
00407944   > 8B00          MOV EAX,DWORD PTR DS:[EAX]
00407946   . 52            PUSH EDX
00407947   . 50            PUSH EAX
00407948   . E8 06480C00   CALL BurnCD.004CC153                                   ; 比较过程
0040794D   . 83C4 08       ADD ESP,8
00407950   . 3BC3          CMP EAX,EBX
00407952   . 0F94C0        SETE AL
00407955   . 3AC3          CMP AL,BL
00407957   . 74 1D         JE SHORT BurnCD.00407976                               ; 如果注册码不正确则跳走
00407959   . 8D5424 28     LEA EDX,DWORD PTR SS:[ESP+28]                          ; 如果正确则进一步网络验证
0040795D   . 52            PUSH EDX
0040795E   . 57            PUSH EDI
0040795F   . 56            PUSH ESI
00407960   . 68 04894E00   PUSH BurnCD.004E8904                                   ; burncd
00407965   . E8 36620A00   CALL BurnCD.004ADBA0                                   ; 网络验证注册码及唯一码
0040796A   . 83C4 10       ADD ESP,10
0040796D   . 85C0          TEST EAX,EAX
0040796F   . C64424 17 01 MOV BYTE PTR SS:[ESP+17],1
00407974   . 75 04         JNZ SHORT BurnCD.0040797A
00407976   > 885C24 17     MOV BYTE PTR SS:[ESP+17],BL                            ; (初始 cpu 选择)
0040797A   > 8D4C24 24     LEA ECX,DWORD PTR SS:[ESP+24]
0040797E   . E8 0D97FFFF   CALL BurnCD.00401090
00407983   . 385C24 17     CMP BYTE PTR SS:[ESP+17],BL
00407987   . 74 3C         JE SHORT BurnCD.004079C5                               ; 关键跳转
00407989   . 8B4424 18     MOV EAX,DWORD PTR SS:[ESP+18]
0040798D   . 50            PUSH EAX
0040798E   . E8 0DF9FFFF   CALL BurnCD.004072A0
00407993   . 8B4C24 20     MOV ECX,DWORD PTR SS:[ESP+20]
00407997   . 51            PUSH ECX
00407998   . E8 93F9FFFF   CALL BurnCD.00407330
0040799D   . 83C4 08       ADD ESP,8
004079A0   . 53            PUSH EBX                                               ; /Arg3
004079A1   . 53            PUSH EBX                                               ; |Arg2
004079A2   . 68 04A74E00   PUSH BurnCD.004EA704                                   ; |注册成功!
004079A7   . C705 E8EF5000>MOV DWORD PTR DS:[50EFE8],1                            ; |
004079B1   . E8 738B0A00   CALL BurnCD.004B0529                                   ; \BurnCD.004B0529
004079B6   . 8B55 00       MOV EDX,DWORD PTR SS:[EBP]
004079B9   . 8B82 50010000 MOV EAX,DWORD PTR DS:[EDX+150]
004079BF   . 8BCD          MOV ECX,EBP
004079C1   . FFD0          CALL EAX
004079C3   . EB 3A         JMP SHORT BurnCD.004079FF
004079C5   > 8D4C24 24     LEA ECX,DWORD PTR SS:[ESP+24]
004079C9   . E8 52A8FFFF   CALL BurnCD.00402220
004079CE   . 8B4C24 28     MOV ECX,DWORD PTR SS:[ESP+28]
004079D2   . 51            PUSH ECX
004079D3   . 8D5424 28     LEA EDX,DWORD PTR SS:[ESP+28]
004079D7   . 68 E8A64E00   PUSH BurnCD.004EA6E8                                   ; 注册码不对,返回错误码: %d
   ……省略N行代码……
00407A2A   . 83C4 24       ADD ESP,24
00407A2D   . C3            RETN

------------

主过程先对用户名和注册码是否输入进行检测,然后获得唯一ID,再对注册码进行检测,如果注册码被接受,则进一步把
注册码和唯一ID发送到网上进一步验证,如果通过验证则返回注册成功。

我们先分析一下注册码的生成过程。
00407923   . E8 E8FBFFFF   CALL BurnCD.00407510                     ; 核心算法

00407510 /$ 6A FF         PUSH -1                                                ; 核心算法
00407512 |. 68 D9514E00   PUSH BurnCD.004E51D9
004

[1] [2] [3]  下一页

 
  • 上一个新闻:HS CardReader 1.2 算法分析(入门级)
  • 下一个新闻:专家全面解析ARP命令
  • 】【关闭窗口
    最新文章
    热门文章
    推荐文章
    关于我们 | 联系我们 | 广告合作 | 免责声明 | 网站地图 | 欢迎投稿
    中华人民共和国信息产业部网站备案编号:苏ICP备06029591号
    Copyright 圣剑网络 2006-2010 版权所有 All Rights Reserved
    本站内容来自于互联网,仅供用于网络安全技术学习,学习中请遵循相关法律法规.