首页
社区
课程
招聘
哪位帮我看看这是什么类型的算法?
发表于: 2005-11-6 21:24 4052

哪位帮我看看这是什么类型的算法?

2005-11-6 21:24
4052
哪位帮我看看这是什么类型的算法:(这是在内存里跟踪得到的。)
PUSH dd ****** :此处地址放8位密钥
PUSH DD ****** :此处地址放运算后的8位数
PUSH DD ****** ;此处地址放另8位密钥
LEA ECX ****** ;此处地址放类似码表(用0,1,2来表示)
CALL ******* ;运算此CALL后将把上面两个8位运算成一个8位数

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
2
把call的代码贴出来看看。
2005-11-6 22:48
0
雪    币: 205
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最初由 cnbragon 发布
把call的代码贴出来看看。

这是那个CALL里的:
0167:0040920B 53               PUSH     EBX
0167:0040920C 55               PUSH     EBP
0167:0040920D 56               PUSH     ESI
0167:0040920E 8BF1             MOV      ESI,ECX
0167:00409210 B306             MOV      BL,06
0167:00409212 B20C             MOV      DL,0C
0167:00409214 B105             MOV      CL,05
0167:00409216 B009             MOV      AL,09
0167:00409218 57               PUSH     EDI
0167:00409219 C68424B40100000E MOV      BYTE [ESP+01B4],0E
0167:00409221 C68424B501000004 MOV      BYTE [ESP+01B5],04
0167:00409229 C68424B60100000D MOV      BYTE [ESP+01B6],0D
0167:00409231 C68424B701000001 MOV      BYTE [ESP+01B7],01
0167:00409239 C68424B801000002 MOV      BYTE [ESP+01B8],02
0167:00409241 C68424B90100000F MOV      BYTE [ESP+01B9],0F
0167:00409249 C68424BA0100000B MOV      BYTE [ESP+01BA],0B
0167:00409251 C68424BB01000008 MOV      BYTE [ESP+01BB],08
0167:00409259 C68424BC01000003 MOV      BYTE [ESP+01BC],03
0167:00409261 C68424BD0100000A MOV      BYTE [ESP+01BD],0A
0167:00409269 889C24BE010000   MOV      [ESP+01BE],BL
0167:00409270 889424BF010000   MOV      [ESP+01BF],DL
0167:00409277 888C24C0010000   MOV      [ESP+01C0],CL
0167:0040927E 888424C1010000   MOV      [ESP+01C1],AL
0167:00409285 C68424C201000000 MOV      BYTE [ESP+01C2],00
0167:0040928D C68424C301000007 MOV      BYTE [ESP+01C3],07
0167:00409295 C68424C401000000 MOV      BYTE [ESP+01C4],00
0167:0040929D C68424C50100000F MOV      BYTE [ESP+01C5],0F
0167:004092A5 C68424C601000007 MOV      BYTE [ESP+01C6],07
0167:004092AD C68424C701000004 MOV      BYTE [ESP+01C7],04
0167:004092B5 C68424C80100000E MOV      BYTE [ESP+01C8],0E
0167:004092BD C68424C901000002 MOV      BYTE [ESP+01C9],02
0167:004092C5 C68424CA0100000D MOV      BYTE [ESP+01CA],0D
0167:004092CD C68424CB01000001 MOV      BYTE [ESP+01CB],01
0167:004092D5 C68424CC0100000A MOV      BYTE [ESP+01CC],0A
  。。。。。这样连续写内存大概510句左右
0167:0040A098 88542471         MOV      [ESP+71],DL
0167:0040A09C 88442472         MOV      [ESP+72],AL
0167:0040A0A0 C644247300       MOV      BYTE [ESP+73],00
0167:0040A0A5 C644247403       MOV      BYTE [ESP+74],03
0167:0040A0AA 884C2475         MOV      [ESP+75],CL
0167:0040A0AE 885C2476         MOV      [ESP+76],BL
0167:0040A0B2 C64424770B       MOV      BYTE [ESP+77],0B
0167:0040A0B7 E88AD80200       CALL     `MFC42!ord_00000337`
这里是CALL     `MFC42!ord_00000337:
0167:5F403838 53               PUSH     EBX
0167:5F403839 8B1D40B1495F     MOV      EBX,[5F49B140]
0167:5F40383F 55               PUSH     EBP
0167:5F403840 8B6C240C         MOV      EBP,[ESP+0C]
0167:5F403844 56               PUSH     ESI
0167:5F403845 8B35D4BD495F     MOV      ESI,[5F49BDD4]
0167:5F40384B 57               PUSH     EDI
0167:5F40384C 55               PUSH     EBP
0167:5F40384D FFD3             CALL     EBX  ---->msvcrt!malloc
0167:5F40384F 8BF8             MOV      EDI,EAX
0167:5F403851 59               POP      ECX
0167:5F403852 85FF             TEST     EDI,EDI
0167:5F403854 0F84546E0500     JZ       NEAR 5F45A6AE
0167:5F40385A 8BC7             MOV      EAX,EDI
0167:5F40385C 5F               POP      EDI
0167:5F40385D 5E               POP      ESI
0167:5F40385E 5D               POP      EBP
0167:5F40385F 5B               POP      EBX
0167:5F403860 C3               RET
下面是CALL MFC42!ord_00000337过后的内容:
0167:0040A0BC 8BAC247C020000   MOV      EBP,[ESP+027C]
0167:0040A0C3 8BF8             MOV      EDI,EAX
0167:0040A0C5 83C404           ADD      ESP,BYTE +04
0167:0040A0C8 897C242C         MOV      [ESP+2C],EDI
0167:0040A0CC 85ED             TEST     EBP,EBP
0167:0040A0CE 892F             MOV      [EDI],EBP
0167:0040A0D0 7408             JZ       0040A0DA
0167:0040A0D2 33C0             XOR      EAX,EAX
0167:0040A0D4 8A442C54         MOV      AL,[ESP+EBP+54]
0167:0040A0D8 8907             MOV      [EDI],EAX
0167:0040A0DA 8D8C2448020000   LEA      ECX,[ESP+0248]
0167:0040A0E1 E8E4D80200       CALL     `MFC42!ord_0000021D`
0167:0040A0E6 8D8C2434020000   LEA      ECX,[ESP+0234]
0167:0040A0ED C784246402000000+MOV      DWORD [ESP+0264],00
0167:0040A0F8 E8C7D80200       CALL     `MFC42!ord_00000238`
0167:0040A0FD 8D4C2420         LEA      ECX,[ESP+20]
0167:0040A101 C684246402000001 MOV      BYTE [ESP+0264],01
0167:0040A109 E80ED80200       CALL     `MFC42!ord_0000021C`
0167:0040A10E 8B8C243C020000   MOV      ECX,[ESP+023C]
0167:0040A115 55               PUSH     EBP
0167:0040A116 51               PUSH     ECX
0167:0040A117 8D8C243C020000   LEA      ECX,[ESP+023C]
0167:0040A11E C684246C02000002 MOV      BYTE [ESP+026C],02
0167:0040A126 E893D80200       CALL     `MFC42!ord_000016E7`
0167:0040A12B 8B942450020000   MOV      EDX,[ESP+0250]
0167:0040A132 6834A54400       PUSH     DWORD 0044A534
0167:0040A137 52               PUSH     EDX
0167:0040A138 8D8C2450020000   LEA      ECX,[ESP+0250]
0167:0040A13F E874D80200       CALL     `MFC42!ord_000016E5`
0167:0040A144 55               PUSH     EBP
0167:0040A145 6A0D             PUSH     BYTE +0D
0167:0040A147 8D442428         LEA      EAX,[ESP+28]
0167:0040A14B 6850AE4400       PUSH     DWORD 0044AE50
0167:0040A150 50               PUSH     EAX
0167:0040A151 E8E4D70200       CALL     `MFC42!ord_00000B02`
0167:0040A156 83C410           ADD      ESP,BYTE +10
0167:0040A159 C644241000       MOV      BYTE [ESP+10],00
0167:0040A15E 833F00           CMP      DWORD [EDI],BYTE +00
0167:0040A161 0F8559010000     JNZ      NEAR 0040A2C0
0167:0040A167 660FB64C2410     MOVZX    CX,[ESP+10]
0167:0040A16D 8B94243C020000   MOV      EDX,[ESP+023C]
0167:0040A174 51               PUSH     ECX
0167:0040A175 52               PUSH     EDX
0167:0040A176 8D8C243C020000   LEA      ECX,[ESP+023C]
0167:0040A17D E83CD80200       CALL     `MFC42!ord_000016E7`
0167:0040A182 8B6C2410         MOV      EBP,[ESP+10]
0167:0040A186 8B842474020000   MOV      EAX,[ESP+0274]
0167:0040A18D 8B8C246C020000   MOV      ECX,[ESP+026C]
0167:0040A194 81E5FF000000     AND      EBP,FF
0167:0040A19A 8A1C28           MOV      BL,[EAX+EBP]
0167:0040A19D 8A86A8010000     MOV      AL,[ESI+01A8]
0167:0040A1A3 8A1429           MOV      DL,[ECX+EBP]
0167:0040A1A6 32D8             XOR      BL,AL
0167:0040A1A8 8B842478020000   MOV      EAX,[ESP+0278]
0167:0040A1AF 8D4C2420         LEA      ECX,[ESP+20]
0167:0040A1B3 50               PUSH     EAX
0167:0040A1B4 55               PUSH     EBP
0167:0040A1B5 6850AE4400       PUSH     DWORD 0044AE50
0167:0040A1BA 51               PUSH     ECX
0167:0040A1BB 885C2440         MOV      [ESP+40],BL
0167:0040A1BF 8854242C         MOV      [ESP+2C],DL
0167:0040A1C3 E872D70200       CALL     `MFC42!ord_00000B02`
0167:0040A1C8 8A44242C         MOV      AL,[ESP+2C]
0167:0040A1CC 83C410           ADD      ESP,BYTE +10
0167:0040A1CF 32C3             XOR      AL,BL
0167:0040A1D1 C644242800       MOV      BYTE [ESP+28],00
0167:0040A1D6 8844241C         MOV      [ESP+1C],AL
0167:0040A1DA 833F00           CMP      DWORD [EDI],BYTE +00
0167:0040A1DD 756E             JNZ      0040A24D
0167:0040A1DF 8B7C2428         MOV      EDI,[ESP+28]
0167:0040A1E3 8B442430         MOV      EAX,[ESP+30]
0167:0040A1E7 81E7FF000000     AND      EDI,FF
0167:0040A1ED B907000000       MOV      ECX,07
0167:0040A1F2 2BCF             SUB      ECX,EDI
0167:0040A1F4 BB01000000       MOV      EBX,01
0167:0040A1F9 D3E3             SHL      EBX,CL
0167:0040A1FB 25FF000000       AND      EAX,FF
0167:0040A200 99               CDQ     
0167:0040A201 F7FB             IDIV     EBX
0167:0040A203 2501000080       AND      EAX,80000001
0167:0040A208 7905             JNS      0040A20F
0167:0040A20A 48               DEC      EAX
0167:0040A20B 83C8FE           OR       EAX,BYTE -02
0167:0040A20E 40               INC      EAX
0167:0040A20F 8D94EF68010000   LEA      EDX,[EDI+EBP*8+0168]
0167:0040A216 880432           MOV      [EDX+ESI],AL
0167:0040A219 8B44241C         MOV      EAX,[ESP+1C]
0167:0040A21D 25FF000000       AND      EAX,FF
0167:0040A222 99               CDQ     
0167:0040A223 F7FB             IDIV     EBX
0167:0040A225 2501000080       AND      EAX,80000001
0167:0040A22A 7905             JNS      0040A231
0167:0040A22C 48               DEC      EAX
0167:0040A22D 83C8FE           OR       EAX,BYTE -02
0167:0040A230 40               INC      EAX
0167:0040A231 8D8CEF28010000   LEA      ECX,[EDI+EBP*8+0128]
0167:0040A238 8B7C242C         MOV      EDI,[ESP+2C]
0167:0040A23C 880431           MOV      [ECX+ESI],AL
0167:0040A23F 8A442428         MOV      AL,[ESP+28]
0167:0040A243 FEC0             INC      AL
0167:0040A245 3C08             CMP      AL,08
0167:0040A247 88442428         MOV      [ESP+28],AL
0167:0040A24B 728D             JC       0040A1DA             (JUMP)
2005-11-9 14:06
0
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
4
maybe AES.楼主可以用PeID的kanal plugin看看。
2005-11-9 15:19
0
雪    币: 205
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 cnbragon 发布
maybe AES.楼主可以用PeID的kanal plugin看看。

我用PeID的kanal查了,没能识出来。
版主还有别的识别方法吗?
2005-11-13 17:45
0
雪    币: 3686
活跃值: (1036)
能力值: (RANK:760 )
在线值:
发帖
回帖
粉丝
6
调用了这么多MFC,再看看后面没发现什么,估计不是成熟的密码学算法,有可能是作者自己设计的。
2005-11-13 17:48
0
雪    币: 205
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 cnbragon 发布
调用了这么多MFC,再看看后面没发现什么,估计不是成熟的密码学算法,有可能是作者自己设计的。

澳!谢谢了!
2005-11-14 16:50
0
游客
登录 | 注册 方可回帖
返回
//