菜鸟算法5
【文章标题】: 超级百科知识算法分析【文章作者】: 千里之外
【作者邮箱】: [email protected]
【作者主页】: www.wm5.net.cn
【作者QQ号】: 506398911
【软件名称】: 超级百科知识
【下载地址】: http://free.ys168.com/?506398911
【保护方式】: 注册码
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD PEID
【操作平台】: WINXP2
【作者声明】: 谢谢 PYG论坛的fonge大哥的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
----------------------------------------------------------------------
----------
【详细过程】
大家好这个是我刚刚接触破解时按前辈的方法爆破的第一个软件因为最近在学习算法 还有看了野猫一篇类似的文章 就拿出来分析了下 竟然大体分析出来了 呵呵在这里和大家交流下
搜索 你填写的注册码错误,请重新核对准确。\n\n如果你是软件注册用户,请与作
者联系。很快来到这里
00536E42|.55 PUSH EBP
00536E43|.68 8C705300 PUSH kxcd.0053708C
00536E48|.64:FF30 PUSH DWORD PTR FS:
00536E4B|.64:8920 MOV DWORD PTR FS:,ESP
00536E4E|.68 80000000 PUSH 80 ; /BufSize = 80 (128.)
00536E53|.8D85 7BFFFFFF LEA EAX,DWORD PTR SS: ; |
00536E59|.50 PUSH EAX ; |Buffer
00536E5A|.E8 7D02EDFF CALL <JMP.&kernel32.GetSystemDirectoryA> ; \GetSystemDirectoryA
00536E5F|.8D45 FC LEA EAX,DWORD PTR SS:
00536E62|.8D95 7BFFFFFF LEA EDX,DWORD PTR SS:
00536E68|.B9 81000000 MOV ECX,81
00536E6D|.E8 DADBECFF CALL kxcd.00404A4C
00536E72|.8D95 74FFFFFF LEA EDX,DWORD PTR SS:
00536E78|.8B83 00030000 MOV EAX,DWORD PTR DS:
00536E7E|.E8 39F1F0FF CALL kxcd.00445FBC
00536E83|.83BD 74FFFFFF>CMP DWORD PTR SS:,0
00536E8A|.74 1A JE SHORT kxcd.00536EA6
00536E8C|.8D95 70FFFFFF LEA EDX,DWORD PTR SS:
00536E92|.8B83 04030000 MOV EAX,DWORD PTR DS:
00536E98|.E8 1FF1F0FF CALL kxcd.00445FBC
00536E9D|.83BD 70FFFFFF>CMP DWORD PTR SS:,0
00536EA4|.75 0F JNZ SHORT kxcd.00536EB5
00536EA6|>B8 A4705300 MOV EAX,kxcd.005370A4 ;注册信息没有填写完毕!
00536EAB|.E8 0083F0FF CALL kxcd.0043F1B0
00536EB0|.E9 5F010000 JMP kxcd.00537014
00536EB5|>8D95 6CFFFFFF LEA EDX,DWORD PTR SS:
00536EBB|.8B83 04030000 MOV EAX,DWORD PTR DS:
00536EC1|.E8 F6F0F0FF CALL kxcd.00445FBC
00536EC6|.8B85 6CFFFFFF MOV EAX,DWORD PTR SS:
00536ECC|.50 PUSH EAX
00536ECD|.8D95 64FFFFFF LEA EDX,DWORD PTR SS:
00536ED3|.8B83 00030000 MOV EAX,DWORD PTR DS: ;XZS
00536ED9|.E8 DEF0F0FF CALL kxcd.00445FBC
00536EDE|.8B85 64FFFFFF MOV EAX,DWORD PTR SS:
00536EE4|.E8 0F25EDFF CALL kxcd.004093F8
00536EE9|.B9 BF000000 MOV ECX,0BF ;OBF
00536EEE|.99 CDQ
00536EEF|.F7F9 IDIV ECX ;123456的16进制/BF 余数送DL=46
00536EF1|.8BC2 MOV EAX,EDX
00536EF3|.8D95 68FFFFFF LEA EDX,DWORD PTR SS:
00536EF9|.E8 9624EDFF CALL kxcd.00409394 ;46转为10进制70
00536EFE|.8D85 68FFFFFF LEA EAX,DWORD PTR SS:
00536F04|.50 PUSH EAX
00536F05|.8D95 58FFFFFF LEA EDX,DWORD PTR SS:
00536F0B|.8B83 00030000 MOV EAX,DWORD PTR DS: ;XZS
00536F11|.E8 A6F0F0FF CALL kxcd.00445FBC
00536F16|.8B85 58FFFFFF MOV EAX,DWORD PTR SS:
00536F1C|.E8 D724EDFF CALL kxcd.004093F8
00536F21|.8D95 5CFFFFFF LEA EDX,DWORD PTR SS:
00536F27|.E8 30FBFFFF CALL kxcd.00536A5C ;第一个算法CALL
00536F2C|.8B85 5CFFFFFF MOV EAX,DWORD PTR SS: ;70648174
00536F32|.E8 C124EDFF CALL kxcd.004093F8
00536F37|.8D95 60FFFFFF LEA EDX,DWORD PTR SS:
00536F3D|.E8 FAFBFFFF CALL kxcd.00536B3C ;第二个算法CALL
00536F42|.8B95 60FFFFFF MOV EDX,DWORD PTR SS: ;36l5u412~f1449
00536F48|.58 POP EAX
00536F49|.E8 56DBECFF CALL kxcd.00404AA4
00536F4E|.8B95 68FFFFFF MOV EDX,DWORD PTR SS: ;7036l5u412~f1449多了个70
00536F54|.58 POP EAX
00536F55|.E8 86DCECFF CALL kxcd.00404BE0
00536F5A|.0F85 9D000000 JNZ kxcd.00536FFD
00536F60|.B8 C4705300 MOV EAX,kxcd.005370C4 ;注册成功,谢谢您的注册!
00536F65|.E8 4682F0FF CALL kxcd.0043F1B0
00536F6A|.8BC3 MOV EAX,EBX
00536F6C|.E8 37C9F2FF CALL kxcd.004638A8
00536F71|.A1 18CF5300 MOV EAX,DWORD PTR DS:
00536F76|.8B00 MOV EAX,DWORD PTR DS:
00536F78|.8B80 B4030000 MOV EAX,DWORD PTR DS:
00536F7E|.BA E8705300 MOV EDX,kxcd.005370E8 ;软件已注册
00536F83|.E8 64F0F0FF CALL kxcd.00445FEC
00536F88|.8D85 54FFFFFF LEA EAX,DWORD PTR SS:
00536F8E|.B9 FC705300 MOV ECX,kxcd.005370FC ;\koat.t1b
00536F93|.8B55 FC MOV EDX,DWORD PTR SS:
00536F96|.E8 4DDBECFF CALL kxcd.00404AE8
00536F9B|.8B8D 54FFFFFF MOV ECX,DWORD PTR SS:
00536FA1|.B2 01 MOV DL,1
00536FA3|.A1 5C944600 MOV EAX,DWORD PTR DS:
00536FA8|.E8 5F25F3FF CALL kxcd.0046950C
00536FAD|.8BF0 MOV ESI,EAX
00536FAF|.8D95 50FFFFFF LEA EDX,DWORD PTR SS:
00536FB5|.8B83 00030000 MOV EAX,DWORD PTR DS:
00536FBB|.E8 FCEFF0FF CALL kxcd.00445FBC
00536FC0|.8B85 50FFFFFF MOV EAX,DWORD PTR SS:
00536FC6|.50 PUSH EAX
00536FC7|.B9 10715300 MOV ECX,kxcd.00537110 ;s532567
00536FCC|.BA 20715300 MOV EDX,kxcd.00537120 ;sy54m
00536FD1|.8BC6 MOV EAX,ESI
00536FD3|.8B18 MOV EBX,DWORD PTR DS:
00536FD5|.FF53 04 CALL DWORD PTR DS:
00536FD8|.8D85 4CFFFFFF LEA EAX,DWORD PTR SS:
00536FDE|.B9 FC705300 MOV ECX,kxcd.005370FC ;\koat.t1b
00536FE3|.8B55 FC MOV EDX,DWORD PTR SS:
00536FE6|.E8 FDDAECFF CALL kxcd.00404AE8
00536FEB|.8B85 4CFFFFFF MOV EAX,DWORD PTR SS:
00536FF1|.BA 02000000 MOV EDX,2
00536FF6|.E8 4526EDFF CALL kxcd.00409640
00536FFB|.EB 17 JMP SHORT kxcd.00537014
00536FFD|>B8 30715300 MOV EAX,kxcd.00537130 ;你填写的注册码错误,请重新核对准确。\n\n如果你是软件注册用户,请与作者联系。
00537002|.E8 A981F0FF CALL kxcd.0043F1B0
00537007|.33D2 XOR EDX,EDX
00537009|.8B83 04030000 MOV EAX,DWORD PTR DS:
0053700F|.E8 D8EFF0FF CALL kxcd.00445FEC
00537014|>33C0 XOR EAX,EAX
00537016|.5A POP EDX
第一个算法CALL
00536A5C/$55 PUSH EBP
00536A5D|.8BEC MOV EBP,ESP
00536A5F|.33C9 XOR ECX,ECX
00536A61|.51 PUSH ECX
00536A62|.51 PUSH ECX
00536A63|.51 PUSH ECX
00536A64|.51 PUSH ECX
00536A65|.53 PUSH EBX
00536A66|.56 PUSH ESI
00536A67|.8BF2 MOV ESI,EDX
00536A69|.8BD8 MOV EBX,EAX
00536A6B|.33C0 XOR EAX,EAX
00536A6D|.55 PUSH EBP
00536A6E|.68 2C6B5300 PUSH kxcd.00536B2C
00536A73|.64:FF30 PUSH DWORD PTR FS:
00536A76|.64:8920 MOV DWORD PTR FS:,ESP
00536A79|.81F3 F1250B00 XOR EBX,0B25F1 ;123456的16进制 XOR B25F1=AC7B1
00536A7F|.8BC3 MOV EAX,EBX
00536A81|.33D2 XOR EDX,EDX
00536A83|.52 PUSH EDX ; /Arg2 => 00000000
00536A84|.50 PUSH EAX ; |Arg1
00536A85|.8D45 FC LEA EAX,DWORD PTR SS: ; |
00536A88|.E8 3729EDFF CALL kxcd.004093C4 ; \将上面的数转化为10进制 706481
00536A8D|.8B45 FC MOV EAX,DWORD PTR SS:
00536A90|.0FB600 MOVZX EAX,BYTE PTR DS: ;第一个字符737(16进制)
00536A93|.8B55 FC MOV EDX,DWORD PTR SS:
00536A96|.0FB652 01 MOVZX EDX,BYTE PTR DS: ;第2个字符030(16进制)
00536A9A|.03C2 ADD EAX,EDX ;eax=37+30=67
00536A9C|.B9 05000000 MOV ECX,5
00536AA1|.99 CDQ
00536AA2|.F7F9 IDIV ECX ;67/5 余数送DL=3
00536AA4|.80C2 34 ADD DL,34 ;DL=3+34=37
00536AA7|.8855 F8 MOV BYTE PTR SS:,DL ;字符7
00536AAA|.8B45 FC MOV EAX,DWORD PTR SS:
00536AAD|.0FB640 02 MOVZX EAX,BYTE PTR DS: ;第3个字符6 36(16进制)
00536AB1|.8B55 FC MOV EDX,DWORD PTR SS:
00536AB4|.0FB652 03 MOVZX EDX,BYTE PTR DS: ;第4个字符434(16进制)
00536AB8|.03C2 ADD EAX,EDX ;eax=36+34=6a
00536ABA|.B9 05000000 MOV ECX,5
00536ABF|.99 CDQ
00536AC0|.F7F9 IDIV ECX ;6a/5 余数送DL=1
00536AC2|.8BDA MOV EBX,EDX
00536AC4|.80C3 33 ADD BL,33 ;bl=1+33=34
00536AC7|.885D F9 MOV BYTE PTR SS:,BL ;字符4
00536ACA|.8D45 F4 LEA EAX,DWORD PTR SS:
00536ACD|.8A55 F8 MOV DL,BYTE PTR SS:
00536AD0|.E8 EFDEECFF CALL kxcd.004049C4
00536AD5|.8B45 F4 MOV EAX,DWORD PTR SS:
00536AD8|.8D55 FC LEA EDX,DWORD PTR SS:
00536ADB|.B9 1B000000 MOV ECX,1B
00536AE0|.E8 97E2ECFF CALL kxcd.00404D7C
00536AE5|.8D45 F0 LEA EAX,DWORD PTR SS:
00536AE8|.8BD3 MOV EDX,EBX
00536AEA|.E8 D5DEECFF CALL kxcd.004049C4
00536AEF|.8B45 F0 MOV EAX,DWORD PTR SS:
00536AF2|.8D55 FC LEA EDX,DWORD PTR SS:
00536AF5|.B9 19000000 MOV ECX,19
00536AFA|.E8 7DE2ECFF CALL kxcd.00404D7C
00536AFF|.8BC6 MOV EAX,ESI
00536B01|.8B55 FC MOV EDX,DWORD PTR SS: ;706481与74相连得 70648174
00536B04|.E8 2FDDECFF CALL kxcd.00404838
00536B09|.33C0 XOR EAX,EAX
第2个算法CALL
00536B3C/$55 PUSH EBP
00536B3D|.8BEC MOV EBP,ESP
00536B3F|.33C9 XOR ECX,ECX
00536B41|.51 PUSH ECX
00536B42|.51 PUSH ECX
00536B43|.51 PUSH ECX
00536B44|.51 PUSH ECX
00536B45|.51 PUSH ECX
00536B46|.51 PUSH ECX
00536B47|.53 PUSH EBX
00536B48|.56 PUSH ESI
00536B49|.8BF2 MOV ESI,EDX
00536B4B|.8BD8 MOV EBX,EAX
00536B4D|.33C0 XOR EAX,EAX
00536B4F|.55 PUSH EBP
00536B50|.68 886C5300 PUSH kxcd.00536C88
00536B55|.64:FF30 PUSH DWORD PTR FS:
00536B58|.64:8920 MOV DWORD PTR FS:,ESP
00536B5B|.81F3 8776FBDD XOR EBX,DDFB7687 ;70648174的16进制 xor ddfb7687=D9CD77E9
00536B61|.8BC3 MOV EAX,EBX
00536B63|.33D2 XOR EDX,EDX
00536B65|.52 PUSH EDX ; /Arg2 => 00000000
00536B66|.50 PUSH EAX ; |Arg1
00536B67|.8D45 FC LEA EAX,DWORD PTR SS: ; |
00536B6A|.E8 5528EDFF CALL kxcd.004093C4 ; \将上面的数转化为10进制 3654121449
00536B6F|.8B45 FC MOV EAX,DWORD PTR SS:
00536B72|.0FB600 MOVZX EAX,BYTE PTR DS: ;第一个字符333(16进制)
00536B75|.8B55 FC MOV EDX,DWORD PTR SS:
00536B78|.0FB652 01 MOVZX EDX,BYTE PTR DS: ;第2个字符636
00536B7C|.03C2 ADD EAX,EDX ;69
00536B7E|.B9 05000000 MOV ECX,5
00536B83|.99 CDQ
00536B84|.F7F9 IDIV ECX ;69/5 余数送DL=0
00536B86|.80C2 66 ADD DL,66 ;66
00536B89|.8855 F8 MOV BYTE PTR SS:,DL ;字符 f
00536B8C|.8B45 FC MOV EAX,DWORD PTR SS:
00536B8F|.0FB640 02 MOVZX EAX,BYTE PTR DS: ;第3个字符 535(16进制)
00536B93|.8B55 FC MOV EDX,DWORD PTR SS:
00536B96|.0FB652 03 MOVZX EDX,BYTE PTR DS: ;第4个字符4 34(16进制)
00536B9A|.03C2 ADD EAX,EDX
00536B9C|.B9 05000000 MOV ECX,5
00536BA1|.99 CDQ
00536BA2|.F7F9 IDIV ECX ;69/5 余数送DL=0
00536BA4|.80C2 75 ADD DL,75 ;75
00536BA7|.8855 F9 MOV BYTE PTR SS:,DL ;字符u
00536BAA|.8B45 FC MOV EAX,DWORD PTR SS:
00536BAD|.0FB640 04 MOVZX EAX,BYTE PTR DS: ;第5个字符131(16进制)
00536BB1|.8B55 FC MOV EDX,DWORD PTR SS:
00536BB4|.0FB652 05 MOVZX EDX,BYTE PTR DS: ;第6个字符232(16进制)
00536BB8|.03C2 ADD EAX,EDX
00536BBA|.B9 05000000 MOV ECX,5
00536BBF|.99 CDQ
00536BC0|.F7F9 IDIV ECX ;63/5 余数送DL=4
00536BC2|.80C2 7A ADD DL,7A ;4+7A=7E
00536BC5|.8855 FA MOV BYTE PTR SS:,DL ;字符 ~
00536BC8|.8B45 FC MOV EAX,DWORD PTR SS:
00536BCB|.0FB640 06 MOVZX EAX,BYTE PTR DS: ;第7个字符131(16进制)
00536BCF|.8B55 FC MOV EDX,DWORD PTR SS:
00536BD2|.0FB652 07 MOVZX EDX,BYTE PTR DS: ;第8个字符4 34(16进制)
00536BD6|.03C2 ADD EAX,EDX ;65
00536BD8|.8B55 FC MOV EDX,DWORD PTR SS:
00536BDB|.0FB652 08 MOVZX EDX,BYTE PTR DS: ;第9个字符434
00536BDF|.03C2 ADD EAX,EDX ;第7 8 9字符的16进制相加=99
00536BE1|.B9 05000000 MOV ECX,5
00536BE6|.99 CDQ
00536BE7|.F7F9 IDIV ECX ;99/5 余数送DL=3
00536BE9|.80C2 69 ADD DL,69 ;3+69=6C
00536BEC|.8855 FB MOV BYTE PTR SS:,DL ;字符 1
00536BEF|.8D45 F4 LEA EAX,DWORD PTR SS:
00536BF2|.8A55 F8 MOV DL,BYTE PTR SS:
00536BF5|.E8 CADDECFF CALL kxcd.004049C4
00536BFA|.8B45 F4 MOV EAX,DWORD PTR SS:
00536BFD|.8D55 FC LEA EDX,DWORD PTR SS:
00536C00|.B9 07000000 MOV ECX,7
00536C05|.E8 72E1ECFF CALL kxcd.00404D7C
00536C0A|.8D45 F0 LEA EAX,DWORD PTR SS:
00536C0D|.8A55 FB MOV DL,BYTE PTR SS:
00536C10|.E8 AFDDECFF CALL kxcd.004049C4
00536C15|.8B45 F0 MOV EAX,DWORD PTR SS:
00536C18|.8D55 FC LEA EDX,DWORD PTR SS:
00536C1B|.B9 03000000 MOV ECX,3
00536C20|.E8 57E1ECFF CALL kxcd.00404D7C
00536C25|.8D45 EC LEA EAX,DWORD PTR SS:
00536C28|.8A55 F9 MOV DL,BYTE PTR SS:
00536C2B|.E8 94DDECFF CALL kxcd.004049C4
00536C30|.8B45 EC MOV EAX,DWORD PTR SS:
00536C33|.8D55 FC LEA EDX,DWORD PTR SS:
00536C36|.B9 05000000 MOV ECX,5
00536C3B|.E8 3CE1ECFF CALL kxcd.00404D7C
00536C40|.8D45 E8 LEA EAX,DWORD PTR SS:
00536C43|.8A55 FA MOV DL,BYTE PTR SS:
00536C46|.E8 79DDECFF CALL kxcd.004049C4
00536C4B|.8B45 E8 MOV EAX,DWORD PTR SS:
00536C4E|.8D55 FC LEA EDX,DWORD PTR SS:
00536C51|.B9 09000000 MOV ECX,9
00536C56|.E8 21E1ECFF CALL kxcd.00404D7C
00536C5B|.8BC6 MOV EAX,ESI
00536C5D|.8B55 FC MOV EDX,DWORD PTR SS:
00536C60|.E8 D3DBECFF CALL kxcd.00404838
00536C65|.33C0 XOR EAX,EAX
00536C67|.5A POP EDX
00536C68|.59 POP ECX
00536C69|.59 POP ECX
00536C6A|.64:8910 MOV DWORD PTR FS:,EDX
00536C6D|.68 8F6C5300 PUSH kxcd.00536C8F
00536C72|>8D45 E8 LEA EAX,DWORD PTR SS:
00536C75|.BA 04000000 MOV EDX,4
00536C7A|.E8 89DBECFF CALL kxcd.00404808
00536C7F|.8D45 FC LEA EAX,DWORD PTR SS:
00536C82|.E8 5DDBECFF CALL kxcd.004047E4
00536C87\.C3 RETN
00536C88 .^ E9 FBD3ECFF JMP kxcd.00404088
00536C8D .^ EB E3 JMP SHORT kxcd.00536C72
00536C8F .5E POP ESI
--------------------------------------------------------------------------------
【经验总结】
我的假确定码 123456注册码 123
1.将确定码123456的16进制/BF 余数送DL=46在将46转化为10进制70记做X
2.将确定码123456的16进制 XOR B25F1=AC7B1转化为10进制 706481取它的第1和2位 16进制ASIIC相加/5 余数加34 转
化为字符‘7’
再取它的第3和4位16进制ASIIC相加/5 余数加33 转化为字符 ‘4’ 然后706481与74相连得 70648174记做Y
3.Y的16进制 xor ddfb7687=D9CD77E9 转化为10进制3654121449 记做M
取它的第1和2位 16进制ASIIC相加/5 余数加66 转化为字符'f'
取它的第3和4位 16进制ASIIC相加/5 余数加75 转化为字符'u'
取它的第5和6位 16进制ASIIC相加/5 余数加7a 转化为字符'~'
取它的第7 8 9位 16进制ASIIC相加/5 余数加69 转化为字符'1'
得到字符fu~1记做Z
4.Z 与 M 适当组合后加 上X 就是注册码即 fu~1与3654121449 适当组合后加 上70 就是注册码
注册码这样排列 7036+'1'+54+'u'+412+'~f'+1449 我的注册码就是 7036l5u412~f1449
【版权声明】:谢谢 PYG论坛的fonge大哥的热心指导 没有你 我也许离写出算法还很远 再次感谢 祝好人一生平安
12:59:38
[ 本帖最后由 千里之外 于 2007-5-28 13:37 编辑 ] 向楼主学习。 好教程! 不错.... 看了以后才知道需要倍加努力了! 写注册机呢?试试看
把算法代码还原成源码原形! 这个我初学易语言 注册机还不会写/:02 请 FONGE大哥帮下忙 /:09 很好,值得我们这些新手们学习。 你的算法分析我一直在看,努力学习中 呵呵,进步还不小,我们这些人还要努力啊。
页:
[1]