- UID
- 5592
注册时间2005-12-21
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 慵懒 2019-1-18 17:27 |
---|
签到天数: 30 天 [LV.5]常住居民I
|
【文章标题】: 终极邮件搜索大师 2.96简单算法分析
【文章作者】: lzq1973[PYG][CZG]
【作者邮箱】: [email protected]
【作者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 |
|