网络断魂 发表于 2007-12-23 15:46:35

一个KEY文件保护方式软件的算法分析(DES算法)

【文章作者】: 网络断魂
【软件名称】: NeedNet网络办公系统4.09版
【下载地址】: http://www.okeyoa.cn/
【加壳方式】: 无壳
【保护方式】: key文件保护(机器码+用户数量+DES算法)
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD,PEID,PYG密码学综合工具
【操作平台】: winxp2
【作者声明】: 也不知道分析的对不对,大家别笑话偶

1、软件概貌:

1)、软件所有提示字符串全部经DES算法加密(标准DES算法,密钥:windows),密钥及加密后的字符串可在

OD中找到
2)、申请注册时需填入“公司名称”、“用户数量”,生成一个正版用户认证文件,内容全部是十六进制字符

串(标准DES算法,密钥:officeim),密钥及加密后在字符串可以在生成UID文件时下断找到,
3)、用户需从厂家拿到一个licence.id的KEY文件才能完成注册,文件内容全部是十六进制字符串,软件打开

时会载入KEY文件进行较验(标准DES算法,密钥:daily(全文解密)、windows(机器码部份)),密钥及加

密后的内容可以OD中找到,

以下是参考的解密内容:

正版用户认证文件(天津市大港区民政局.uid)加密算法:标准DES密钥:officeim

申请注册时产生的正版用户认证文件内容:

8C23A50BCB330E18EE454FEF093FB2C3F007611091AC43368D1EF313EB6960C57EEE315BF28D2604E9666992549E35E73

1E475E587428CAE206BFB50235BB4FACE45DC56C521E1CE83F20DF6819FCCC607698F53A00435597BAA6A616FCCEA2C5E

DC49667B2744E5D029C15C57E33EDE

密钥:officeim

解密结果:

天津市大港区民政局








83
officeim_494329747
F11
F21
F31
F41
F51
F61
F71
F81

KEY文件(licence.id)加密算法:标准DES 密钥:daily

KEY内容:
5BBEC425EFEBC0E66966202C1A49FF2CD222EECEBA34B5D8E7A5E0C157E41E52E1E1CAA309B6CED3423014B64CDFEEE43

AA978D11D302621965EC398909B5523A8375BFEF22B82D58AE42811B9756FCB2D525781D5D4C53907EF4926F86FBDE117

EECBB03E018136D66C667A069294211C351C0205E32CBCB2434CB78B330EF94452A1565880C95B5

密钥:daily

解密结果:

officeim
天津市大港区民政局
5
2007-12-13
35514AB06106EE972E02A84FB7F992D5DFBDBA91901EA7D0   //机器码加密后得到的
F11
F21
F31
F41
F51
F61
F71
F81

机器码加密算法:标准DES密钥:windows

内容(由KEY文件解密后得到):35514AB06106EE972E02A84FB7F992D5DFBDBA91901EA7D0

解密结果:officeim_494329747//刚好对应UID文件解密出来的机器码



2、KEY文件较验过程:

根据KEY文件读取找到关键处:

00563F74    55            push    ebp                              ; //关键函数
00563F75    8BEC            mov   ebp, esp
00563F77    B9 11000000   mov   ecx, 11
00563F7C    6A 00         push    0
00563F7E    6A 00         push    0
00563F80    49            dec   ecx
00563F81^ 75 F9         jnz   short 00563F7C
00563F83    53            push    ebx
00563F84    56            push    esi
00563F85    57            push    edi
00563F86    8945 FC         mov   dword ptr , eax
00563F89    33C0            xor   eax, eax
00563F8B    55            push    ebp
00563F8C    68 86455600   push    00564586
00563F91    64:FF30         push    dword ptr fs:
00563F94    64:8920         mov   dword ptr fs:, esp
00563F97    33C0            xor   eax, eax
00563F99    55            push    ebp
00563F9A    68 4E455600   push    0056454E
00563F9F    64:FF30         push    dword ptr fs:
00563FA2    64:8920         mov   dword ptr fs:, esp
00563FA5    E8 A241FFFF   call    0055814C                         ; //取原始硬盘码
00563FAA    8BD0            mov   edx, eax
00563FAC    8D45 EC         lea   eax, dword ptr
00563FAF    E8 F812EAFF   call    004052AC
00563FB4    8B45 EC         mov   eax, dword ptr
00563FB7    8D55 F0         lea   edx, dword ptr
00563FBA    E8 4D5CEAFF   call    00409C0C                         ; //去除前面的空格
00563FBF    837D F0 00      cmp   dword ptr , 0            ; //是否为空
00563FC3    75 11         jnz   short 00563FD6
00563FC5    E8 2E44FFFF   call    005583F8
00563FCA    33D2            xor   edx, edx
00563FCC    52            push    edx
00563FCD    50            push    eax
00563FCE    8D45 F0         lea   eax, dword ptr
00563FD1    E8 DE60EAFF   call    0040A0B4
00563FD6    8D45 F0         lea   eax, dword ptr
00563FD9    8B4D F0         mov   ecx, dword ptr
00563FDC    BA 9C455600   mov   edx, 0056459C                  ; ASCII "officeim_"
00563FE1    E8 DA13EAFF   call    004053C0                         ; //硬盘码前面连接 officeim_
00563FE6    8D55 E8         lea   edx, dword ptr
00563FE9    33C0            xor   eax, eax
00563FEB    E8 08F1E9FF   call    004030F8
00563FF0    8B45 E8         mov   eax, dword ptr
00563FF3    8D55 F8         lea   edx, dword ptr
00563FF6    E8 6568EAFF   call    0040A860
00563FFB    8D4D E0         lea   ecx, dword ptr
00563FFE    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
00564003    B8 C0455600   mov   eax, 005645C0                  ; ASCII

"24F5996545478EB5E498C1DB10C47CD4"
00564008    E8 3F63FFFF   call    0055A34C                         ; //DES解密
0056400D    8B4D E0         mov   ecx, dword ptr           ; // licence.id
00564010    8D45 E4         lea   eax, dword ptr
00564013    8B55 F8         mov   edx, dword ptr
00564016    E8 A513EAFF   call    004053C0
0056401B    8B45 E4         mov   eax, dword ptr
0056401E    E8 F164EAFF   call    0040A514
00564023    84C0            test    al, al
00564025    75 0D         jnz   short 00564034
00564027    33C0            xor   eax, eax
00564029    5A            pop   edx
0056402A    59            pop   ecx
0056402B    59            pop   ecx
0056402C    64:8910         mov   dword ptr fs:, edx
0056402F    E9 34050000   jmp   00564568
00564034    B2 01         mov   dl, 1
00564036    A1 D4DC4100   mov   eax, dword ptr
0056403B    E8 1401EAFF   call    00404154
00564040    8BD8            mov   ebx, eax
00564042    8D4D D8         lea   ecx, dword ptr
00564045    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
0056404A    B8 C0455600   mov   eax, 005645C0                  ; ASCII

"24F5996545478EB5E498C1DB10C47CD4"
0056404F    E8 F862FFFF   call    0055A34C                         ; //DES解密
00564054    8B4D D8         mov   ecx, dword ptr           ; // licence.id
00564057    8D45 DC         lea   eax, dword ptr
0056405A    8B55 F8         mov   edx, dword ptr
0056405D    E8 5E13EAFF   call    004053C0
00564062    8B55 DC         mov   edx, dword ptr
00564065    8BC3            mov   eax, ebx
00564067    8B08            mov   ecx, dword ptr
00564069    FF51 68         call    dword ptr                ; //读取KEY文件内容
0056406C    8D55 D0         lea   edx, dword ptr
0056406F    8BC3            mov   eax, ebx
00564071    8B08            mov   ecx, dword ptr
00564073    FF51 1C         call    dword ptr
00564076    8B45 D0         mov   eax, dword ptr           ; //送KEY文件内容,
00564079    8D4D D4         lea   ecx, dword ptr
0056407C    BA EC455600   mov   edx, 005645EC                  ; ASCII "daily"
00564081    E8 C662FFFF   call    0055A34C                         ; //DES解密
00564086    8B55 D4         mov   edx, dword ptr           ; //送逆推出来内容的存储地址
00564089    8BC3            mov   eax, ebx
0056408B    8B08            mov   ecx, dword ptr
0056408D    FF51 2C         call    dword ptr
00564090    8D4D CC         lea   ecx, dword ptr
00564093    BA 01000000   mov   edx, 1
00564098    8BC3            mov   eax, ebx
0056409A    8B30            mov   esi, dword ptr
0056409C    FF56 0C         call    dword ptr
0056409F    8B55 CC         mov   edx, dword ptr
005640A2    8B45 FC         mov   eax, dword ptr
005640A5    8B80 F4040000   mov   eax, dword ptr
005640AB    E8 086DEFFF   call    0045ADB8
005640B0    8D4D C8         lea   ecx, dword ptr
005640B3    BA 01000000   mov   edx, 1
005640B8    8BC3            mov   eax, ebx
005640BA    8B30            mov   esi, dword ptr
005640BC    FF56 0C         call    dword ptr
005640BF    8B55 C8         mov   edx, dword ptr
005640C2    8B45 FC         mov   eax, dword ptr
005640C5    05 4C060000   add   eax, 64C
005640CA    E8 3910EAFF   call    00405108
005640CF    8D4D C4         lea   ecx, dword ptr
005640D2    BA 02000000   mov   edx, 2
005640D7    8BC3            mov   eax, ebx
005640D9    8B30            mov   esi, dword ptr
005640DB    FF56 0C         call    dword ptr
005640DE    8B55 C4         mov   edx, dword ptr
005640E1    8B45 FC         mov   eax, dword ptr
005640E4    8B80 E8040000   mov   eax, dword ptr
005640EA    E8 C96CEFFF   call    0045ADB8
005640EF    8D4D C0         lea   ecx, dword ptr
005640F2    BA 02000000   mov   edx, 2
005640F7    8BC3            mov   eax, ebx
005640F9    8B30            mov   esi, dword ptr
005640FB    FF56 0C         call    dword ptr
005640FE    8B45 C0         mov   eax, dword ptr
00564101    E8 FE5FEAFF   call    0040A104
00564106    8B55 FC         mov   edx, dword ptr
00564109    8982 38060000   mov   dword ptr , eax
0056410F    8D4D BC         lea   ecx, dword ptr
00564112    BA 03000000   mov   edx, 3
00564117    8BC3            mov   eax, ebx
00564119    8B30            mov   esi, dword ptr
0056411B    FF56 0C         call    dword ptr
0056411E    8B55 BC         mov   edx, dword ptr
00564121    8B45 FC         mov   eax, dword ptr
00564124    8B80 F0040000   mov   eax, dword ptr
0056412A    E8 896CEFFF   call    0045ADB8
0056412F    8D4D F4         lea   ecx, dword ptr
00564132    BA 04000000   mov   edx, 4
00564137    8BC3            mov   eax, ebx
00564139    8B30            mov   esi, dword ptr
0056413B    FF56 0C         call    dword ptr
0056413E    8D4D B8         lea   ecx, dword ptr
00564141    BA 05000000   mov   edx, 5
00564146    8BC3            mov   eax, ebx
00564148    8B30            mov   esi, dword ptr
0056414A    FF56 0C         call    dword ptr
0056414D    8B45 B8         mov   eax, dword ptr
00564150    BA FC455600   mov   edx, 005645FC                  ; ASCII "F11"
00564155    E8 6613EAFF   call    004054C0
0056415A    75 3E         jnz   short 0056419A
0056415C    8D4D B4         lea   ecx, dword ptr
0056415F    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
00564164    B8 08465600   mov   eax, 00564608                  ; ASCII

"07C6D9A6A578F58F902BD28C3EDC14D295DF846578BDAA3E"
00564169    E8 DE61FFFF   call    0055A34C                         ; //DES解密
0056416E    8B55 B4         mov   edx, dword ptr
00564171    8B45 FC         mov   eax, dword ptr
00564174    8B80 FC040000   mov   eax, dword ptr
0056417A    8B80 20020000   mov   eax, dword ptr
00564180    8B08            mov   ecx, dword ptr
00564182    FF51 38         call    dword ptr
00564185    8B45 FC         mov   eax, dword ptr
00564188    8B80 54060000   mov   eax, dword ptr
0056418E    BA FC455600   mov   edx, 005645FC                  ; ASCII "F11"
00564193    8B08            mov   ecx, dword ptr
00564195    FF51 38         call    dword ptr
00564198    EB 13         jmp   short 005641AD
0056419A    8B45 FC         mov   eax, dword ptr
0056419D    8B80 54060000   mov   eax, dword ptr
005641A3    BA 44465600   mov   edx, 00564644                  ; ASCII "F10"
005641A8    8B08            mov   ecx, dword ptr
005641AA    FF51 38         call    dword ptr
005641AD    8D4D B0         lea   ecx, dword ptr
005641B0    BA 06000000   mov   edx, 6
005641B5    8BC3            mov   eax, ebx
005641B7    8B30            mov   esi, dword ptr
005641B9    FF56 0C         call    dword ptr
005641BC    8B45 B0         mov   eax, dword ptr
005641BF    BA 50465600   mov   edx, 00564650                  ; ASCII "F21"
005641C4    E8 F712EAFF   call    004054C0
005641C9    75 3E         jnz   short 00564209
005641CB    8D4D AC         lea   ecx, dword ptr
005641CE    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
005641D3    B8 5C465600   mov   eax, 0056465C                  ; ASCII

"F010E1F0DCF1F1D48F89CFA42C0951006D36873A79A927989134515D47DABA72B7873988E3654567"
005641D8    E8 6F61FFFF   call    0055A34C                         ; //DES解密
005641DD    8B55 AC         mov   edx, dword ptr
005641E0    8B45 FC         mov   eax, dword ptr
005641E3    8B80 FC040000   mov   eax, dword ptr
005641E9    8B80 20020000   mov   eax, dword ptr
005641EF    8B08            mov   ecx, dword ptr
005641F1    FF51 38         call    dword ptr
005641F4    8B45 FC         mov   eax, dword ptr
005641F7    8B80 54060000   mov   eax, dword ptr
005641FD    BA 50465600   mov   edx, 00564650                  ; ASCII "F21"
00564202    8B08            mov   ecx, dword ptr
00564204    FF51 38         call    dword ptr
00564207    EB 13         jmp   short 0056421C
00564209    8B45 FC         mov   eax, dword ptr
0056420C    8B80 54060000   mov   eax, dword ptr
00564212    BA B8465600   mov   edx, 005646B8                  ; ASCII "F20"
00564217    8B08            mov   ecx, dword ptr
00564219    FF51 38         call    dword ptr
0056421C    8D4D A8         lea   ecx, dword ptr
0056421F    BA 07000000   mov   edx, 7
00564224    8BC3            mov   eax, ebx
00564226    8B30            mov   esi, dword ptr
00564228    FF56 0C         call    dword ptr
0056422B    8B45 A8         mov   eax, dword ptr
0056422E    BA C4465600   mov   edx, 005646C4                  ; ASCII "F31"
00564233    E8 8812EAFF   call    004054C0
00564238    75 3E         jnz   short 00564278
0056423A    8D4D A4         lea   ecx, dword ptr
0056423D    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
00564242    B8 D0465600   mov   eax, 005646D0                  ; ASCII

"1DF976B57F016E514B4FABE5C0D3E372"
00564247    E8 0061FFFF   call    0055A34C                         ; //DES解密
0056424C    8B55 A4         mov   edx, dword ptr
0056424F    8B45 FC         mov   eax, dword ptr
00564252    8B80 FC040000   mov   eax, dword ptr
00564258    8B80 20020000   mov   eax, dword ptr
0056425E    8B08            mov   ecx, dword ptr
00564260    FF51 38         call    dword ptr
00564263    8B45 FC         mov   eax, dword ptr
00564266    8B80 54060000   mov   eax, dword ptr
0056426C    BA C4465600   mov   edx, 005646C4                  ; ASCII "F31"
00564271    8B08            mov   ecx, dword ptr
00564273    FF51 38         call    dword ptr
00564276    EB 13         jmp   short 0056428B
00564278    8B45 FC         mov   eax, dword ptr
0056427B    8B80 54060000   mov   eax, dword ptr
00564281    BA FC465600   mov   edx, 005646FC                  ; ASCII "F30"
00564286    8B08            mov   ecx, dword ptr
00564288    FF51 38         call    dword ptr
0056428B    8D4D A0         lea   ecx, dword ptr
0056428E    BA 08000000   mov   edx, 8
00564293    8BC3            mov   eax, ebx
00564295    8B30            mov   esi, dword ptr
00564297    FF56 0C         call    dword ptr
0056429A    8B45 A0         mov   eax, dword ptr
0056429D    BA 08475600   mov   edx, 00564708                  ; ASCII "F41"
005642A2    E8 1912EAFF   call    004054C0
005642A7    75 3E         jnz   short 005642E7
005642A9    8D4D 9C         lea   ecx, dword ptr
005642AC    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
005642B1    B8 14475600   mov   eax, 00564714                  ; ASCII "CF33CDB86F7F65B7"
005642B6    E8 9160FFFF   call    0055A34C                         ; //DES解密
005642BB    8B55 9C         mov   edx, dword ptr
005642BE    8B45 FC         mov   eax, dword ptr
005642C1    8B80 FC040000   mov   eax, dword ptr
005642C7    8B80 20020000   mov   eax, dword ptr
005642CD    8B08            mov   ecx, dword ptr
005642CF    FF51 38         call    dword ptr
005642D2    8B45 FC         mov   eax, dword ptr
005642D5    8B80 54060000   mov   eax, dword ptr
005642DB    BA 08475600   mov   edx, 00564708                  ; ASCII "F41"
005642E0    8B08            mov   ecx, dword ptr
005642E2    FF51 38         call    dword ptr
005642E5    EB 13         jmp   short 005642FA
005642E7    8B45 FC         mov   eax, dword ptr
005642EA    8B80 54060000   mov   eax, dword ptr
005642F0    BA 30475600   mov   edx, 00564730                  ; ASCII "F40"
005642F5    8B08            mov   ecx, dword ptr
005642F7    FF51 38         call    dword ptr
005642FA    8D4D 98         lea   ecx, dword ptr
005642FD    BA 09000000   mov   edx, 9
00564302    8BC3            mov   eax, ebx
00564304    8B30            mov   esi, dword ptr
00564306    FF56 0C         call    dword ptr
00564309    8B45 98         mov   eax, dword ptr
0056430C    BA 3C475600   mov   edx, 0056473C                  ; ASCII "F51"
00564311    E8 AA11EAFF   call    004054C0
00564316    75 3E         jnz   short 00564356
00564318    8D4D 94         lea   ecx, dword ptr
0056431B    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
00564320    B8 48475600   mov   eax, 00564748                  ; ASCII "FA5CF974F45B3239"
00564325    E8 2260FFFF   call    0055A34C                         ; //DES解密
0056432A    8B55 94         mov   edx, dword ptr
0056432D    8B45 FC         mov   eax, dword ptr
00564330    8B80 FC040000   mov   eax, dword ptr
00564336    8B80 20020000   mov   eax, dword ptr
0056433C    8B08            mov   ecx, dword ptr
0056433E    FF51 38         call    dword ptr
00564341    8B45 FC         mov   eax, dword ptr
00564344    8B80 54060000   mov   eax, dword ptr
0056434A    BA 3C475600   mov   edx, 0056473C                  ; ASCII "F51"
0056434F    8B08            mov   ecx, dword ptr
00564351    FF51 38         call    dword ptr
00564354    EB 13         jmp   short 00564369
00564356    8B45 FC         mov   eax, dword ptr
00564359    8B80 54060000   mov   eax, dword ptr
0056435F    BA 64475600   mov   edx, 00564764                  ; ASCII "F50"
00564364    8B08            mov   ecx, dword ptr
00564366    FF51 38         call    dword ptr
00564369    8D4D 90         lea   ecx, dword ptr
0056436C    BA 0A000000   mov   edx, 0A
00564371    8BC3            mov   eax, ebx
00564373    8B30            mov   esi, dword ptr
00564375    FF56 0C         call    dword ptr
00564378    8B45 90         mov   eax, dword ptr
0056437B    BA 70475600   mov   edx, 00564770                  ; ASCII "F61"
00564380    E8 3B11EAFF   call    004054C0
00564385    75 3E         jnz   short 005643C5
00564387    8D4D 8C         lea   ecx, dword ptr
0056438A    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
0056438F    B8 7C475600   mov   eax, 0056477C                  ; ASCII

"91AC1B1FB583F17CAA894281150E40A0"
00564394    E8 B35FFFFF   call    0055A34C                         ; //DES解密
00564399    8B55 8C         mov   edx, dword ptr
0056439C    8B45 FC         mov   eax, dword ptr
0056439F    8B80 FC040000   mov   eax, dword ptr
005643A5    8B80 20020000   mov   eax, dword ptr
005643AB    8B08            mov   ecx, dword ptr
005643AD    FF51 38         call    dword ptr
005643B0    8B45 FC         mov   eax, dword ptr
005643B3    8B80 54060000   mov   eax, dword ptr
005643B9    BA 70475600   mov   edx, 00564770                  ; ASCII "F61"
005643BE    8B08            mov   ecx, dword ptr
005643C0    FF51 38         call    dword ptr
005643C3    EB 13         jmp   short 005643D8
005643C5    8B45 FC         mov   eax, dword ptr
005643C8    8B80 54060000   mov   eax, dword ptr
005643CE    BA A8475600   mov   edx, 005647A8                  ; ASCII "F60"
005643D3    8B08            mov   ecx, dword ptr
005643D5    FF51 38         call    dword ptr
005643D8    8D4D 88         lea   ecx, dword ptr
005643DB    BA 0B000000   mov   edx, 0B
005643E0    8BC3            mov   eax, ebx
005643E2    8B30            mov   esi, dword ptr
005643E4    FF56 0C         call    dword ptr
005643E7    8B45 88         mov   eax, dword ptr
005643EA    BA B4475600   mov   edx, 005647B4                  ; ASCII "F71"
005643EF    E8 CC10EAFF   call    004054C0
005643F4    75 3E         jnz   short 00564434
005643F6    8D4D 84         lea   ecx, dword ptr
005643F9    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
005643FE    B8 C0475600   mov   eax, 005647C0                  ; ASCII

"A7CCE3FE06D0B533CFBF4A71A71723BC"
00564403    E8 445FFFFF   call    0055A34C                         ; //DES解密
00564408    8B55 84         mov   edx, dword ptr
0056440B    8B45 FC         mov   eax, dword ptr
0056440E    8B80 FC040000   mov   eax, dword ptr
00564414    8B80 20020000   mov   eax, dword ptr
0056441A    8B08            mov   ecx, dword ptr
0056441C    FF51 38         call    dword ptr
0056441F    8B45 FC         mov   eax, dword ptr
00564422    8B80 54060000   mov   eax, dword ptr
00564428    BA B4475600   mov   edx, 005647B4                  ; ASCII "F71"
0056442D    8B08            mov   ecx, dword ptr
0056442F    FF51 38         call    dword ptr
00564432    EB 13         jmp   short 00564447
00564434    8B45 FC         mov   eax, dword ptr
00564437    8B80 54060000   mov   eax, dword ptr
0056443D    BA EC475600   mov   edx, 005647EC                  ; ASCII "F70"
00564442    8B08            mov   ecx, dword ptr
00564444    FF51 38         call    dword ptr
00564447    8D4D 80         lea   ecx, dword ptr
0056444A    BA 0C000000   mov   edx, 0C
0056444F    8BC3            mov   eax, ebx
00564451    8B18            mov   ebx, dword ptr
00564453    FF53 0C         call    dword ptr
00564456    8B45 80         mov   eax, dword ptr
00564459    BA F8475600   mov   edx, 005647F8                  ; ASCII "F81"
0056445E    E8 5D10EAFF   call    004054C0
00564463    75 44         jnz   short 005644A9
00564465    8D8D 7CFFFFFF   lea   ecx, dword ptr
0056446B    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
00564470    B8 04485600   mov   eax, 00564804                  ; ASCII

"FE4BB590E806C63C33CC011106FDD92650DE8C96C705272FBE51C38BA67DDCC8"
00564475    E8 D25EFFFF   call    0055A34C                         ; //DES解密
0056447A    8B95 7CFFFFFF   mov   edx, dword ptr
00564480    8B45 FC         mov   eax, dword ptr
00564483    8B80 FC040000   mov   eax, dword ptr
00564489    8B80 20020000   mov   eax, dword ptr
0056448F    8B08            mov   ecx, dword ptr
00564491    FF51 38         call    dword ptr
00564494    8B45 FC         mov   eax, dword ptr
00564497    8B80 54060000   mov   eax, dword ptr
0056449D    BA F8475600   mov   edx, 005647F8                  ; ASCII "F81"
005644A2    8B08            mov   ecx, dword ptr
005644A4    FF51 38         call    dword ptr
005644A7    EB 13         jmp   short 005644BC
005644A9    8B45 FC         mov   eax, dword ptr
005644AC    8B80 54060000   mov   eax, dword ptr
005644B2    BA 50485600   mov   edx, 00564850                  ; ASCII "F80"
005644B7    8B08            mov   ecx, dword ptr
005644B9    FF51 38         call    dword ptr
005644BC    8D8D 78FFFFFF   lea   ecx, dword ptr
005644C2    BA B0455600   mov   edx, 005645B0                  ; ASCII "windows"
005644C7    8B45 F4         mov   eax, dword ptr          ; //送KEY文件解密出来的一段

字符,再次解密
005644CA    E8 7D5EFFFF   call    0055A34C                         ; //逆推机器码,标准的DES加

密,密钥:windows ,待加密字符串: officeim_机器码
005644CF    8B95 78FFFFFF   mov   edx, dword ptr           ; //送反推后的机器码
005644D5    8B45 F0         mov   eax, dword ptr           ; //送真实机器码
005644D8    E8 E30FEAFF   call    004054C0                         ; //比较?
005644DD    74 45         je      short 00564524                   ; //关键跳转,爆破
005644DF    8B45 FC         mov   eax, dword ptr
005644E2    8B80 B4040000   mov   eax, dword ptr
005644E8    B2 01         mov   dl, 1
005644EA    E8 B97EEDFF   call    0043C3A8
005644EF    8B45 FC         mov   eax, dword ptr
005644F2    8B80 B4040000   mov   eax, dword ptr
005644F8    BA E8030000   mov   edx, 3E8
005644FD    E8 B67EEDFF   call    0043C3B8
00564502    8B45 FC         mov   eax, dword ptr
00564505    8B80 C0040000   mov   eax, dword ptr
0056450B    B2 01         mov   dl, 1
0056450D    E8 A620EEFF   call    004465B8
00564512    8B45 FC         mov   eax, dword ptr
00564515    8B80 DC040000   mov   eax, dword ptr
0056451B    33D2            xor   edx, edx
0056451D    E8 9620EEFF   call    004465B8
00564522    EB 20         jmp   short 00564544
00564524    8B45 FC         mov   eax, dword ptr
00564527    8B80 C0040000   mov   eax, dword ptr
0056452D    33D2            xor   edx, edx
0056452F    E8 8420EEFF   call    004465B8
00564534    8B45 FC         mov   eax, dword ptr
00564537    8B80 DC040000   mov   eax, dword ptr
0056453D    B2 01         mov   dl, 1
0056453F    E8 7420EEFF   call    004465B8
00564544    33C0            xor   eax, eax
00564546    5A            pop   edx
00564547    59            pop   ecx
00564548    59            pop   ecx
00564549    64:8910         mov   dword ptr fs:, edx
0056454C    EB 1A         jmp   short 00564568
0056454E^ E9 2501EAFF   jmp   00404678
00564553    8B45 FC         mov   eax, dword ptr
00564556    8B80 B4040000   mov   eax, dword ptr
0056455C    B2 01         mov   dl, 1
0056455E    E8 457EEDFF   call    0043C3A8
00564563    E8 3C05EAFF   call    00404AA4
00564568    33C0            xor   eax, eax
0056456A    5A            pop   edx
0056456B    59            pop   ecx
0056456C    59            pop   ecx
0056456D    64:8910         mov   dword ptr fs:, edx
00564570    68 8D455600   push    0056458D
00564575    8D85 78FFFFFF   lea   eax, dword ptr
0056457B    BA 21000000   mov   edx, 21
00564580    E8 530BEAFF   call    004050D8
00564585    C3            retn
00564586^ E9 A103EAFF   jmp   0040492C
0056458B^ EB E8         jmp   short 00564575
0056458D    5F            pop   edi
0056458E    5E            pop   esi
0056458F    5B            pop   ebx
00564590    8BE5            mov   esp, ebp
00564592    5D            pop   ebp
00564593    C3            retn




3、UID文件生成过程:


0055A7F0    55            push    ebp
0055A7F1    8BEC            mov   ebp, esp
0055A7F3    B9 0E000000   mov   ecx, 0E
0055A7F8    6A 00         push    0
0055A7FA    6A 00         push    0
0055A7FC    49            dec   ecx
0055A7FD^ 75 F9         jnz   short 0055A7F8
0055A7FF    53            push    ebx
0055A800    56            push    esi
0055A801    8BD8            mov   ebx, eax
0055A803    33C0            xor   eax, eax
0055A805    55            push    ebp
0055A806    68 07AD5500   push    0055AD07
0055A80B    64:FF30         push    dword ptr fs:
0055A80E    64:8920         mov   dword ptr fs:, esp
0055A811    8D55 F8         lea   edx, dword ptr
0055A814    8B83 08030000   mov   eax, dword ptr
0055A81A    E8 6905F0FF   call    0045AD88
0055A81F    837D F8 00      cmp   dword ptr , 0
0055A823    75 0F         jnz   short 0055A834
0055A825    B8 1CAD5500   mov   eax, 0055AD1C                  ; 请输入单位名称.
0055A82A    E8 15DCFFFF   call    00558444
0055A82F    E9 8E040000   jmp   0055ACC2
0055A834    8D55 F4         lea   edx, dword ptr
0055A837    8B83 48030000   mov   eax, dword ptr
0055A83D    E8 4605F0FF   call    0045AD88
0055A842    837D F4 00      cmp   dword ptr , 0
0055A846    75 0F         jnz   short 0055A857
0055A848    B8 34AD5500   mov   eax, 0055AD34                  ; 请输入联系人.
0055A84D    E8 F2DBFFFF   call    00558444
0055A852    E9 6B040000   jmp   0055ACC2
0055A857    8D55 F0         lea   edx, dword ptr
0055A85A    8B83 50030000   mov   eax, dword ptr
0055A860    E8 2305F0FF   call    0045AD88
0055A865    837D F0 00      cmp   dword ptr , 0
0055A869    75 0F         jnz   short 0055A87A
0055A86B    B8 4CAD5500   mov   eax, 0055AD4C                  ; 请输入电话.
0055A870    E8 CFDBFFFF   call    00558444
0055A875    E9 48040000   jmp   0055ACC2
0055A87A    8D55 EC         lea   edx, dword ptr
0055A87D    8B83 18030000   mov   eax, dword ptr
0055A883    E8 0005F0FF   call    0045AD88
0055A888    837D EC 00      cmp   dword ptr , 0
0055A88C    75 0F         jnz   short 0055A89D
0055A88E    B8 60AD5500   mov   eax, 0055AD60                  ; 请输入电子邮件.
0055A893    E8 ACDBFFFF   call    00558444
0055A898    E9 25040000   jmp   0055ACC2
0055A89D    8D55 E8         lea   edx, dword ptr
0055A8A0    8B83 38030000   mov   eax, dword ptr
0055A8A6    E8 DD04F0FF   call    0045AD88
0055A8AB    837D E8 00      cmp   dword ptr , 0
0055A8AF    75 0F         jnz   short 0055A8C0
0055A8B1    B8 78AD5500   mov   eax, 0055AD78                  ; 请输入通讯地址.
0055A8B6    E8 89DBFFFF   call    00558444
0055A8BB    E9 02040000   jmp   0055ACC2
0055A8C0    8D55 E4         lea   edx, dword ptr
0055A8C3    8B83 40030000   mov   eax, dword ptr
0055A8C9    E8 BA04F0FF   call    0045AD88
0055A8CE    837D E4 00      cmp   dword ptr , 0
0055A8D2    75 0F         jnz   short 0055A8E3
0055A8D4    B8 90AD5500   mov   eax, 0055AD90                  ; 请输入付费银行.
0055A8D9    E8 66DBFFFF   call    00558444
0055A8DE    E9 DF030000   jmp   0055ACC2
0055A8E3    8D55 E0         lea   edx, dword ptr
0055A8E6    8B83 28030000   mov   eax, dword ptr
0055A8EC    E8 9704F0FF   call    0045AD88
0055A8F1    837D E0 00      cmp   dword ptr , 0
0055A8F5    75 0F         jnz   short 0055A906
0055A8F7    B8 A8AD5500   mov   eax, 0055ADA8                  ; 请输入付费时间,格式为

2005-10-22 12:30
0055A8FC    E8 43DBFFFF   call    00558444
0055A901    E9 BC030000   jmp   0055ACC2
0055A906    8D55 DC         lea   edx, dword ptr
0055A909    8B83 30030000   mov   eax, dword ptr
0055A90F    E8 7404F0FF   call    0045AD88
0055A914    837D DC 00      cmp   dword ptr , 0
0055A918    75 0F         jnz   short 0055A929
0055A91A    B8 D8AD5500   mov   eax, 0055ADD8                  ; 请输入付费金额.
0055A91F    E8 20DBFFFF   call    00558444
0055A924    E9 99030000   jmp   0055ACC2
0055A929    8D55 D8         lea   edx, dword ptr
0055A92C    8B83 5C030000   mov   eax, dword ptr
0055A932    E8 5104F0FF   call    0045AD88
0055A937    837D D8 00      cmp   dword ptr , 0
0055A93B    75 0F         jnz   short 0055A94C
0055A93D    B8 F0AD5500   mov   eax, 0055ADF0                  ; 请输入购买用户数.
0055A942    E8 FDDAFFFF   call    00558444
0055A947    E9 76030000   jmp   0055ACC2
0055A94C    B2 01         mov   dl, 1
0055A94E    A1 D4DC4100   mov   eax, dword ptr
0055A953    E8 FC97EAFF   call    00404154                         ; //点生成文件时断在此处
0055A958    8BF0            mov   esi, eax
0055A95A    8D55 D4         lea   edx, dword ptr
0055A95D    8B83 08030000   mov   eax, dword ptr
0055A963    E8 2004F0FF   call    0045AD88
0055A968    8B55 D4         mov   edx, dword ptr
0055A96B    8BC6            mov   eax, esi
0055A96D    8B08            mov   ecx, dword ptr
0055A96F    FF51 38         call    dword ptr
0055A972    8D55 D0         lea   edx, dword ptr
0055A975    8B83 48030000   mov   eax, dword ptr
0055A97B    E8 0804F0FF   call    0045AD88
0055A980    8B55 D0         mov   edx, dword ptr
0055A983    8BC6            mov   eax, esi
0055A985    8B08            mov   ecx, dword ptr
0055A987    FF51 38         call    dword ptr
0055A98A    8D55 CC         lea   edx, dword ptr
0055A98D    8B83 50030000   mov   eax, dword ptr
0055A993    E8 F003F0FF   call    0045AD88
0055A998    8B55 CC         mov   edx, dword ptr
0055A99B    8BC6            mov   eax, esi
0055A99D    8B08            mov   ecx, dword ptr
0055A99F    FF51 38         call    dword ptr
0055A9A2    8D55 C8         lea   edx, dword ptr
0055A9A5    8B83 18030000   mov   eax, dword ptr
0055A9AB    E8 D803F0FF   call    0045AD88
0055A9B0    8B55 C8         mov   edx, dword ptr
0055A9B3    8BC6            mov   eax, esi
0055A9B5    8B08            mov   ecx, dword ptr
0055A9B7    FF51 38         call    dword ptr
0055A9BA    8D55 C4         lea   edx, dword ptr
0055A9BD    8B83 1C030000   mov   eax, dword ptr
0055A9C3    E8 C003F0FF   call    0045AD88
0055A9C8    8B55 C4         mov   edx, dword ptr
0055A9CB    8BC6            mov   eax, esi
0055A9CD    8B08            mov   ecx, dword ptr
0055A9CF    FF51 38         call    dword ptr
0055A9D2    8D55 C0         lea   edx, dword ptr
0055A9D5    8B83 38030000   mov   eax, dword ptr
0055A9DB    E8 A803F0FF   call    0045AD88
0055A9E0    8B55 C0         mov   edx, dword ptr
0055A9E3    8BC6            mov   eax, esi
0055A9E5    8B08            mov   ecx, dword ptr
0055A9E7    FF51 38         call    dword ptr
0055A9EA    8D55 BC         lea   edx, dword ptr
0055A9ED    8B83 40030000   mov   eax, dword ptr
0055A9F3    E8 9003F0FF   call    0045AD88
0055A9F8    8B55 BC         mov   edx, dword ptr
0055A9FB    8BC6            mov   eax, esi
0055A9FD    8B08            mov   ecx, dword ptr
0055A9FF    FF51 38         call    dword ptr
0055AA02    8D55 B8         lea   edx, dword ptr
0055AA05    8B83 28030000   mov   eax, dword ptr
0055AA0B    E8 7803F0FF   call    0045AD88
0055AA10    8B55 B8         mov   edx, dword ptr
0055AA13    8BC6            mov   eax, esi
0055AA15    8B08            mov   ecx, dword ptr
0055AA17    FF51 38         call    dword ptr
0055AA1A    8D55 B4         lea   edx, dword ptr
0055AA1D    8B83 30030000   mov   eax, dword ptr
0055AA23    E8 6003F0FF   call    0045AD88
0055AA28    8B55 B4         mov   edx, dword ptr
0055AA2B    8BC6            mov   eax, esi
0055AA2D    8B08            mov   ecx, dword ptr
0055AA2F    FF51 38         call    dword ptr
0055AA32    8D55 B0         lea   edx, dword ptr
0055AA35    8B83 5C030000   mov   eax, dword ptr
0055AA3B    E8 4803F0FF   call    0045AD88
0055AA40    8B55 B0         mov   edx, dword ptr           ; //送允许数量
0055AA43    8BC6            mov   eax, esi
0055AA45    8B08            mov   ecx, dword ptr
0055AA47    FF51 38         call    dword ptr
0055AA4A    E8 FDD6FFFF   call    0055814C                         ; //取机器码
0055AA4F    8BD0            mov   edx, eax
0055AA51    8D45 AC         lea   eax, dword ptr
0055AA54    E8 53A8EAFF   call    004052AC
0055AA59    8B45 AC         mov   eax, dword ptr
0055AA5C    8D55 FC         lea   edx, dword ptr
0055AA5F    E8 A8F1EAFF   call    00409C0C                         ; //去掉机器码前面的空格
0055AA64    837D FC 00      cmp   dword ptr , 0             ; //是否为空
0055AA68    75 11         jnz   short 0055AA7B
0055AA6A    E8 89D9FFFF   call    005583F8
0055AA6F    33D2            xor   edx, edx
0055AA71    52            push    edx
0055AA72    50            push    eax
0055AA73    8D45 FC         lea   eax, dword ptr
0055AA76    E8 39F6EAFF   call    0040A0B4
0055AA7B    8D45 A8         lea   eax, dword ptr
0055AA7E    8B4D FC         mov   ecx, dword ptr
0055AA81    BA 0CAE5500   mov   edx, 0055AE0C                  ; officeim_
0055AA86    E8 35A9EAFF   call    004053C0                         ; //机器码前面连接 officeim_
0055AA8B    8B55 A8         mov   edx, dword ptr
0055AA8E    8BC6            mov   eax, esi
0055AA90    8B08            mov   ecx, dword ptr
0055AA92    FF51 38         call    dword ptr
0055AA95    8B83 60030000   mov   eax, dword ptr
0055AA9B    8B10            mov   edx, dword ptr
0055AA9D    FF92 C8000000   call    dword ptr
0055AAA3    84C0            test    al, al
0055AAA5    74 0E         je      short 0055AAB5
0055AAA7    BA 20AE5500   mov   edx, 0055AE20                  ; f11
0055AAAC    8BC6            mov   eax, esi
0055AAAE    8B08            mov   ecx, dword ptr
0055AAB0    FF51 38         call    dword ptr
0055AAB3    EB 0C         jmp   short 0055AAC1
0055AAB5    BA 2CAE5500   mov   edx, 0055AE2C                  ; f10
0055AABA    8BC6            mov   eax, esi
0055AABC    8B08            mov   ecx, dword ptr
0055AABE    FF51 38         call    dword ptr
0055AAC1    8B83 64030000   mov   eax, dword ptr
0055AAC7    8B10            mov   edx, dword ptr
0055AAC9    FF92 C8000000   call    dword ptr
0055AACF    84C0            test    al, al
0055AAD1    74 0E         je      short 0055AAE1
0055AAD3    BA 38AE5500   mov   edx, 0055AE38                  ; f21
0055AAD8    8BC6            mov   eax, esi
0055AADA    8B08            mov   ecx, dword ptr
0055AADC    FF51 38         call    dword ptr
0055AADF    EB 0C         jmp   short 0055AAED
0055AAE1    BA 44AE5500   mov   edx, 0055AE44                  ; f20
0055AAE6    8BC6            mov   eax, esi
0055AAE8    8B08            mov   ecx, dword ptr
0055AAEA    FF51 38         call    dword ptr
0055AAED    8B83 68030000   mov   eax, dword ptr
0055AAF3    8B10            mov   edx, dword ptr
0055AAF5    FF92 C8000000   call    dword ptr
0055AAFB    84C0            test    al, al
0055AAFD    74 0E         je      short 0055AB0D
0055AAFF    BA 50AE5500   mov   edx, 0055AE50                  ; f31
0055AB04    8BC6            mov   eax, esi
0055AB06    8B08            mov   ecx, dword ptr
0055AB08    FF51 38         call    dword ptr
0055AB0B    EB 0C         jmp   short 0055AB19
0055AB0D    BA 5CAE5500   mov   edx, 0055AE5C                  ; f30
0055AB12    8BC6            mov   eax, esi
0055AB14    8B08            mov   ecx, dword ptr
0055AB16    FF51 38         call    dword ptr
0055AB19    8B83 6C030000   mov   eax, dword ptr
0055AB1F    8B10            mov   edx, dword ptr
0055AB21    FF92 C8000000   call    dword ptr
0055AB27    84C0            test    al, al
0055AB29    74 0E         je      short 0055AB39
0055AB2B    BA 68AE5500   mov   edx, 0055AE68                  ; f41
0055AB30    8BC6            mov   eax, esi
0055AB32    8B08            mov   ecx, dword ptr
0055AB34    FF51 38         call    dword ptr
0055AB37    EB 0C         jmp   short 0055AB45
0055AB39    BA 74AE5500   mov   edx, 0055AE74                  ; f40
0055AB3E    8BC6            mov   eax, esi
0055AB40    8B08            mov   ecx, dword ptr
0055AB42    FF51 38         call    dword ptr
0055AB45    8B83 70030000   mov   eax, dword ptr
0055AB4B    8B10            mov   edx, dword ptr
0055AB4D    FF92 C8000000   call    dword ptr
0055AB53    84C0            test    al, al
0055AB55    74 0E         je      short 0055AB65
0055AB57    BA 80AE5500   mov   edx, 0055AE80                  ; f51
0055AB5C    8BC6            mov   eax, esi
0055AB5E    8B08            mov   ecx, dword ptr
0055AB60    FF51 38         call    dword ptr
0055AB63    EB 0C         jmp   short 0055AB71
0055AB65    BA 8CAE5500   mov   edx, 0055AE8C                  ; f50
0055AB6A    8BC6            mov   eax, esi
0055AB6C    8B08            mov   ecx, dword ptr
0055AB6E    FF51 38         call    dword ptr
0055AB71    8B83 74030000   mov   eax, dword ptr
0055AB77    8B10            mov   edx, dword ptr
0055AB79    FF92 C8000000   call    dword ptr
0055AB7F    84C0            test    al, al
0055AB81    74 0E         je      short 0055AB91
0055AB83    BA 98AE5500   mov   edx, 0055AE98                  ; f61
0055AB88    8BC6            mov   eax, esi
0055AB8A    8B08            mov   ecx, dword ptr
0055AB8C    FF51 38         call    dword ptr
0055AB8F    EB 0C         jmp   short 0055AB9D
0055AB91    BA A4AE5500   mov   edx, 0055AEA4                  ; f60
0055AB96    8BC6            mov   eax, esi
0055AB98    8B08            mov   ecx, dword ptr
0055AB9A    FF51 38         call    dword ptr
0055AB9D    8B83 78030000   mov   eax, dword ptr
0055ABA3    8B10            mov   edx, dword ptr
0055ABA5    FF92 C8000000   call    dword ptr
0055ABAB    84C0            test    al, al
0055ABAD    74 0E         je      short 0055ABBD
0055ABAF    BA B0AE5500   mov   edx, 0055AEB0                  ; f71
0055ABB4    8BC6            mov   eax, esi
0055ABB6    8B08            mov   ecx, dword ptr
0055ABB8    FF51 38         call    dword ptr
0055ABBB    EB 0C         jmp   short 0055ABC9
0055ABBD    BA BCAE5500   mov   edx, 0055AEBC                  ; f70
0055ABC2    8BC6            mov   eax, esi
0055ABC4    8B08            mov   ecx, dword ptr
0055ABC6    FF51 38         call    dword ptr
0055ABC9    8B83 7C030000   mov   eax, dword ptr
0055ABCF    8B10            mov   edx, dword ptr
0055ABD1    FF92 C8000000   call    dword ptr
0055ABD7    84C0            test    al, al
0055ABD9    74 0E         je      short 0055ABE9
0055ABDB    BA C8AE5500   mov   edx, 0055AEC8                  ; f81
0055ABE0    8BC6            mov   eax, esi
0055ABE2    8B08            mov   ecx, dword ptr
0055ABE4    FF51 38         call    dword ptr
0055ABE7    EB 0C         jmp   short 0055ABF5
0055ABE9    BA D4AE5500   mov   edx, 0055AED4                  ; f80
0055ABEE    8BC6            mov   eax, esi
0055ABF0    8B08            mov   ecx, dword ptr
0055ABF2    FF51 38         call    dword ptr
0055ABF5    8D55 A0         lea   edx, dword ptr
0055ABF8    8BC6            mov   eax, esi
0055ABFA    8B08            mov   ecx, dword ptr
0055ABFC    FF51 1C         call    dword ptr
0055ABFF    8B45 A0         mov   eax, dword ptr
0055AC02    8D4D A4         lea   ecx, dword ptr
0055AC05    BA E0AE5500   mov   edx, 0055AEE0                  ; officeim //密钥,
0055AC0A    E8 8DF5FFFF   call    0055A19C
0055AC0F    8B55 A4         mov   edx, dword ptr           ; //送加密后的字符作为UID内


0055AC12    8BC6            mov   eax, esi
0055AC14    8B08            mov   ecx, dword ptr
0055AC16    FF51 2C         call    dword ptr
0055AC19    68 F4AE5500   push    0055AEF4                         ; 正版用户认证文件_
0055AC1E    8D55 9C         lea   edx, dword ptr
0055AC21    8B83 08030000   mov   eax, dword ptr
0055AC27    E8 5C01F0FF   call    0045AD88
0055AC2C    FF75 9C         push    dword ptr
0055AC2F    68 10AF5500   push    0055AF10                         ; .uid
0055AC34    8B83 3C030000   mov   eax, dword ptr
0055AC3A    83C0 78         add   eax, 78
0055AC3D    BA 03000000   mov   edx, 3
0055AC42    E8 EDA7EAFF   call    00405434
0055AC47    8B83 3C030000   mov   eax, dword ptr
0055AC4D    8B10            mov   edx, dword ptr
0055AC4F    FF52 3C         call    dword ptr
0055AC52    84C0            test    al, al
0055AC54    74 6C         je      short 0055ACC2
0055AC56    8D55 98         lea   edx, dword ptr
0055AC59    8B83 3C030000   mov   eax, dword ptr
0055AC5F    E8 18E6EDFF   call    0043927C
0055AC64    8B55 98         mov   edx, dword ptr
0055AC67    8BC6            mov   eax, esi
0055AC69    8B08            mov   ecx, dword ptr
0055AC6B    FF51 74         call    dword ptr
0055AC6E    8BC6            mov   eax, esi
0055AC70    E8 0F95EAFF   call    00404184
0055AC75    8D55 90         lea   edx, dword ptr
0055AC78    8B83 3C030000   mov   eax, dword ptr
0055AC7E    E8 F9E5EDFF   call    0043927C
0055AC83    FF75 90         push    dword ptr
0055AC86    68 20AF5500   push    0055AF20                         ; 已生成,
0055AC8B    68 30AF5500   push    0055AF30                         ; \n\n
0055AC90    68 30AF5500   push    0055AF30                         ; \n\n
0055AC95    68 3CAF5500   push    0055AF3C                         ; 请发邮件到
0055AC9A    A1 04455900   mov   eax, dword ptr
0055AC9F    FF30            push    dword ptr
0055ACA1    68 50AF5500   push    0055AF50                         ; 获得正式版.
0055ACA6    8D45 94         lea   eax, dword ptr
0055ACA9    BA 07000000   mov   edx, 7
0055ACAE    E8 81A7EAFF   call    00405434
0055ACB3    8B45 94         mov   eax, dword ptr
0055ACB6    E8 89D7FFFF   call    00558444
0055ACBB    8BC3            mov   eax, ebx
0055ACBD    E8 22CDF1FF   call    004779E4
0055ACC2    33C0            xor   eax, eax
0055ACC4    5A            pop   edx
0055ACC5    59            pop   ecx
0055ACC6    59            pop   ecx
0055ACC7    64:8910         mov   dword ptr fs:, edx
0055ACCA    68 0EAD5500   push    0055AD0E
0055ACCF    8D45 90         lea   eax, dword ptr
0055ACD2    BA 03000000   mov   edx, 3
0055ACD7    E8 FCA3EAFF   call    004050D8
0055ACDC    8D45 9C         lea   eax, dword ptr
0055ACDF    E8 D0A3EAFF   call    004050B4
0055ACE4    8D45 A0         lea   eax, dword ptr
0055ACE7    BA 04000000   mov   edx, 4
0055ACEC    E8 E7A3EAFF   call    004050D8
0055ACF1    8D45 B0         lea   eax, dword ptr
0055ACF4    BA 13000000   mov   edx, 13
0055ACF9    E8 DAA3EAFF   call    004050D8
0055ACFE    8D45 FC         lea   eax, dword ptr
0055AD01    E8 AEA3EAFF   call    004050B4
0055AD06    C3            retn
0055AD07^ E9 209CEAFF   jmp   0040492C
0055AD0C^ EB C1         jmp   short 0055ACCF
0055AD0E    5E            pop   esi
0055AD0F    5B            pop   ebx
0055AD10    8BE5            mov   esp, ebp
0055AD12    5D            pop   ebp
0055AD13    C3            retn


4、算法总结:

officeim
用户公司名
用户数量的数字
注册时间(例如:2007-12-13)
officeim_机器码经DES加密(密钥:windows)   
F11
F21
F31
F41
F51
F61
F71
F81

以上内容经DES加密后得到的结果作为最终KEY文件内容,其中用户公司名,用户数量,注册时间,机器码是由

用户发送的UID文件解密后得到,F11等固定值取决于用户生成UID文件时选择的功能,

wan 发表于 2007-12-23 18:55:52

学习一下,对这种算法还不熟悉

剑哥 发表于 2007-12-28 13:29:37

网络断魂兄:要是能做个视频就易懂多了

网络断魂 发表于 2007-12-28 17:03:09

原帖由 剑哥 于 2007-12-28 13:29 发表 https://www.chinapyg.com/images/common/back.gif
网络断魂兄:要是能做个视频就易懂多了

呵呵,倒也是,上次忘了录了,现在要录的话还得再装软件!

enjon 发表于 2007-12-28 17:09:29

做个视频做个视频支持

网络断魂 发表于 2007-12-28 21:43:45

原帖由 enjon 于 2007-12-28 17:09 发表 https://www.chinapyg.com/images/common/back.gif
做个视频做个视频支持


改天弄个发给你,呵

xuzhenshan 发表于 2008-1-4 10:39:55

做个视频做个视频支持

vecri 发表于 2008-1-4 12:42:36

喜欢算法~~~嘿嘿
页: [1]
查看完整版本: 一个KEY文件保护方式软件的算法分析(DES算法)