终极邮件搜索大师 2.96简单算法分析
【文章标题】: 终极邮件搜索大师 2.96简单算法分析【文章作者】: lzq1973
【作者邮箱】: [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 经验证注册码与其无关
试炼码: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:
004C03BA|.64:8920 MOV DWORD PTR FS:,ESP
004C03BD|.8D45 F4 LEA EAX,DWORD PTR SS:
004C03C0|.E8 67E1FFFF CALL EMailFin.004BE52C
004C03C5|.8B55 F4 MOV EDX,DWORD PTR SS: ;机器码(ASCII "0383F9FF")
004C03C8|.8B83 E8030000 MOV EAX,DWORD PTR DS:
004C03CE|.E8 01FEF7FF CALL EMailFin.004401D4
004C03D3|.B2 01 MOV DL,1
004C03D5|.A1 B8284100 MOV EAX,DWORD PTR DS:
004C03DA|.E8 0933F4FF CALL EMailFin.004036E8
004C03DF|.8BF0 MOV ESI,EAX
004C03E1|.89B3 0C040000 MOV DWORD PTR DS:,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:
004C03F7|.E8 EC32F4FF CALL EMailFin.004036E8
004C03FC|.8BF0 MOV ESI,EAX
004C03FE|.89B3 10040000 MOV DWORD PTR DS:,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:
004C0426|.8B08 MOV ECX,DWORD PTR DS:
004C0428|.FF51 68 CALL DWORD PTR DS:
004C042B|>8B83 0C030000 MOV EAX,DWORD PTR DS:
004C0431|.8B80 08020000 MOV EAX,DWORD PTR DS:
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:
004C044E|.8B80 08020000 MOV EAX,DWORD PTR DS:
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:
004C046E|.8B80 08020000 MOV EAX,DWORD PTR DS:
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:
004C048B|.E8 9CE0FFFF CALL EMailFin.004BE52C
004C0490|.B2 01 MOV DL,1
004C0492|.A1 983E4600 MOV EAX,DWORD PTR DS:
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:
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:
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: ;假码(ASCII "987654321")
004C04D9|.50 PUSH EAX
004C04DA|.6A 01 PUSH 1
004C04DC|.8D45 E4 LEA EAX,DWORD PTR SS:
004C04DF|.50 PUSH EAX
004C04E0|.B9 01000000 MOV ECX,1
004C04E5|.BA 01000000 MOV EDX,1
004C04EA|.8B45 FC MOV EAX,DWORD PTR SS: ;机器码(ASCII "0383F9FF")
004C04ED|.E8 92DEFFFF CALL EMailFin.004BE384 ;算法关键
004C04F2|.8B45 E4 MOV EAX,DWORD PTR SS: ;(ASCII "0383F8GG")
004C04F5|.8D4D E8 LEA ECX,DWORD PTR SS:
004C04F8|.BA 03000000 MOV EDX,3 ;长度3
004C04FD|.E8 9A96F7FF CALL EMailFin.00439B9C ;前三位
004C0502|.FF75 E8 PUSH DWORD PTR SS: ;(ASCII "038"),设为H
004C0505|.6A 01 PUSH 1
004C0507|.8D45 DC LEA EAX,DWORD PTR SS:
004C050A|.50 PUSH EAX
004C050B|.B9 01000000 MOV ECX,1
004C0510|.BA 01000000 MOV EDX,1
004C0515|.8B45 FC MOV EAX,DWORD PTR SS: ;机器码(ASCII "0383F9FF")
004C0518|.E8 0BDFFFFF CALL EMailFin.004BE428
004C051D|.8B45 DC MOV EAX,DWORD PTR SS:
004C0520|.8D4D E0 LEA ECX,DWORD PTR SS: ;(ASCII "0383F8GG")
004C0523|.BA 03000000 MOV EDX,3 ;长度3
004C0528|.E8 8B96F7FF CALL EMailFin.00439BB8 ;后三位
004C052D|.FF75 E0 PUSH DWORD PTR SS: ;(ASCII "8GG"),设为F
004C0530|.8D45 D8 LEA EAX,DWORD PTR SS:
004C0533|.50 PUSH EAX
004C0534|.6A 01 PUSH 1
004C0536|.8D45 D4 LEA EAX,DWORD PTR SS:
004C0539|.50 PUSH EAX
004C053A|.B9 01000000 MOV ECX,1
004C053F|.BA 01000000 MOV EDX,1
004C0544|.8B45 FC MOV EAX,DWORD PTR SS: ;机器码(ASCII "0383F9FF")
004C0547|.E8 38DEFFFF CALL EMailFin.004BE384
004C054C|.8B45 D4 MOV EAX,DWORD PTR SS: ; |(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: ;(ASCII "83"),设为S
004C0561|.8D45 EC LEA EAX,DWORD PTR SS:
004C0564|.BA 03000000 MOV EDX,3 ;3个组成部分
004C0569|.E8 3243F4FF CALL EMailFin.004048A0 ;拼接注册码(即H+F+S)
004C056E|.8B55 EC MOV EDX,DWORD PTR SS: ;(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:
004C057C|.8B4D F8 MOV ECX,DWORD PTR SS:
004C057F|.BA 7C064C00 MOV EDX,EMailFin.004C067C ;这套终极邮件搜索大师已注册给:
004C0584|.E8 A342F4FF CALL EMailFin.0040482C
004C0589|.8B55 D0 MOV EDX,DWORD PTR SS:
004C058C|.8B83 FC030000 MOV EAX,DWORD PTR DS:
004C0592|.E8 3DFCF7FF CALL EMailFin.004401D4
004C0597|.B2 01 MOV DL,1
004C0599|.8B83 FC030000 MOV EAX,DWORD PTR DS:
004C059F|.E8 20FBF7FF CALL EMailFin.004400C4
004C05A4|.C605 104E4C00>MOV BYTE PTR DS:,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:,EDX
004C05BA|.68 D4054C00 PUSH EMailFin.004C05D4
004C05BF|>8D45 D0 LEA EAX,DWORD PTR SS:
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:,EBX
004BE392|.894D F8 MOV DWORD PTR SS:,ECX
004BE395|.8BF2 MOV ESI,EDX
004BE397|.8945 FC MOV DWORD PTR SS:,EAX ;机器码(ASCII "0383F9FF")
004BE39A|.8B7D 08 MOV EDI,DWORD PTR SS:
004BE39D|.33C0 XOR EAX,EAX
004BE39F|.55 PUSH EBP
004BE3A0|.68 17E44B00 PUSH EMailFin.004BE417
004BE3A5|.64:FF30 PUSH DWORD PTR FS:
004BE3A8|.64:8920 MOV DWORD PTR FS:,ESP
004BE3AB|.8BC7 MOV EAX,EDI
004BE3AD|.E8 7661F4FF CALL EMailFin.00404528
004BE3B2|.8B45 FC MOV EAX,DWORD PTR SS: ;机器码(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:,AL ;AL=8
004BE3C1|.B3 01 MOV BL,1 ;BL=1
004BE3C3|>8D45 F0 /LEA EAX,DWORD PTR SS:
004BE3C6|.33D2 |XOR EDX,EDX
004BE3C8|.8AD3 |MOV DL,BL
004BE3CA|.8B4D FC |MOV ECX,DWORD PTR SS: ;机器码(ASCII "0383F9FF")
004BE3CD|.8A5411 FF |MOV DL,BYTE PTR DS: ;逐位取
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: ;当前字符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:
004BE3ED|.0FB64402 FF |MOVZX EAX,BYTE PTR DS: ;先零扩展,再传送
004BE3F2|.03F0 |ADD ESI,EAX
004BE3F4|.0FAF75 F8 |IMUL ESI,DWORD PTR SS: ;整数乘法
004BE3F8|.0375 0C |ADD ESI,DWORD PTR SS: ;加法
004BE3FB|.43 |INC EBX
004BE3FC|.FE4D F7 |DEC BYTE PTR SS:
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:,EDX
004BE409|.68 1EE44B00 PUSH EMailFin.004BE41E
004BE40E|>8D45 F0 LEA EAX,DWORD PTR SS:
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 沙发没人坐,我先来坐. 学习一下,支持 支持一下。。。 感谢分享了,学习一下了
页:
[1]