动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   安全 → 阅读文章

 搜易无需SMTP群发器算法分析

作者来源: 
阅读 1580 人次 , 2006-4-26 16:10:00 

Delphi写成,N10Click就是注册对话框。

004C7201   8B45D4                 mov     eax, [ebp-$2C]

* Reference to: sysutils.StrToInt64(System.AnsiString):System.Int64;
|
004C7204   E86B1BF4FF             call    00408D74                     ;输入的注册码变成数值
004C7209   8945F0                 mov     [ebp-$10], eax
004C720C   8955F4                 mov     [ebp-$0C], edx               ;保存在edx,eax中
004C720F   6A00                   push    $00
004C7211   6A18                   push    $18
004C7213   8B45F0                 mov     eax, [ebp-$10]
004C7216   8B55F4                 mov     edx, [ebp-$0C]

* Reference to: system.@_lldiv;
|
004C7219   E8A4F5F3FF             call    004067C2                     ;除以$18
004C721E   8945F0                 mov     [ebp-$10], eax
004C7221   8955F4                 mov     [ebp-$0C], edx
004C7224   8B45F0                 mov     eax, [ebp-$10]
004C7227   8B55F4                 mov     edx, [ebp-$0C]
004C722A   2D84410100             sub     eax, $00014184
004C722F   83DA00                 sbb     edx, +$00                    ;减去$00014184
004C7232   8945F0                 mov     [ebp-$10], eax
004C7235   8955F4                 mov     [ebp-$0C], edx
004C7238   8D45D8                 lea     eax, [ebp-$28]

|
004C723B   E81840FFFF             call    004BB258
004C7240   8B45D8                 mov     eax, [ebp-$28]               ;eax保存着CPUID
004C7243   99                     cdq
004C7244   8945E8                 mov     [ebp-$18], eax
004C7247   8955EC                 mov     [ebp-$14], edx
004C724A   8B45F0                 mov     eax, [ebp-$10]
004C724D   8B55F4                 mov     edx, [ebp-$0C]
004C7250   3B55EC                 cmp     edx, [ebp-$14]
004C7253   754B                   jnz     004C72A0
004C7255   3B45E8                 cmp     eax, [ebp-$18]
004C7258   7546                   jnz     004C72A0
004C725A   6A00                   push    $00
004C725C   668B0D28734C00         mov     cx, word ptr [$4C7328]
004C7263   B202                   mov     dl, $02

* Possible String Reference to: '软件登记注册成功!'
|
004C7265   B834734C00             mov     eax, $004C7334

然后看看和机器码怎么挂钩:
004AC730   E87FFFFFFF             call    004AC6B4
004AC735   8B45E8                 mov     eax, [ebp-$18]               ;CPUID
004AC738   99                     cdq
004AC739   8945F8                 mov     [ebp-$08], eax
004AC73C   8955FC                 mov     [ebp-$04], edx
004AC73F   8B45F8                 mov     eax, [ebp-$08]
004AC742   8B55FC                 mov     edx, [ebp-$04]
004AC745   0584410100             add     eax, +$00014184              ;加上$00014184
004AC74A   83D200                 adc     edx, +$00
004AC74D   8945F8                 mov     [ebp-$08], eax
004AC750   8955FC                 mov     [ebp-$04], edx
004AC753   6A00                   push    $00
004AC755   6A18                   push    $18
004AC757   8B45F8                 mov     eax, [ebp-$08]
004AC75A   8B55FC                 mov     edx, [ebp-$04]

|
004AC75D   E81AA0F5FF             call    0040677C                     ;乘以$18
004AC762   8945F8                 mov     [ebp-$08], eax
004AC765   8955FC                 mov     [ebp-$04], edx
004AC768   8B45F8                 mov     eax, [ebp-$08]
004AC76B   8B55FC                 mov     edx, [ebp-$04]
004AC76E   2DCDB40000             sub     eax, $0000B4CD               ;减去$0000B4CD
004AC773   83DA00                 sbb     edx, +$00
004AC776   8945F8                 mov     [ebp-$08], eax
004AC779   8955FC                 mov     [ebp-$04], edx
004AC77C   6A00                   push    $00
004AC77E   6A4B                   push    $4B
004AC780   8B45F8                 mov     eax, [ebp-$08]
004AC783   8B55FC                 mov     edx, [ebp-$04]

|
004AC786   E8F19FF5FF             call    0040677C                     ;乘以$4B
004AC78B   8945F8                 mov     [ebp-$08], eax
004AC78E   8955FC                 mov     [ebp-$04], edx
004AC791   FF75FC                 push    dword ptr [ebp-$04]
004AC794   FF75F8                 push    dword ptr [ebp-$08]
004AC797   8D45E4                 lea     eax, [ebp-$1C]

* Reference to: sysutils.IntToStr(System.Int64):System.AnsiString;overload;
|
004AC79A   E865C5F5FF             call    00408D04
004AC79F   8B55E4                 mov     edx, [ebp-$1C]

总结:
机器码 = ((CPUID + $14184) * $18 - $B4CD) * $4B
注册码 = (CPUID + $14184) * $18

所以:
注册码 = 机器码 div $4B + $B4CD

附录:
搜易的邮件地址搜索专家
form1.N13Click

机器码 = ((CPUID + $1452D) * $3BA - $106DB) * $243
注册码 = (CPUID + $1452D) * $3BA

所以:
注册码 = 机器码 div $243 + $106DB

  
 本文Tags算法  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:影音卫士2003全能版的破戒 算法分析 上
· 下一篇:文件分割器的算法 下
· 追查出恶意邮件的背后真凶
· Microsoft HTML Help Workshop ".hhp"解析缓冲区溢出漏洞
· 使用SSH建立基于Linux/Unix的VPN网络
· 超极公式计算机V4.53计算流程
· 网络安全:网管员必读 十分钟恢复网络服务有绝招


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077