简单算法6
【文章标题】: 简单算法6【文章作者】: 千里之外
【作者邮箱】: [email protected]
【作者主页】: www.wm5.net.cn
【作者QQ号】: 506398911
【软件名称】: IE终极加速内存
【加壳方式】: UPX
【保护方式】: 注册码
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD PEID
【作者声明】:谢谢 fonge版主的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
--------------------------------------------------------------------------------
【详细过程】
大家好我是千里之外这个软件其实没什么算法 我只是试这分析了下 呵呵 不足之处请大家指教
0049946C .55 PUSH EBP
0049946D .8BEC MOV EBP,ESP
0049946F .B9 0A000000 MOV ECX,0A
00499474 >6A 00 PUSH 0
00499476 .6A 00 PUSH 0
00499478 .49 DEC ECX
00499479 .^ 75 F9 JNZ SHORT 1.00499474
0049947B .51 PUSH ECX
0049947C .53 PUSH EBX
0049947D .56 PUSH ESI
0049947E .57 PUSH EDI
0049947F .8945 FC MOV DWORD PTR SS:,EAX
00499482 .33C0 XOR EAX,EAX
00499484 .55 PUSH EBP
00499485 .68 75984900 PUSH 1.00499875
0049948A .64:FF30 PUSH DWORD PTR FS:
0049948D .64:8920 MOV DWORD PTR FS:,ESP
00499490 .8D55 E4 LEA EDX,DWORD PTR SS:
00499493 .8B45 FC MOV EAX,DWORD PTR SS:
00499496 .8B80 00030000 MOV EAX,DWORD PTR DS:
0049949C .E8 A385FAFF CALL 1.00441A44
004994A1 .8B45 E4 MOV EAX,DWORD PTR SS:
004994A4 .E8 87B5F6FF CALL 1.00404A30
004994A9 .05 57040000 ADD EAX,457 EAX=用户名位数+457
004994AE .8D55 E8 LEA EDX,DWORD PTR SS:
004994B1 .E8 06FBF6FF CALL 1.00408FBC 将EAX中的数转换为10进制记做@ 后面要用到的
004994B6 .8D55 E0 LEA EDX,DWORD PTR SS:
004994B9 .8B45 FC MOV EAX,DWORD PTR SS:
004994BC .8B80 00030000 MOV EAX,DWORD PTR DS:
004994C2 .E8 7D85FAFF CALL 1.00441A44
004994C7 .8B45 E0 MOV EAX,DWORD PTR SS:
004994CA .BA 8C984900 MOV EDX,1.0049988C ;ASCII "DiSTiNCT"
004994CF .E8 A0B6F6FF CALL 1.00404B74
004994D4 .0F84 EA020000 JE 1.004997C4
004994DA .8D55 DC LEA EDX,DWORD PTR SS:
004994DD .8B45 FC MOV EAX,DWORD PTR SS:
004994E0 .8B80 00030000 MOV EAX,DWORD PTR DS:
004994E6 .E8 5985FAFF CALL 1.00441A44
004994EB .8B45 DC MOV EAX,DWORD PTR SS:
004994EE .BA A0984900 MOV EDX,1.004998A0 ;team insane
004994F3 .E8 7CB6F6FF CALL 1.00404B74
004994F8 .0F84 C6020000 JE 1.004997C4
004994FE .8D55 D8 LEA EDX,DWORD PTR SS:
00499501 .8B45 FC MOV EAX,DWORD PTR SS:
00499504 .8B80 00030000 MOV EAX,DWORD PTR DS:
0049950A .E8 3585FAFF CALL 1.00441A44
0049950F .8B45 D8 MOV EAX,DWORD PTR SS:
00499512 .BA B4984900 MOV EDX,1.004998B4 ;tnt!2000
00499517 .E8 58B6F6FF CALL 1.00404B74
0049951C .0F84 A2020000 JE 1.004997C4
00499522 .8D55 D4 LEA EDX,DWORD PTR SS:
00499525 .8B45 FC MOV EAX,DWORD PTR SS:
00499528 .8B80 00030000 MOV EAX,DWORD PTR DS:
0049952E .E8 1185FAFF CALL 1.00441A44
00499533 .8B45 D4 MOV EAX,DWORD PTR SS:
00499536 .BA C8984900 MOV EDX,1.004998C8 ;-=demian/tnt!=-
0049953B .E8 34B6F6FF CALL 1.00404B74
00499540 .0F84 7E020000 JE 1.004997C4
00499546 .8D55 D0 LEA EDX,DWORD PTR SS:
00499549 .8B45 FC MOV EAX,DWORD PTR SS:
0049954C .8B80 00030000 MOV EAX,DWORD PTR DS:
00499552 .E8 ED84FAFF CALL 1.00441A44
00499557 .8B45 D0 MOV EAX,DWORD PTR SS:
0049955A .BA E0984900 MOV EDX,1.004998E0 ;-=demian/tnt!=-
0049955F .E8 10B6F6FF CALL 1.00404B74
00499564 .0F84 5A020000 JE 1.004997C4
0049956A .8D55 CC LEA EDX,DWORD PTR SS:
0049956D .8B45 FC MOV EAX,DWORD PTR SS:
00499570 .8B80 00030000 MOV EAX,DWORD PTR DS:
00499576 .E8 C984FAFF CALL 1.00441A44
0049957B .8B45 CC MOV EAX,DWORD PTR SS:
0049957E .BA FC984900 MOV EDX,1.004998FC ;distinct
00499583 .E8 ECB5F6FF CALL 1.00404B74
00499588 .0F84 36020000 JE 1.004997C4
0049958E .8D55 C8 LEA EDX,DWORD PTR SS:
00499591 .8B45 FC MOV EAX,DWORD PTR SS:
00499594 .8B80 00030000 MOV EAX,DWORD PTR DS:
0049959A .E8 A584FAFF CALL 1.00441A44
0049959F .8B45 C8 MOV EAX,DWORD PTR SS:
004995A2 .BA 10994900 MOV EDX,1.00499910 ;tmg
004995A7 .E8 C8B5F6FF CALL 1.00404B74 上面的是黑名单 大写的哦
004995AC .0F84 12020000 JE 1.004997C4
004995B2 .68 1C994900 PUSH 1.0049991C ;固定字符 C
004995B7 .8B45 FC MOV EAX,DWORD PTR SS:
004995BA .FFB0 2C030000 PUSH DWORD PTR DS: ;固定字符 MW
004995C0 .68 28994900 PUSH 1.00499928 ;固定字符 20
004995C5 .FF75 E8 PUSH DWORD PTR SS: ;这里是“@”
004995C8 .68 34994900 PUSH 1.00499934 ;固定字符 -
004995CD .8D55 C0 LEA EDX,DWORD PTR SS:
004995D0 .8B45 FC MOV EAX,DWORD PTR SS:
004995D3 .8B80 00030000 MOV EAX,DWORD PTR DS:
004995D9 .E8 6684FAFF CALL 1.00441A44
004995DE .8B45 C0 MOV EAX,DWORD PTR SS:
004995E1 .8D55 C4 LEA EDX,DWORD PTR SS:
004995E4 .E8 E3FDFFFF CALL 1.004993CC ;取用户名的ASCII16进制 hack(6861636B)
004995E9 .FF75 C4 PUSH DWORD PTR SS:
004995EC .8D45 EC LEA EAX,DWORD PTR SS:
004995EF .BA 06000000 MOV EDX,6 ;EDX=6
004995F4 .E8 F7B4F6FF CALL 1.00404AF0
004995F9 .8D45 E8 LEA EAX,DWORD PTR SS:
004995FC .BA 40994900 MOV EDX,1.00499940 ;\system32\spool\drivers\w32x86\2\riched20.dll setactiveeditcontrolfont, arial, 30
00499601 .E8 0AB2F6FF CALL 1.00404810
00499606 .8D55 BC LEA EDX,DWORD PTR SS:
00499609 .8B45 FC MOV EAX,DWORD PTR SS:
0049960C .8B80 04030000 MOV EAX,DWORD PTR DS:
00499612 .E8 2D84FAFF CALL 1.00441A44 ;将两部分(CMW201115-和6861636B) 连接
00499617 .8B55 BC MOV EDX,DWORD PTR SS:
0049961A .8B45 EC MOV EAX,DWORD PTR SS:
0049961D .E8 4AB7F6FF CALL 1.00404D6C
00499622 .85C0 TEST EAX,EAX
00499624 .0F84 9A010000 JE 1.004997C4
0049962A .8B45 FC MOV EAX,DWORD PTR SS:
0049962D .8B80 04030000 MOV EAX,DWORD PTR DS:
00499633 .33D2 XOR EDX,EDX
00499635 .E8 3A84FAFF CALL 1.00441A74
0049963A .8D45 EC LEA EAX,DWORD PTR SS:
0049963D .E8 36B1F6FF CALL 1.00404778
00499642 .6A 00 PUSH 0
00499644 .68 94994900 PUSH 1.00499994 ;registration success!
00499649 .68 AC994900 PUSH 1.004999AC ; thank you for your support.\nwe will work even harder and\nnotify you future releases.
0049964E .8B45 FC MOV EAX,DWORD PTR SS:
00499651 .E8 B6EAFAFF CALL 1.0044810C
00499656 .50 PUSH EAX ; |hOwner
00499657 .E8 C0E0F6FF CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
0049965C .8B45 FC MOV EAX,DWORD PTR SS:
0049965F .C680 31030000>MOV BYTE PTR DS:,0
00499666 .B2 01 MOV DL,1
00499668 .A1 48DD4600 MOV EAX,DWORD PTR DS:
0049966D .E8 D647FDFF CALL 1.0046DE48
--------------------------------------------------------------------------------
【经验总结】
1.软件有黑名单 要是用户名和黑名单中的一样就注册失败了 呵呵
2.将用户名位数+457 然后转化为10进制数 记做 @取用户名的ASCII16进制 记做 $
3.注册码是固定字符 "CMW20"+"@"+"-"+"$"
比如 用户名 hack注册码 CMW201115-6861636B
黑名单如下
DiSTiNCT
Team iNSaNE
TNT!2000
-=Demian/TNT!=-(这个出现了两遍好像作者和它有仇似的呵呵)
DiSTiNCT
TMG
--------------------------------------------------------------------------------
【版权声明】:谢谢 fonge版主的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
2007年06月07日 13:49:32
易语言注册机(这个要非常谢谢秋风下的落叶)虽然算法如此简单但写这个注册机时却遇到了不少麻烦 多亏了秋风姐姐的帮助 送朵鲜花给姐姐 (其实我比你大 呵呵)/:09
.版本 2
.局部变量 long, 整数型
.局部变量 a, 整数型
.局部变量 b, 整数型
.局部变量 变量, 整数型
.局部变量 c, 文本型
long = 取文本长度 (编辑框1.内容)
a = long + 1111
.计次循环首 (long, 变量)
c = c + 取十六进制文本 (取代码 (编辑框1.内容, 变量))
.计次循环尾 ()
编辑框2.内容 = “CMW20” + 到文本 (a) + “-” + c
[ 本帖最后由 千里之外 于 2007-6-7 15:52 编辑 ] 算法分析,还有算法注册机,兄弟强啊~!
学习了,支持你下~!
以后有时间要多教我啊~! 2楼兄弟,给楼主整一段delphi的注册机代码吧! 都收藏了,希望能多看点算法啊 哈,学习下啦,期待楼主再出新贴呵 顶啊~慢慢学算法中...好希望有个高人指点下 易语言入门相对很容易/:12 楼主不错的算法 原帖由 fonge 于 2007-6-8 20:03 发表 https://www.chinapyg.com/images/common/back.gif
2楼兄弟,给楼主整一段delphi的注册机代码吧!
大哥,不用这样吧?你知道我是菜到家的那种类型的~!/:02
看我签名是那样,我只是想让自己更有信心,更有动力,看来还是改回来~!
[ 本帖最后由 小子贼野 于 2007-6-17 05:49 编辑 ] 004994A9 .05 57040000 ADD EAX,457 EAX=用户名位数+457
这句 应该是 EAX=用户名位数+1111 把 ,LZ 可能是疏忽了 ,加油继续努力
页:
[1]