首页
社区
课程
招聘
我是一只小小鸟,请问如何识别此文件的加密算法?
2004-7-10 02:33 5719

我是一只小小鸟,请问如何识别此文件的加密算法?

2004-7-10 02:33
5719
初学解密,某个商业软件,使用delphi编程,软件检测硬件生成机器码,输入假序列号点OK,无任何提示,退出后重新运行,软件对比注册信息,如系列号正确,OK按键才变虚。我暴破已经成功,想了解具体加密的方法,找出系列号,望各位大侠指点:

软件检测硬件生成机器码:IFHZZkQ5d45M
(硬件检测后先生成9个阿拉伯数字:131599821
先转换成12位的IFHZZkQ5d45M,(显示的机器码)再转换生成wwpPog1xzjaQ2TRk写入注册表default2,
我输入假系列号是8个英文字母,转换生成OIeXqgMKabM,写入注册表default3

注册表的信息:
default1=LVs9VKtkKHwc+D
default2=wwpPog1xzjaQ2TRk
default3=OIeXqgMKabM

请问如何识别算法?
代码如下:
004D5974  /$  55            PUSH EBP
004D5975  |.  8BEC          MOV EBP,ESP
004D5977  |.  33C9          XOR ECX,ECX
004D5979  |.  51            PUSH ECX
004D597A  |.  51            PUSH ECX
004D597B  |.  51            PUSH ECX
004D597C  |.  51            PUSH ECX
004D597D  |.  51            PUSH ECX
004D597E  |.  51            PUSH ECX
004D597F  |.  53            PUSH EBX
004D5980  |.  56            PUSH ESI
004D5981  |.  8BF0          MOV ESI,EAX
004D5983  |.  33C0          XOR EAX,EAX                              ;  eax=0
004D5985  |.  55            PUSH EBP
004D5986  |.  68 505B4D00   PUSH Unpacked.004D5B50
004D598B  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
004D598E  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
004D5991  |.  8BCE          MOV ECX,ESI                              ;  ESI=0012FA28
004D5993  |.  66:BA 7D79    MOV DX,797D                              ;  EDX=dceb38为机器码的注册表值的地址,将DX=797d地址
004D5997  |.  B8 685B4D00   MOV EAX,Unpacked.004D5B68                ;  eax=4d5b68="U4Ea4B"
004D599C  |.  E8 EBF4FFFF   CALL Unpacked.004D4E8C                   ;  F7
004D59A1  |.  6A 00         PUSH 0
004D59A3  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
004D59A6  |.  50            PUSH EAX
004D59A7  |.  B9 785B4D00   MOV ECX,Unpacked.004D5B78                ;  ASCII "default2"
004D59AC  |.  BA 8C5B4D00   MOV EDX,Unpacked.004D5B8C
004D59B1  |.  B0 01         MOV AL,1
004D59B3  |.  E8 04FEFFFF   CALL Unpacked.004D57BC                   ;  装入机器码转换表值
004D59B8  |.  837D FC 00    CMP DWORD PTR SS:[EBP-4],0               ;  比较wwpPog1xzjaQ2TRk
004D59BC  |.  0F84 73010000 JE Unpacked.004D5B35
004D59C2  |.  6A 00         PUSH 0
004D59C4  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
004D59C7  |.  50            PUSH EAX
004D59C8  |.  B9 985B4D00   MOV ECX,Unpacked.004D5B98                ;  ASCII "default3"
004D59CD  |.  BA 8C5B4D00   MOV EDX,Unpacked.004D5B8C
004D59D2  |.  B0 01         MOV AL,1                                 ;  eax=12fc8
004D59D4  |.  E8 E3FDFFFF   CALL Unpacked.004D57BC                   ;  装入wangfeng的转换表值
004D59D9  |.  837D F8 00    CMP DWORD PTR SS:[EBP-8],0               ;  [0012F9C8]=00DCEBAC, (ASCII "OIeXqgMKabM")
004D59DD  |.  0F84 52010000 JE Unpacked.004D5B35                     ;  跳转没有实现
004D59E3  |.  8D4D F4       LEA ECX,DWORD PTR SS:[EBP-C]             ;  堆栈地址=0012F9C4
004D59E6  |.  66:BA 7D79    MOV DX,797D                              ;  dx=797d
004D59EA  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  [0012F9CC]=00DCEB8C, (ASCII "wwpPog1xzjaQ2TRk")
004D59ED  |.  E8 9AF4FFFF   CALL Unpacked.004D4E8C               :见下call
004D59F2  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]             ;  [0012F9C4]=00DCEC08, (ASCII "IFHZZkQ5d45M")
004D59F5  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]             ;  堆栈地址=0012F9CC
004D59F8  |.  E8 23E4F2FF   CALL Unpacked.00403E20
004D59FD  |.  8D4D F0       LEA ECX,DWORD PTR SS:[EBP-10]            ;  堆栈地址=0012F9C0
004D5A00  |.  66:BA 7D79    MOV DX,797D                              ;  DX=F9A4
004D5A04  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  [0012F9CC]=00DCEC08, (ASCII "IFHZZkQ5d45M")
004D5A07  |.  E8 80F4FFFF   CALL Unpacked.004D4E8C
004D5A0C  |.  8B55 F0       MOV EDX,DWORD PTR SS:[EBP-10]            ;  [0012F9C0]=00DCEC7C, (ASCII "131599821")
004D5A0F  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]             ;  堆栈地址=0012F9CC
004D5A12  |.  E8 09E4F2FF   CALL Unpacked.00403E20
004D5A17  |.  8D4D EC       LEA ECX,DWORD PTR SS:[EBP-14]            ;  ECX=0012F9BC
004D5A1A  |.  66:BA 1979    MOV DX,7919                              ;  DX=EC08
004D5A1E  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  [0012F9C8]=00DCEBAC, (ASCII "OIeXqgMKabM")
004D5A21  |.  E8 66F4FFFF   CALL Unpacked.004D4E8C
004D5A26  |.  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]            ;  [0012F9BC]=00DCECC0, (ASCII "我输入的8个英文字母的假序列号")
004D5A29  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]             ;  堆栈地址=0012f9c8
004D5A2C  |.  E8 EFE3F2FF   CALL Unpacked.00403E20
004D5A31  |.  8D4D E8       LEA ECX,DWORD PTR SS:[EBP-18]            ;  堆栈地址=0012F9B8
004D5A34  |.  66:BA 1979    MOV DX,7919                              ;  DX=7919,EDX=00127919
004D5A38  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  [0012F9C8]=00DCECC0, (ASCII 我输入的8个英文字母的假序列号)
004D5A3B  |.  E8 4CF4FFFF   CALL Unpacked.004D4E8C
004D5A40  |.  8B55 E8       MOV EDX,DWORD PTR SS:[EBP-18]            ;  edx=Stack SS:[0012F9B8]=00DCECD8
004D5A43  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]             ;  堆栈地址=0012F9C8
004D5A46  |.  E8 D5E3F2FF   CALL Unpacked.00403E20
004D5A4B  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  [0012F9CC]=00DCEC7C, (ASCII "131599821")
004D5A4E  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  Stack SS:[0012F9C8]=00DCECD8
004D5A51  |.  E8 C2E6F2FF   CALL Unpacked.00404118                   ;  cmp cl,bl
004D5A56  |.  0F94C3        SETE BL                                  ;  根据比较结果设置bL的值 应为TRUE 即:01
004D5A59  |.  84DB          TEST BL,BL                               ;  BL=00
004D5A5B  |.  74 10         JE SHORT Unpacked.004D5A6D               ;  跳转已经实现
004D5A5D  |.  8BCE          MOV ECX,ESI
004D5A5F  |.  66:BA 7D79    MOV DX,797D
004D5A63  |.  B8 AC5B4D00   MOV EAX,Unpacked.004D5BAC                ;  ASCII "AEWgaC"
004D5A68  |.  E8 1FF4FFFF   CALL Unpacked.004D4E8C
004D5A6D  |>  8BCE          MOV ECX,ESI                              ;  ESI=0012FA28
004D5A6F  |.  66:BA 7D79    MOV DX,797D                              ;  DX=0006
004D5A73  |.  B8 685B4D00   MOV EAX,Unpacked.004D5B68                ;  004D5B68=Unpacked.004D5B68 (ASCII "U4Ea4B")
004D5A78  |.  E8 0FF4FFFF   CALL Unpacked.004D4E8C
004D5A7D  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  [0012F9CC]=00DCEC7C, (ASCII "131599821")
004D5A80  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  Stack SS:[0012F9C8]=00DCECD8
004D5A83  |.  E8 90E6F2FF   CALL Unpacked.00404118
004D5A88  |.  0F94C0        SETE AL                                  ;  条件为假 FALSE
004D5A8B  |.  84DB          TEST BL,BL                               ;  BL=00
004D5A8D  |.  74 10         JE SHORT Unpacked.004D5A9F               ;  跳转已经实现
004D5A8F  |.  8BCE          MOV ECX,ESI
004D5A91  |.  66:BA 7D79    MOV DX,797D
004D5A95  |.  B8 AC5B4D00   MOV EAX,Unpacked.004D5BAC                ;  ASCII "AEWgaC"
004D5A9A  |.  E8 EDF3FFFF   CALL Unpacked.004D4E8C
004D5A9F  |>  8BCE          MOV ECX,ESI                              ;  ESI=0012FA28
004D5AA1  |.  66:BA 7D79    MOV DX,797D                              ;  DX=0006
004D5AA5  |.  B8 685B4D00   MOV EAX,Unpacked.004D5B68                ;  004D5B68=Unpacked.004D5B68 (ASCII "U4Ea4B")
004D5AAA  |.  E8 DDF3FFFF   CALL Unpacked.004D4E8C
004D5AAF  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  Stack SS:[0012F9CC]=00DCEC7C, (ASCII "131599821")
004D5AB2  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  Stack SS:[0012F9C8]=00DCECD8
004D5AB5  |.  E8 5EE6F2FF   CALL Unpacked.00404118
004D5ABA  |.  0F94C0        SETE AL                                  ;  条件为假 FALSE
004D5ABD  |.  84DB          TEST BL,BL                               ;  BL=00
004D5ABF  |.  74 10         JE SHORT Unpacked.004D5AD1               ;  跳转已经实现
004D5AC1  |.  8BCE          MOV ECX,ESI
004D5AC3  |.  66:BA 7D79    MOV DX,797D
004D5AC7  |.  B8 AC5B4D00   MOV EAX,Unpacked.004D5BAC                ;  ASCII "AEWgaC"
004D5ACC  |.  E8 BBF3FFFF   CALL Unpacked.004D4E8C
004D5AD1  |>  8BCE          MOV ECX,ESI                              ;  ESI=0012FA28
004D5AD3  |.  66:BA 7D79    MOV DX,797D                              ;  DX=0006
004D5AD7  |.  B8 685B4D00   MOV EAX,Unpacked.004D5B68                ;  004D5B68=Unpacked.004D5B68 (ASCII "U4Ea4B")
004D5ADC  |.  E8 ABF3FFFF   CALL Unpacked.004D4E8C
004D5AE1  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  Stack SS:[0012F9CC]=00DCEC7C, (ASCII "131599821")
004D5AE4  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  Stack SS:[0012F9C8]=00DCECD8
004D5AE7  |.  E8 2CE6F2FF   CALL Unpacked.00404118
004D5AEC  |.  0F94C0        SETE AL                                  ;  条件为假 FALSE
004D5AEF  |.  84DB          TEST BL,BL                               ;  BL=00
004D5AF1  |.  74 10         JE SHORT Unpacked.004D5B03               ;  跳转已经实现
004D5AF3  |.  8BCE          MOV ECX,ESI
004D5AF5  |.  66:BA 7D79    MOV DX,797D
004D5AF9  |.  B8 AC5B4D00   MOV EAX,Unpacked.004D5BAC                ;  ASCII "AEWgaC"
004D5AFE  |.  E8 89F3FFFF   CALL Unpacked.004D4E8C
004D5B03  |>  8BCE          MOV ECX,ESI                              ;  ESI=0012FA28
004D5B05  |.  66:BA 7D79    MOV DX,797D                              ;  DX=0006
004D5B09  |.  B8 685B4D00   MOV EAX,Unpacked.004D5B68                ;  004D5B68=Unpacked.004D5B68 (ASCII "U4Ea4B")
004D5B0E  |.  E8 79F3FFFF   CALL Unpacked.004D4E8C
004D5B13  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  Stack SS:[0012F9CC]=00DCEC7C, (ASCII "131599821")
004D5B16  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  Stack SS:[0012F9C8]=00DCECD8
004D5B19  |.  E8 FAE5F2FF   CALL Unpacked.00404118
004D5B1E  |.  0F94C0        SETE AL                                  ;  条件为假 FALSE
004D5B21  |.  84DB          TEST BL,BL                               ;  BL=00
004D5B23  |.  74 10         JE SHORT Unpacked.004D5B35               ;  跳转已经实现
004D5B25  |.  8BCE          MOV ECX,ESI
004D5B27  |.  66:BA 7D79    MOV DX,797D
004D5B2B  |.  B8 AC5B4D00   MOV EAX,Unpacked.004D5BAC                ;  ASCII "AEWgaC"
004D5B30  |.  E8 57F3FFFF   CALL Unpacked.004D4E8C
004D5B35  |>  33C0          XOR EAX,EAX                              ;  EAX=00000000
004D5B37  |.  5A            POP EDX
004D5B38  |.  59            POP ECX
004D5B39  |.  59            POP ECX
004D5B3A  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX               ;  EDX=0012F9D8
004D5B3D  |.  68 575B4D00   PUSH Unpacked.004D5B57
004D5B42  |>  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]            ;  堆栈地址=0012F9B8
004D5B45  |.  BA 06000000   MOV EDX,6                                ;  EDX=0012F9D8
004D5B4A  |.  E8 5DE2F2FF   CALL Unpacked.00403DAC
004D5B4F  \.  C3            RETN
004D5B50   .^ E9 CBDCF2FF   JMP Unpacked.00403820
004D5B55   .^ EB EB         JMP SHORT Unpacked.004D5B42
004D5B57   .  5E            POP ESI
004D5B58   .  5B            POP EBX
004D5B59   .  8BE5          MOV ESP,EBP
004D5B5B   .  5D            POP EBP
004D5B5C   .  C3            RETN

004D59EA  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  [0012F9CC]=00DCEB8C, (ASCII "wwpPog1xzjaQ2TRk")
004D4E8C
004D4E8C  /$  55            PUSH EBP                                 ;  EBP=0012F9D0
004D4E8D  |.  8BEC          MOV EBP,ESP                              ;  ESP=0012F99C
004D4E8F  |.  6A 00         PUSH 0
004D4E91  |.  53            PUSH EBX                                 ;  EBX=07D80DCD
004D4E92  |.  56            PUSH ESI                                 ;  ESI=0012FA28
004D4E93  |.  57            PUSH EDI
004D4E94  |.  8BF9          MOV EDI,ECX
004D4E96  |.  8BF2          MOV ESI,EDX                              ;  EDX=0000797D
004D4E98  |.  8BD8          MOV EBX,EAX                              ;  EAX=00DCEB8C, (ASCII "wwpPog1xzjaQ2TRk")
004D4E9A  |.  33C0          XOR EAX,EAX                              ;  EAX=0
004D4E9C  |.  55            PUSH EBP                                 ;  EBP=0012F99C
004D4E9D  |.  68 D44E4D00   PUSH Unpacked.004D4ED4                   ;  004D4ED4=Unpacked.004D4ED4
004D4EA2  |.  64:FF30       PUSH DWORD PTR FS:[EAX]                  ;  FS:[00000000]=[7FFDE000]=0012F9A4
004D4EA5  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP               ;  ESP=0012F980
004D4EA8  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]             ;  堆栈地址=0012F998
004D4EAB  |.  8BC3          MOV EAX,EBX                              ;  EBX=00DCEB8C, (ASCII "wwpPog1xzjaQ2TRk")
004D4EAD  |.  E8 CAFEFFFF   CALL Unpacked.004D4D7C
004D4EB2  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  Stack SS:[0012F998]=00DCEBEC
004D4EB5  |.  8BCF          MOV ECX,EDI                              ;  EDI=0012F9C4
004D4EB7  |.  8BD6          MOV EDX,ESI                              ;  ESI=0000797D
004D4EB9  |.  E8 5AFFFFFF   CALL Unpacked.004D4E18
004D4EBE  |.  33C0          XOR EAX,EAX                              ;  EAX=000051B0
004D4EC0  |.  5A            POP EDX                                  ;  Stack [0012F980]=0012F9A4 (0012F9A4)
004D4EC1  |.  59            POP ECX                                  ;  Stack [0012F984]=004D4ED4 (Unpacked.004D4ED4)
004D4EC2  |.  59            POP ECX                                  ;  Stack [0012F988]=0012F99C (0012F99C)
004D4EC3  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX               ;  EDX=0012F9A4
004D4EC6  |.  68 DB4E4D00   PUSH Unpacked.004D4EDB
004D4ECB  |>  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]             ;  堆栈地址=0012F998
004D4ECE  |.  E8 B5EEF2FF   CALL Unpacked.00403D88
004D4ED3  \.  C3            RETN                                     ;  返回到 004D4EDB (Unpacked.004D4EDB)

004D4EDB   .  5F            POP EDI                                  ;  Stack [0012F98C]=004E4164 (Unpacked.004E4164)
004D4EDC   .  5E            POP ESI                                  ;  Stack [0012F990]=0012FA28 (0012FA28)
004D4EDD   .  5B            POP EBX                                  ;  Stack [0012F994]=07D80DCD
004D4EDE   .  59            POP ECX                                  ;  Stack [0012F998]=00000000
004D4EDF   .  5D            POP EBP                                  ;  Stack [0012F99C]=0012F9D0 (0012F9D0)
004D4EE0   .  C3            RETN                                     ;  返回到 004D59F2 (Unpacked.004D59F2)

[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

收藏
免费 2
打赏
分享
最新回复 (6)
雪    币: 223
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1682001 2004-7-10 02:37
2
0
哦,忘记说了,三个SETE AL以下的JE的位置为暴破点。
雪    币: 223
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1682001 2004-7-10 16:03
3
0
没人帮我吗?
雪    币: 223
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1682001 2004-7-11 00:12
4
0
我顶
雪    币: 223
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1682001 2004-7-17 02:33
5
0
!!!
雪    币: 223
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1682001 2004-7-17 18:20
6
0
版主帮我看看好吗
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
RoBa 16 2004-7-17 20:02
7
0
看不出来,作者自己设计的算法吧跟进看看。
游客
登录 | 注册 方可回帖
返回