飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4966|回复: 4

[原创] 终极邮件搜索大师 2.96简单算法分析

[复制链接]
  • TA的每日心情
    慵懒
    2019-1-18 17:27
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2006-3-25 09:49:29 | 显示全部楼层 |阅读模式
    【文章标题】: 终极邮件搜索大师 2.96简单算法分析
    【文章作者】: lzq1973[PYG][CZG]
    【作者邮箱】: lzq9888@126.com
    【作者QQ号】: 150787972
    【软件名称】: 终极邮件搜索大师 2.96
    【软件大小】: 3.18MB
    【下载地址】: http://nj.onlinedown.net/soft/31238.htm
    【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
    【保护方式】: SN、功能限制
    【编写语言】: Borland Delphi 6.0 - 7.0
    【使用工具】: OD、PEID
    【操作平台】: WIN2000
    【软件介绍】: 终极邮件搜索大师是一款功能强大的邮件地址搜索软件。本软件可以同时开启多个线程对不同的网站或邮件服务器进行搜索。不但可以搜索各个网站、邮件服务器上的有效邮件地址,而且也能根据您输入的关键词,通过国内外著名的中英文搜索引擎自动搜索相关的邮件地址,并且支持网站、网页同时进行定向客户搜索,直接找到根源客户的联系方式,从而为您的网络商务营销提供源源不断的商业客户。是您进行网络营销的最佳选择。
    【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
    --------------------------------------------------------------------------------
    【详细过程】
          机器码:0383F9FF
          用户名:lzq1973[PYG][CZG]     经验证注册码与其无关
          试炼码:987654321
      
          运行软件进入注册界面,随便输入些什么后,提示注册完成,估计是重启验证,注册信息在注册表里。
          用PEID查壳是ASPack 2.12 -> Alexey Solodovnikov,用其插件轻松脱之,OD载入查找相关字符串(software\emailfinder)并下断点,运行后中断如下:
      
      004C039C  /.  55            PUSH EBP
      004C039D  |.  8BEC          MOV EBP,ESP
      004C039F  |.  B9 06000000   MOV ECX,6
      004C03A4  |>  6A 00         /PUSH 0
      004C03A6  |.  6A 00         |PUSH 0
      004C03A8  |.  49            |DEC ECX
      004C03A9  |.^ 75 F9         \JNZ SHORT EMailFin.004C03A4
      004C03AB  |.  53            PUSH EBX
      004C03AC  |.  56            PUSH ESI
      004C03AD  |.  8BD8          MOV EBX,EAX
      004C03AF  |.  33C0          XOR EAX,EAX
      004C03B1  |.  55            PUSH EBP
      004C03B2  |.  68 CD054C00   PUSH EMailFin.004C05CD
      004C03B7  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
      004C03BA  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
      004C03BD  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
      004C03C0  |.  E8 67E1FFFF   CALL EMailFin.004BE52C
      004C03C5  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]             ;  机器码(ASCII "0383F9FF")
      004C03C8  |.  8B83 E8030000 MOV EAX,DWORD PTR DS:[EBX+3E8]
      004C03CE  |.  E8 01FEF7FF   CALL EMailFin.004401D4
      004C03D3  |.  B2 01         MOV DL,1
      004C03D5  |.  A1 B8284100   MOV EAX,DWORD PTR DS:[4128B8]
      004C03DA  |.  E8 0933F4FF   CALL EMailFin.004036E8
      004C03DF  |.  8BF0          MOV ESI,EAX
      004C03E1  |.  89B3 0C040000 MOV DWORD PTR DS:[EBX+40C],ESI
      004C03E7  |.  B2 01         MOV DL,1
      004C03E9  |.  8BC6          MOV EAX,ESI
      004C03EB  |.  E8 AC6FF5FF   CALL EMailFin.0041739C
      004C03F0  |.  B2 01         MOV DL,1
      004C03F2  |.  A1 B8284100   MOV EAX,DWORD PTR DS:[4128B8]
      004C03F7  |.  E8 EC32F4FF   CALL EMailFin.004036E8
      004C03FC  |.  8BF0          MOV ESI,EAX
      004C03FE  |.  89B3 10040000 MOV DWORD PTR DS:[EBX+410],ESI
      004C0404  |.  B2 01         MOV DL,1
      004C0406  |.  8BC6          MOV EAX,ESI
      004C0408  |.  E8 8F6FF5FF   CALL EMailFin.0041739C
      004C040D  |.  B8 E4054C00   MOV EAX,EMailFin.004C05E4                ;  foundemails.log
      004C0412  |.  E8 F18BF4FF   CALL EMailFin.00409008
      004C0417  |.  84C0          TEST AL,AL
      004C0419  |.  74 10         JE SHORT EMailFin.004C042B
      004C041B  |.  BA E4054C00   MOV EDX,EMailFin.004C05E4                ;  foundemails.log
      004C0420  |.  8B83 10040000 MOV EAX,DWORD PTR DS:[EBX+410]
      004C0426  |.  8B08          MOV ECX,DWORD PTR DS:[EAX]
      004C0428  |.  FF51 68       CALL DWORD PTR DS:[ECX+68]
      004C042B  |>  8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
      004C0431  |.  8B80 08020000 MOV EAX,DWORD PTR DS:[EAX+208]
      004C0437  |.  33D2          XOR EDX,EDX
      004C0439  |.  E8 C2BDFBFF   CALL EMailFin.0047C200
      004C043E  |.  BA FC054C00   MOV EDX,EMailFin.004C05FC                ;  扫描链接:0
      004C0443  |.  E8 14BDFBFF   CALL EMailFin.0047C15C
      004C0448  |.  8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
      004C044E  |.  8B80 08020000 MOV EAX,DWORD PTR DS:[EAX+208]
      004C0454  |.  BA 01000000   MOV EDX,1
      004C0459  |.  E8 A2BDFBFF   CALL EMailFin.0047C200
      004C045E  |.  BA 10064C00   MOV EDX,EMailFin.004C0610                ;  找到e-mail:0
      004C0463  |.  E8 F4BCFBFF   CALL EMailFin.0047C15C
      004C0468  |.  8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
      004C046E  |.  8B80 08020000 MOV EAX,DWORD PTR DS:[EAX+208]
      004C0474  |.  BA 02000000   MOV EDX,2
      004C0479  |.  E8 82BDFBFF   CALL EMailFin.0047C200
      004C047E  |.  BA 28064C00   MOV EDX,EMailFin.004C0628                ;  准备就绪
      004C0483  |.  E8 D4BCFBFF   CALL EMailFin.0047C15C
      004C0488  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
      004C048B  |.  E8 9CE0FFFF   CALL EMailFin.004BE52C
      004C0490  |.  B2 01         MOV DL,1
      004C0492  |.  A1 983E4600   MOV EAX,DWORD PTR DS:[463E98]
      004C0497  |.  E8 FC3AFAFF   CALL EMailFin.00463F98
      004C049C  |.  8BF0          MOV ESI,EAX
      004C049E  |.  BA 01000080   MOV EDX,80000001
      004C04A3  |.  8BC6          MOV EAX,ESI
      004C04A5  |.  E8 8E3BFAFF   CALL EMailFin.00464038
      004C04AA  |.  B1 01         MOV CL,1
      004C04AC  |.  BA 3C064C00   MOV EDX,EMailFin.004C063C                ;  software\emailfinder
      004C04B1  |.  8BC6          MOV EAX,ESI
      004C04B3  |.  E8 E43BFAFF   CALL EMailFin.0046409C
      004C04B8  |.  8D4D F8       LEA ECX,DWORD PTR SS:[EBP-8]
      004C04BB  |.  BA 5C064C00   MOV EDX,EMailFin.004C065C                ;  reguser
      004C04C0  |.  8BC6          MOV EAX,ESI                              ;  用户名
      004C04C2  |.  E8 9D3DFAFF   CALL EMailFin.00464264
      004C04C7  |.  8D4D F0       LEA ECX,DWORD PTR SS:[EBP-10]
      004C04CA  |.  BA 6C064C00   MOV EDX,EMailFin.004C066C                ;  regno
      004C04CF  |.  8BC6          MOV EAX,ESI
      004C04D1  |.  E8 8E3DFAFF   CALL EMailFin.00464264
      004C04D6  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]            ;  假码(ASCII "987654321")
      004C04D9  |.  50            PUSH EAX
      004C04DA  |.  6A 01         PUSH 1
      004C04DC  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
      004C04DF  |.  50            PUSH EAX
      004C04E0  |.  B9 01000000   MOV ECX,1
      004C04E5  |.  BA 01000000   MOV EDX,1
      004C04EA  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  机器码(ASCII "0383F9FF")
      004C04ED  |.  E8 92DEFFFF   CALL EMailFin.004BE384                   ;  算法关键
      004C04F2  |.  8B45 E4       MOV EAX,DWORD PTR SS:[EBP-1C]            ;  (ASCII "0383F8GG")
      004C04F5  |.  8D4D E8       LEA ECX,DWORD PTR SS:[EBP-18]
      004C04F8  |.  BA 03000000   MOV EDX,3                                ;  长度3
      004C04FD  |.  E8 9A96F7FF   CALL EMailFin.00439B9C                   ;  前三位
      004C0502  |.  FF75 E8       PUSH DWORD PTR SS:[EBP-18]               ;  (ASCII "038"),设为H
      004C0505  |.  6A 01         PUSH 1
      004C0507  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]
      004C050A  |.  50            PUSH EAX
      004C050B  |.  B9 01000000   MOV ECX,1
      004C0510  |.  BA 01000000   MOV EDX,1
      004C0515  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  机器码(ASCII "0383F9FF")
      004C0518  |.  E8 0BDFFFFF   CALL EMailFin.004BE428
      004C051D  |.  8B45 DC       MOV EAX,DWORD PTR SS:[EBP-24]
      004C0520  |.  8D4D E0       LEA ECX,DWORD PTR SS:[EBP-20]            ;  (ASCII "0383F8GG")
      004C0523  |.  BA 03000000   MOV EDX,3                                ;  长度3
      004C0528  |.  E8 8B96F7FF   CALL EMailFin.00439BB8                   ;  后三位
      004C052D  |.  FF75 E0       PUSH DWORD PTR SS:[EBP-20]               ;  (ASCII "8GG"),设为F
      004C0530  |.  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
      004C0533  |.  50            PUSH EAX
      004C0534  |.  6A 01         PUSH 1
      004C0536  |.  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
      004C0539  |.  50            PUSH EAX
      004C053A  |.  B9 01000000   MOV ECX,1
      004C053F  |.  BA 01000000   MOV EDX,1
      004C0544  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  机器码(ASCII "0383F9FF")
      004C0547  |.  E8 38DEFFFF   CALL EMailFin.004BE384
      004C054C  |.  8B45 D4       MOV EAX,DWORD PTR SS:[EBP-2C]            ; |(ASCII "0383F8GG")
      004C054F  |.  B9 02000000   MOV ECX,2                                ; |长度2
      004C0554  |.  BA 03000000   MOV EDX,3                                ; |从第三位起
      004C0559  |.  E8 7E96F7FF   CALL EMailFin.00439BDC                   ; \EMailFin.00439BDC
      004C055E  |.  FF75 D8       PUSH DWORD PTR SS:[EBP-28]               ;  (ASCII "83"),设为S
      004C0561  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
      004C0564  |.  BA 03000000   MOV EDX,3                                ;  3个组成部分
      004C0569  |.  E8 3243F4FF   CALL EMailFin.004048A0                   ;  拼接注册码(即H+F+S)
      004C056E  |.  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]            ;  (ASCII "0388GG83")
      004C0571  |.  58            POP EAX                                  ;  可做内存注册器
      004C0572  |.  E8 AD43F4FF   CALL EMailFin.00404924
      004C0577  |.  75 32         JNZ SHORT EMailFin.004C05AB
      004C0579  |.  8D45 D0       LEA EAX,DWORD PTR SS:[EBP-30]
      004C057C  |.  8B4D F8       MOV ECX,DWORD PTR SS:[EBP-8]
      004C057F  |.  BA 7C064C00   MOV EDX,EMailFin.004C067C                ;  这套终极邮件搜索大师已注册给:
      004C0584  |.  E8 A342F4FF   CALL EMailFin.0040482C
      004C0589  |.  8B55 D0       MOV EDX,DWORD PTR SS:[EBP-30]
      004C058C  |.  8B83 FC030000 MOV EAX,DWORD PTR DS:[EBX+3FC]
      004C0592  |.  E8 3DFCF7FF   CALL EMailFin.004401D4
      004C0597  |.  B2 01         MOV DL,1
      004C0599  |.  8B83 FC030000 MOV EAX,DWORD PTR DS:[EBX+3FC]
      004C059F  |.  E8 20FBF7FF   CALL EMailFin.004400C4
      004C05A4  |.  C605 104E4C00>MOV BYTE PTR DS:[4C4E10],1
      004C05AB  |>  8BC6          MOV EAX,ESI
      004C05AD  |.  E8 6631F4FF   CALL EMailFin.00403718
      004C05B2  |.  33C0          XOR EAX,EAX
      004C05B4  |.  5A            POP EDX
      004C05B5  |.  59            POP ECX
      004C05B6  |.  59            POP ECX
      004C05B7  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
      004C05BA  |.  68 D4054C00   PUSH EMailFin.004C05D4
      004C05BF  |>  8D45 D0       LEA EAX,DWORD PTR SS:[EBP-30]
      004C05C2  |.  BA 0C000000   MOV EDX,0C
      004C05C7  |.  E8 803FF4FF   CALL EMailFin.0040454C
      004C05CC  \.  C3            RETN
      004C05CD   .^ E9 DA38F4FF   JMP EMailFin.00403EAC
      004C05D2   .^ EB EB         JMP SHORT EMailFin.004C05BF
      004C05D4   .  5E            POP ESI
      004C05D5   .  5B            POP EBX
      004C05D6   .  8BE5          MOV ESP,EBP
      004C05D8   .  5D            POP EBP
      004C05D9   .  C3            RETN
      
      ------- 这里 004C04ED  |.  E8 92DEFFFF   CALL EMailFin.004BE384 F7进去 -------------
      
      
      004BE384  /$  55            PUSH EBP
      004BE385  |.  8BEC          MOV EBP,ESP
      004BE387  |.  83C4 F0       ADD ESP,-10
      004BE38A  |.  53            PUSH EBX
      004BE38B  |.  56            PUSH ESI
      004BE38C  |.  57            PUSH EDI
      004BE38D  |.  33DB          XOR EBX,EBX
      004BE38F  |.  895D F0       MOV DWORD PTR SS:[EBP-10],EBX
      004BE392  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
      004BE395  |.  8BF2          MOV ESI,EDX
      004BE397  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX             ;  机器码(ASCII "0383F9FF")
      004BE39A  |.  8B7D 08       MOV EDI,DWORD PTR SS:[EBP+8]
      004BE39D  |.  33C0          XOR EAX,EAX
      004BE39F  |.  55            PUSH EBP
      004BE3A0  |.  68 17E44B00   PUSH EMailFin.004BE417
      004BE3A5  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
      004BE3A8  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
      004BE3AB  |.  8BC7          MOV EAX,EDI
      004BE3AD  |.  E8 7661F4FF   CALL EMailFin.00404528
      004BE3B2  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  机器码(ASCII "0383F9FF")
      004BE3B5  |.  E8 2664F4FF   CALL EMailFin.004047E0
      004BE3BA  |.  84C0          TEST AL,AL                               ;  机器码长度
      004BE3BC  |.  76 43         JBE SHORT EMailFin.004BE401
      004BE3BE  |.  8845 F7       MOV BYTE PTR SS:[EBP-9],AL               ;  AL=8
      004BE3C1  |.  B3 01         MOV BL,1                                 ;  BL=1
      004BE3C3  |>  8D45 F0       /LEA EAX,DWORD PTR SS:[EBP-10]
      004BE3C6  |.  33D2          |XOR EDX,EDX
      004BE3C8  |.  8AD3          |MOV DL,BL
      004BE3CA  |.  8B4D FC       |MOV ECX,DWORD PTR SS:[EBP-4]            ;  机器码(ASCII "0383F9FF")
      004BE3CD  |.  8A5411 FF     |MOV DL,BYTE PTR DS:[ECX+EDX-1]          ;  逐位取
      004BE3D1  |.  8BCE          |MOV ECX,ESI
      004BE3D3  |.  C1E9 08       |SHR ECX,8                               ;  逻辑右移(百下为零,其上为1)
      004BE3D6  |.  32D1          |XOR DL,CL
      004BE3D8  |.  E8 2B63F4FF   |CALL EMailFin.00404708
      004BE3DD  |.  8B55 F0       |MOV EDX,DWORD PTR SS:[EBP-10]           ;  当前字符16进制
      004BE3E0  |.  8BC7          |MOV EAX,EDI
      004BE3E2  |.  E8 0164F4FF   |CALL EMailFin.004047E8
      004BE3E7  |.  33C0          |XOR EAX,EAX
      004BE3E9  |.  8AC3          |MOV AL,BL
      004BE3EB  |.  8B17          |MOV EDX,DWORD PTR DS:[EDI]
      004BE3ED  |.  0FB64402 FF   |MOVZX EAX,BYTE PTR DS:[EDX+EAX-1]       ;  先零扩展,再传送
      004BE3F2  |.  03F0          |ADD ESI,EAX
      004BE3F4  |.  0FAF75 F8     |IMUL ESI,DWORD PTR SS:[EBP-8]           ;  整数乘法
      004BE3F8  |.  0375 0C       |ADD ESI,DWORD PTR SS:[EBP+C]            ;  加法
      004BE3FB  |.  43            |INC EBX
      004BE3FC  |.  FE4D F7       |DEC BYTE PTR SS:[EBP-9]
      004BE3FF  |.^ 75 C2         \JNZ SHORT EMailFin.004BE3C3
      004BE401  |>  33C0          XOR EAX,EAX
      004BE403  |.  5A            POP EDX
      004BE404  |.  59            POP ECX
      004BE405  |.  59            POP ECX
      004BE406  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
      004BE409  |.  68 1EE44B00   PUSH EMailFin.004BE41E
      004BE40E  |>  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
      004BE411  |.  E8 1261F4FF   CALL EMailFin.00404528
      004BE416  \.  C3            RETN
      004BE417   .^ E9 905AF4FF   JMP EMailFin.00403EAC
      004BE41C   .^ EB F0         JMP SHORT EMailFin.004BE40E
      004BE41E   .  5F            POP EDI
      004BE41F   .  5E            POP ESI
      004BE420   .  5B            POP EBX
      004BE421   .  8BE5          MOV ESP,EBP
      004BE423   .  5D            POP EBP
      004BE424   .  C2 0800       RETN 8
      
          至此注册码已出,算法基本明了。
      
      
    --------------------------------------------------------------------------------
    【经验总结】
    语言表达能力太差了,下面的估计只有我自己看的懂,请帮忙总结一下,先谢了~~

      下面的些话有些语无论次,表达能力不强,还望指点一二。
      
      设机器码经运算后为X,X由n(n为机器码的长度)个Y相拼接
      a为当前位的机器码字符16进制
      A=A+(A+B)*1+1
      B的初始值为1,后B=C的16进制
      C为与机器码对应的当前字符的字符
      d=A/2^8
      
      Y=XOR(a,d)
      
      如机器码=0383F9FF,则X的各字符如下
      Y1=XOR(30,0)
      Y2=XOR(33,0)
      Y3=XOR(38,0)
      Y4=XOR(33,0)
      Y5=XOR(46,0)
      Y6=XOR(39,1)
      Y7=XOR(46,1)
      Y8=XOR(46,1)
      
      上面的Y1~Y8转为字符后相拼接就是X=0383F8GG
      
      注册码组成部分如下
      H=X的前3位
      F=X的后3位
      S=X的3、4位
      
      则注册码=HFS   
      
    --------------------------------------------------------------------------------
    【版权声明】: 本文属于所有爱好者, 转载请注明作者并保持文章的完整, 谢谢!

                                                           2006年03月24日 16:20:20
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2019-3-25 06:30
  • 签到天数: 1096 天

    [LV.10]以坛为家III

    发表于 2006-3-25 14:15:06 | 显示全部楼层
    沙发没人坐,我先来坐.
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2018-12-10 18:30
  • 签到天数: 70 天

    [LV.6]常住居民II

    发表于 2006-3-25 23:39:56 | 显示全部楼层
    学习一下,支持
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-3-26 00:59:56 | 显示全部楼层
    支持一下。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2012-3-31 22:25:53 | 显示全部楼层
    感谢分享了,学习一下了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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