lhl8730 发表于 2006-4-28 18:22:16

精装友情通讯录算法分析

【破文标题】精装友情通讯录算法分析
【破文作者】lhl8730
【作者邮箱】[email protected]
【作者主页】无
【破解工具】PEID,OD
【破解平台】XP
【软件名称】精装友情通讯录
【软件大小】1722KB
【原版下载】http://www2.skycn.com/soft/10355.html
【保护方式】注册码
【软件简介】〖精装友情通讯录〗软件是国产一个虽然简洁、但功能实用的通讯录类、电话本类软件。软件虽然精致但是功能强大,软件可能

将令你爱不释手。 软件界面精美、小巧实用、绿色精致。 通讯录可选择简洁列表、名片格式及详细列表格式三种格式显示。 支持鼠标拖放操

作,支持模糊查询,支持添加、排序等等,支持预览,支持名片录数据不同格式导出文件,支持名片资料预览,名片资料添加修改方便。 本软

件由澄海市夫子电脑工作室推荐。软件随时升级。

------------------------------------------------------------------------
这软件已有人写了爆破破文,我在这写出它的算法分析。写得不好请各位大侠多多指点。
1、查壳
用PEID查,没加壳。
2、调试跟踪算法
1)运行输入订单号:12,假码:345,按确认有‘注册失败,请重新注册’

2)OD载入,搜索字符串‘注册失败,请重新注册’向上找到‘PUSH EBP’在这下断重新运行停在这

00515279|.55            PUSH EBP
0051527A|.68 E9545100   PUSH jzyq.005154E9
0051527F|.64:FF30       PUSH DWORD PTR FS:
00515282|.64:8920       MOV DWORD PTR FS:,ESP
00515285|.68 80000000   PUSH 80                                  ; /BufSize = 80 (128.)
0051528A|.8D85 7BFFFFFF LEA EAX,DWORD PTR SS:            ; |
00515290|.50            PUSH EAX                                 ; |Buffer
00515291|.E8 B220EFFF   CALL <JMP.&kernel32.GetSystemDirectoryA> ; \GetSystemDirectoryA
00515296|.8D45 FC       LEA EAX,DWORD PTR SS:
00515299|.8D95 7BFFFFFF LEA EDX,DWORD PTR SS:
0051529F|.B9 81000000   MOV ECX,81
005152A4|.E8 DBF9EEFF   CALL jzyq.00404C84
005152A9|.8D95 74FFFFFF LEA EDX,DWORD PTR SS:
005152AF|.8B83 1C030000 MOV EAX,DWORD PTR DS:
005152B5|.E8 F2D8F2FF   CALL jzyq.00442BAC
005152BA|.83BD 74FFFFFF>CMP DWORD PTR SS:,0         注册码是否为0
005152C1|.74 1A         JE SHORT jzyq.005152DD
005152C3|.8D95 70FFFFFF LEA EDX,DWORD PTR SS:
005152C9|.8B83 10030000 MOV EAX,DWORD PTR DS:
005152CF|.E8 D8D8F2FF   CALL jzyq.00442BAC
005152D4|.83BD 70FFFFFF>CMP DWORD PTR SS:,0      订单号是否为0
005152DB|.75 0F         JNZ SHORT jzyq.005152EC
005152DD|>B8 00555100   MOV EAX,jzyq.00515500                  ;注册信息没有填写齐全
005152E2|.E8 B96AF2FF   CALL jzyq.0043BDA0
005152E7|.E9 80010000   JMP jzyq.0051546C
005152EC|>8D95 6CFFFFFF LEA EDX,DWORD PTR SS:
005152F2|.8B83 1C030000 MOV EAX,DWORD PTR DS:
005152F8|.E8 AFD8F2FF   CALL jzyq.00442BAC
005152FD|.8B85 6CFFFFFF MOV EAX,DWORD PTR SS:
00515303|.50            PUSH EAX
00515304|.8D95 60FFFFFF LEA EDX,DWORD PTR SS:
0051530A|.8B83 10030000 MOV EAX,DWORD PTR DS:
00515310|.E8 97D8F2FF   CALL jzyq.00442BAC
00515315|.8B85 60FFFFFF MOV EAX,DWORD PTR SS:
0051531B|.E8 9042EFFF   CALL jzyq.004095B0                看订单号是否全为数字,并得订单号的十六进制值
00515320|.B9 40080000   MOV ECX,840
00515325|.99            CDQ
00515326|.F7F9          IDIV ECX                           订单号的十六进制值除840,取余数
00515328|.8BC2          MOV EAX,EDX
0051532A|.8D95 64FFFFFF LEA EDX,DWORD PTR SS:
00515330|.E8 1742EFFF   CALL jzyq.0040954C                      得余数的十进制值设为h,后面有用。
00515335|.FFB5 64FFFFFF PUSH DWORD PTR SS:
0051533B|.8D95 54FFFFFF LEA EDX,DWORD PTR SS:
00515341|.8B83 10030000 MOV EAX,DWORD PTR DS:
00515347|.E8 60D8F2FF   CALL jzyq.00442BAC                     ;
0051534C|.8B85 54FFFFFF MOV EAX,DWORD PTR SS:
00515352|.E8 5942EFFF   CALL jzyq.004095B0                      看注册码是否全为数字
00515357|.8D95 58FFFFFF LEA EDX,DWORD PTR SS:
0051535D|.E8 C6FCFFFF   CALL jzyq.00515028                     ;关键CALL 1跟进
00515362|.8B85 58FFFFFF MOV EAX,DWORD PTR SS:
00515368|.E8 4342EFFF   CALL jzyq.004095B0                     ;看结果b是不是全为数字
0051536D|.8D95 5CFFFFFF LEA EDX,DWORD PTR SS:
00515373|.E8 90FDFFFF   CALL jzyq.00515108                     ;关键CALL 2跟进
00515378|.FFB5 5CFFFFFF PUSH DWORD PTR SS:
0051537E|.68 20555100   PUSH jzyq.00515520                     ;1
00515383|.8D85 68FFFFFF LEA EAX,DWORD PTR SS:
00515389|.BA 03000000   MOV EDX,3
0051538E|.E8 01FAEEFF   CALL jzyq.00404D94                     ;把结果h加在结果g的最前面,得注册码
00515393|.8B95 68FFFFFF MOV EDX,DWORD PTR SS:
00515399|.58            POP EAX
0051539A|.E8 79FAEEFF   CALL jzyq.00404E18
0051539F|.0F85 A3000000 JNZ jzyq.00515448
005153A5|.B8 2C555100   MOV EAX,jzyq.0051552C                  ;注册码正确,感谢你的注册!
005153AA|.E8 F169F2FF   CALL jzyq.0043BDA0
005153AF|.A1 109C5300   MOV EAX,DWORD PTR DS:
005153B4|.8B00          MOV EAX,DWORD PTR DS:
005153B6|.8B80 C8040000 MOV EAX,DWORD PTR DS:
005153BC|.8B80 08020000 MOV EAX,DWORD PTR DS:
005153C2|.33D2          XOR EDX,EDX
005153C4|.E8 A79BF5FF   CALL jzyq.0046EF70
005153C9|.BA 50555100   MOV EDX,jzyq.00515550                  ;精装友情-软件已注册
005153CE|.E8 F99AF5FF   CALL jzyq.0046EECC
005153D3|.8D85 50FFFFFF LEA EAX,DWORD PTR SS:
005153D9|.B9 6C555100   MOV ECX,jzyq.0051556C                  ;\hdwl21.dll
005153DE|.8B55 FC       MOV EDX,DWORD PTR SS:
005153E1|.E8 3AF9EEFF   CALL jzyq.00404D20
005153E6|.8B8D 50FFFFFF MOV ECX,DWORD PTR SS:
005153EC|.B2 01         MOV DL,1
005153EE|.A1 8C424600   MOV EAX,DWORD PTR DS:
005153F3|.E8 44EFF4FF   CALL jzyq.0046433C
005153F8|.8BF0          MOV ESI,EAX
005153FA|.8D95 4CFFFFFF LEA EDX,DWORD PTR SS:
00515400|.8B83 10030000 MOV EAX,DWORD PTR DS:
00515406|.E8 A1D7F2FF   CALL jzyq.00442BAC
0051540B|.8B85 4CFFFFFF MOV EAX,DWORD PTR SS:
00515411|.50            PUSH EAX
00515412|.B9 80555100   MOV ECX,jzyq.00515580                  ;setet567
00515417|.BA 94555100   MOV EDX,jzyq.00515594                  ;sym
0051541C|.8BC6          MOV EAX,ESI
0051541E|.8B18          MOV EBX,DWORD PTR DS:
00515420|.FF53 04       CALL DWORD PTR DS:
00515423|.8D85 48FFFFFF LEA EAX,DWORD PTR SS:
00515429|.B9 A0555100   MOV ECX,jzyq.005155A0                  ;\hdw121.dll
0051542E|.8B55 FC       MOV EDX,DWORD PTR SS:
00515431|.E8 EAF8EEFF   CALL jzyq.00404D20
00515436|.8B85 48FFFFFF MOV EAX,DWORD PTR SS:
0051543C|.BA 02000000   MOV EDX,2
00515441|.E8 9644EFFF   CALL jzyq.004098DC
00515446|.EB 24         JMP SHORT jzyq.0051546C
00515448|>B8 B4555100   MOV EAX,jzyq.005155B4                  ;注册失败,请重新注册!
0051544D|.E8 4E69F2FF   CALL jzyq.0043BDA0
00515452|.33D2          XOR EDX,EDX
00515454|.8B83 10030000 MOV EAX,DWORD PTR DS:
0051545A|.E8 7DD7F2FF   CALL jzyq.00442BDC
0051545F|.33D2          XOR EDX,EDX
00515461|.8B83 1C030000 MOV EAX,DWORD PTR DS:
00515467|.E8 70D7F2FF   CALL jzyq.00442BDC
0051546C|>33C0          XOR EAX,EAX
0051546E|.5A            POP EDX
0051546F|.59            POP ECX
00515470|.59            POP ECX
00515471|.64:8910       MOV DWORD PTR FS:,EDX
00515474|.68 F0545100   PUSH jzyq.005154F0
00515479|>8D85 48FFFFFF LEA EAX,DWORD PTR SS:
0051547F|.E8 98F5EEFF   CALL jzyq.00404A1C
00515484|.8D85 4CFFFFFF LEA EAX,DWORD PTR SS:
0051548A|.E8 8DF5EEFF   CALL jzyq.00404A1C
0051548F|.8D85 50FFFFFF LEA EAX,DWORD PTR SS:
00515495|.E8 82F5EEFF   CALL jzyq.00404A1C
0051549A|.8D85 54FFFFFF LEA EAX,DWORD PTR SS:
005154A0|.E8 77F5EEFF   CALL jzyq.00404A1C
005154A5|.8D85 58FFFFFF LEA EAX,DWORD PTR SS:
005154AB|.BA 02000000   MOV EDX,2
005154B0|.E8 8BF5EEFF   CALL jzyq.00404A40
005154B5|.8D85 60FFFFFF LEA EAX,DWORD PTR SS:
005154BB|.E8 5CF5EEFF   CALL jzyq.00404A1C
005154C0|.8D85 64FFFFFF LEA EAX,DWORD PTR SS:
005154C6|.BA 02000000   MOV EDX,2
005154CB|.E8 70F5EEFF   CALL jzyq.00404A40
005154D0|.8D85 6CFFFFFF LEA EAX,DWORD PTR SS:
005154D6|.BA 03000000   MOV EDX,3
005154DB|>E8 60F5EEFF   CALL jzyq.00404A40
005154E0|.8D45 FC       LEA EAX,DWORD PTR SS:
005154E3|.E8 34F5EEFF   CALL jzyq.00404A1C
005154E8\.C3            RETN
005154E9   .^ E9 D2EDEEFF   JMP jzyq.004042C0
005154EE   .^ EB 89         JMP SHORT jzyq.00515479
005154F0   .5E            POP ESI
005154F1   .5B            POP EBX
005154F2   .8BE5          MOV ESP,EBP
005154F4   .5D            POP EBP
跟进关键CALL 1到这
00515028/$55            PUSH EBP
00515029|.8BEC          MOV EBP,ESP
0051502B|.33C9          XOR ECX,ECX
0051502D|.51            PUSH ECX
0051502E|.51            PUSH ECX
0051502F|.51            PUSH ECX
00515030|.51            PUSH ECX
00515031|.53            PUSH EBX
00515032|.56            PUSH ESI
00515033|.8BF2          MOV ESI,EDX
00515035|.8BD8          MOV EBX,EAX
00515037|.33C0          XOR EAX,EAX
00515039|.55            PUSH EBP
0051503A|.68 F8505100   PUSH jzyq.005150F8
0051503F|.64:FF30       PUSH DWORD PTR FS:
00515042|.64:8920       MOV DWORD PTR FS:,ESP
00515045|.81F3 F1250B00 XOR EBX,0B25F1                           ;订单号与0B25F1做异或运算,结果在EBX中
0051504B|.8BC3          MOV EAX,EBX
0051504D|.33D2          XOR EDX,EDX
0051504F|.52            PUSH EDX                                 ; /Arg2 => 00000000
00515050|.50            PUSH EAX                                 ; |Arg1
00515051|.8D45 FC       LEA EAX,DWORD PTR SS:             ; |
00515054|.E8 2345EFFF   CALL jzyq.0040957C                     ; \运算结果转为十进制数字设为a
00515059|.8B45 FC       MOV EAX,DWORD PTR SS:             ;十进制值a
0051505C|.0FB600      MOVZX EAX,BYTE PTR DS:            ;取a的第一位的ASCⅡ的十六进制值给EAX
0051505F|.8B55 FC       MOV EDX,DWORD PTR SS:             ;十进制结果a给EDX
00515062|.0FB652 01   MOVZX EDX,BYTE PTR DS:            ;取a的第二位的ASCⅡ的十六进制值给EDX
00515066|.03C2          ADD EAX,EDX                              ;两个值相加
00515068|.B9 05000000   MOV ECX,5                              ;5给ECX
0051506D|.99            CDQ
0051506E|.F7F9          IDIV ECX                                 ;EAX+EDX结果除5,商在EAX中,余在EDX中
00515070|.80C2 34       ADD DL,34                              ;余数加上34
00515073|.8855 F8       MOV BYTE PTR SS:,DL               ;结果设为1保存
00515076|.8B45 FC       MOV EAX,DWORD PTR SS:             ;十进制结果a给EAX
00515079|.0FB640 02   MOVZX EAX,BYTE PTR DS:            ;取第三位
0051507D|.8B55 FC       MOV EDX,DWORD PTR SS:
00515080|.0FB652 03   MOVZX EDX,BYTE PTR DS:            ;取第四位
00515084|.03C2          ADD EAX,EDX
00515086|.B9 05000000   MOV ECX,5
0051508B|.99            CDQ
0051508C|.F7F9          IDIV ECX
0051508E|.8BDA          MOV EBX,EDX
00515090|.80C3 33       ADD BL,33
00515093|.885D F9       MOV BYTE PTR SS:,BL               ;结果设为2保存
00515096|.8D45 F4       LEA EAX,DWORD PTR SS:
00515099      8A55 F8       MOV DL,BYTE PTR SS:               ;取结果1
0051509C|.E8 5BFBEEFF   CALL jzyq.00404BFC
005150A1|.8B45 F4       MOV EAX,DWORD PTR SS:
005150A4|.8D55 FC       LEA EDX,DWORD PTR SS:
005150A7|.B9 1B000000   MOV ECX,1B
005150AC|.E8 03FFEEFF   CALL jzyq.00404FB4
005150B1|.8D45 F0       LEA EAX,DWORD PTR SS:
005150B4|.8BD3          MOV EDX,EBX                         结果2给EDX
005150B6|.E8 41FBEEFF   CALL jzyq.00404BFC
005150BB|.8B45 F0       MOV EAX,DWORD PTR SS:
005150BE|.8D55 FC       LEA EDX,DWORD PTR SS:
005150C1|.B9 19000000   MOV ECX,19
005150C6|.E8 E9FEEEFF   CALL jzyq.00404FB4                     ;把十进制值a与后两个结果的值联起来设为b
005150CB|.8BC6          MOV EAX,ESI
005150CD|.8B55 FC       MOV EDX,DWORD PTR SS:
005150D0|.E8 9BF9EEFF   CALL jzyq.00404A70
005150D5|.33C0          XOR EAX,EAX
005150D7|.5A            POP EDX
005150D8|.59            POP ECX
005150D9|.59            POP ECX
005150DA|.64:8910       MOV DWORD PTR FS:,EDX
005150DD|.68 FF505100   PUSH jzyq.005150FF
005150E2|>8D45 F0       LEA EAX,DWORD PTR SS:
005150E5|.BA 02000000   MOV EDX,2
005150EA|.E8 51F9EEFF   CALL jzyq.00404A40
005150EF|.8D45 FC       LEA EAX,DWORD PTR SS:
005150F2|.E8 25F9EEFF   CALL jzyq.00404A1C
005150F7\.C3            RETN
005150F8   .^ E9 C3F1EEFF   JMP jzyq.004042C0
005150FD   .^ EB E3         JMP SHORT jzyq.005150E2
005150FF   .5E            POP ESI
00515100   .5B            POP EBX
00515101   .8BE5          MOV ESP,EBP
00515103   .5D            POP EBP
00515104   .C3            RETN

进关键CALL 2到这
00515108/$55            PUSH EBP
00515109|.8BEC          MOV EBP,ESP
0051510B|.33C9          XOR ECX,ECX
0051510D|.51            PUSH ECX
0051510E|.51            PUSH ECX
0051510F|.51            PUSH ECX
00515110|.51            PUSH ECX
00515111|.51            PUSH ECX
00515112|.51            PUSH ECX
00515113|.53            PUSH EBX
00515114|.56            PUSH ESI
00515115|.8BF2          MOV ESI,EDX
00515117|.8BD8          MOV EBX,EAX
00515119|.33C0          XOR EAX,EAX
0051511B|.55            PUSH EBP
0051511C|.68 54525100   PUSH jzyq.00515254
00515121|.64:FF30       PUSH DWORD PTR FS:
00515124|.64:8920       MOV DWORD PTR FS:,ESP
00515127|.81F3 8776FBDD XOR EBX,DDFB7687                         ;b的十六进制结果与DDFB7687做异或运算
0051512D|.8BC3          MOV EAX,EBX
0051512F|.33D2          XOR EDX,EDX
00515131|.52            PUSH EDX                                 ; /Arg2 => 00000000
00515132|.50            PUSH EAX                                 ; |Arg1
00515133|.8D45 FC       LEA EAX,DWORD PTR SS:             ; |
00515136|.E8 4144EFFF   CALL jzyq.0040957C                     ; \结果转为十进制设为c
0051513B|.8B45 FC       MOV EAX,DWORD PTR SS:
0051513E|.0FB600      MOVZX EAX,BYTE PTR DS:            ;取c的第一位
00515141|.8B55 FC       MOV EDX,DWORD PTR SS:
00515144|.0FB652 01   MOVZX EDX,BYTE PTR DS:            ;取c的第二位
00515148|.03C2          ADD EAX,EDX
0051514A|.B9 05000000   MOV ECX,5
0051514F|.99            CDQ
00515150|.F7F9          IDIV ECX                                 ;EAX+EDX除5要余数
00515152|.80C2 66       ADD DL,66                              ;余数加66得字符设为s1
00515155|.8855 F8       MOV BYTE PTR SS:,DL
00515158|.8B45 FC       MOV EAX,DWORD PTR SS:
0051515B|.0FB640 02   MOVZX EAX,BYTE PTR DS:            ;取第三位
0051515F|.8B55 FC       MOV EDX,DWORD PTR SS:
00515162|.0FB652 03   MOVZX EDX,BYTE PTR DS:            ;取第四位
00515166|.03C2          ADD EAX,EDX
00515168|.B9 05000000   MOV ECX,5
0051516D|.99            CDQ
0051516E|.F7F9          IDIV ECX
00515170|.80C2 75       ADD DL,75                              ;结果加75得字符s2
00515173|.8855 F9       MOV BYTE PTR SS:,DL
00515176|.8B45 FC       MOV EAX,DWORD PTR SS:
00515179|.0FB640 04   MOVZX EAX,BYTE PTR DS:            ;取第五位
0051517D|.8B55 FC       MOV EDX,DWORD PTR SS:
00515180|.0FB652 05   MOVZX EDX,BYTE PTR DS:            ;取第六位
00515184|.03C2          ADD EAX,EDX
00515186|.B9 05000000   MOV ECX,5
0051518B|.99            CDQ
0051518C|.F7F9          IDIV ECX
0051518E|.80C2 7A       ADD DL,7A                              ;结果加7A得字符s3
00515191|.8855 FA       MOV BYTE PTR SS:,DL
00515194|.8B45 FC       MOV EAX,DWORD PTR SS:
00515197|.0FB640 06   MOVZX EAX,BYTE PTR DS:            ;取第七位
0051519B|.8B55 FC       MOV EDX,DWORD PTR SS:
0051519E|.0FB652 07   MOVZX EDX,BYTE PTR DS:            ;取第八位
005151A2|.03C2          ADD EAX,EDX
005151A4|.8B55 FC       MOV EDX,DWORD PTR SS:
005151A7|.0FB652 08   MOVZX EDX,BYTE PTR DS:
005151AB|.03C2          ADD EAX,EDX
005151AD|.B9 05000000   MOV ECX,5
005151B2|.99            CDQ
005151B3|.F7F9          IDIV ECX
005151B5|.80C2 69       ADD DL,69                              ;结果加69得字符s4
005151B8|.8855 FB       MOV BYTE PTR SS:,DL
005151BB|.8D45 F4       LEA EAX,DWORD PTR SS:
005151BE|.8A55 F8       MOV DL,BYTE PTR SS:
005151C1|.E8 36FAEEFF   CALL jzyq.00404BFC
005151C6|.8B45 F4       MOV EAX,DWORD PTR SS:
005151C9|.8D55 FC       LEA EDX,DWORD PTR SS:
005151CC|.B9 07000000   MOV ECX,7
005151D1|.E8 DEFDEEFF   CALL jzyq.00404FB4                     ;把第一个结果s1放在十进制c的第七位得结果d
005151D6|.8D45 F0       LEA EAX,DWORD PTR SS:
005151D9|.8A55 FB       MOV DL,BYTE PTR SS:
005151DC|.E8 1BFAEEFF   CALL jzyq.00404BFC
005151E1|.8B45 F0       MOV EAX,DWORD PTR SS:
005151E4|.8D55 FC       LEA EDX,DWORD PTR SS:
005151E7|.B9 03000000   MOV ECX,3
005151EC|.E8 C3FDEEFF   CALL jzyq.00404FB4                     ;把第二个结果s2放在d的第三位得e
005151F1|.8D45 EC       LEA EAX,DWORD PTR SS:
005151F4|.8A55 F9       MOV DL,BYTE PTR SS:
005151F7|.E8 00FAEEFF   CALL jzyq.00404BFC
005151FC|.8B45 EC       MOV EAX,DWORD PTR SS:
005151FF|.8D55 FC       LEA EDX,DWORD PTR SS:
00515202|.B9 05000000   MOV ECX,5
00515207|.E8 A8FDEEFF   CALL jzyq.00404FB4                     ;把第三个结果s3放在e的第五位得f
0051520C|.8D45 E8       LEA EAX,DWORD PTR SS:
0051520F|.8A55 FA       MOV DL,BYTE PTR SS:
00515212|.E8 E5F9EEFF   CALL jzyq.00404BFC
00515217|.8B45 E8       MOV EAX,DWORD PTR SS:
0051521A|.8D55 FC       LEA EDX,DWORD PTR SS:
0051521D|.B9 09000000   MOV ECX,9
00515222|.E8 8DFDEEFF   CALL jzyq.00404FB4                     ;把第四个结果s4放在f的第九位得g
00515227|.8BC6          MOV EAX,ESI
00515229|.8B55 FC       MOV EDX,DWORD PTR SS:
0051522C|.E8 3FF8EEFF   CALL jzyq.00404A70
00515231|.33C0          XOR EAX,EAX
00515233|.5A            POP EDX
00515234|.59            POP ECX
00515235|.59            POP ECX
00515236|.64:8910       MOV DWORD PTR FS:,EDX
00515239|.68 5B525100   PUSH jzyq.0051525B
0051523E|>8D45 E8       LEA EAX,DWORD PTR SS:
00515241|.BA 04000000   MOV EDX,4
00515246|.E8 F5F7EEFF   CALL jzyq.00404A40
0051524B|.8D45 FC       LEA EAX,DWORD PTR SS:
0051524E|.E8 C9F7EEFF   CALL jzyq.00404A1C
00515253\.C3            RETN
00515254   .^ E9 67F0EEFF   JMP jzyq.004042C0
00515259   .^ EB E3         JMP SHORT jzyq.0051523E
0051525B   .5E            POP ESI
0051525C   .5B            POP EBX
0051525D   .8BE5          MOV ESP,EBP
0051525F   .5D            POP EBP
00515260   .C3            RETN



------------------------------------------------------------------------
算法已够详细我在这不总结了。
------------------------------------------------------------------------
【版权声明】本文纯属技术交流[请支持正版], 转载请注明作者并保持文章的完整,

[ 本帖最后由 lhl8730 于 2006-4-29 08:23 编辑 ]

lzq1973 发表于 2006-4-29 14:43:26

老弟辛苦了~~

lhl8730 发表于 2006-5-2 17:15:08

谢谢。。。。

bfqyygy 发表于 2006-5-22 15:00:27

分析的很详细..学习了.
我刚学.算法理解不了.只能爆破.试着爆了一下.成功!!感谢楼主的分享..

chenlinyong36 发表于 2006-5-26 20:47:12

好贴子~呵呵

30903861 发表于 2006-5-30 16:17:46

好贴,支持
页: [1]
查看完整版本: 精装友情通讯录算法分析