将一buf计算其md5值,分4段4个dword取出,转换成qword的浮点,生成一张表,生成表的函数内有数十个switch case,感觉应该是什么标准算法库但是不知道生成的表如下
1440A960 03 00 00 00 02 00 1E 00 00 00 00 80 D5 B9 7F 41 ........€展A
1440A970 06 00 00 00 18 00 19 00 80 79 40 14 20 00 1A 00 .....€y@ ..
1440A980 03 00 00 00 20 00 1D 00 00 00 00 70 2D 41 B4 41 ... .....p-A碅
1440A990 03 00 00 00 12 00 11 00 00 00 80 45 5D 36 DC C1 .......€E]6芰
1440A9A0 03 00 00 00 0B 00 0D 00 00 00 40 3B D0 6A D2 41 ........@;衘褹
1440A9B0 03 00 00 00 14 00 1A 00 00 00 00 00 00 68 97 40 ..........h桜
1440A9C0 03 00 00 00 1A 00 0E 00 00 00 00 3C 20 8D C1 41 ........< 嵙A
1440A9D0 03 00 00 00 0A 00 0E 00 00 00 00 00 00 00 00 00 ..............
1440A9E0 03 00 00 00 02 00 01 00 00 00 20 37 EF C6 E3 41 ....... 7锲鉇
1440A9F0 03 00 00 00 08 00 04 00 00 00 C0 06 2A 6B D8 41 .......?*k谹
1440AA00 03 00 00 00 1C 00 0C 00 00 00 00 45 C2 BF D2 41 .........E驴褹
1440AA10 03 00 00 00 0B 00 0B 00 00 00 00 E4 E6 DD E8 41 ........滏蓁A
1440AA20 03 00 00 00 08 00 07 00 00 00 40 3B D0 6A D2 41 .......@;衘褹
1440AA30 03 00 00 00 22 00 23 00 00 00 00 00 00 68 97 40 ...".#......h桜
1440AA40 03 00 00 00 28 00 29 00 00 00 00 3C 20 8D C1 41 ...(.)....< 嵙A
1440AA50 03 00 00 00 2D 00 2E 00 00 00 00 00 00 00 00 00 ...-...........
1440AA60 00 00 00 00 33 00 2C 00 32 00 27 00 24 00 2B 00 ....3.,.2.'.$.+.
1440AA70 03 00 00 00 24 00 34 00 00 00 C0 06 2A 6B D8 41 ...$.4...?*k谹
1440AA80 03 00 00 00 35 00 2F 00 00 00 00 45 C2 BF D2 41 ...5./....E驴褹
1440AA90 03 00 00 00 38 00 2C 00 00 00 00 00 00 00 F0 3F ...8.,.......?
1440AAA0 03 00 00 00 21 00 35 00 00 00 00 45 C2 BF D2 41 ...!.5....E驴褹
1440AAB0 03 00 00 00 30 00 3B 00 00 00 80 60 48 46 CA 41 ...0.;...€`HF蔄
1440AAC0 03 00 00 00 35 00 23 00 00 00 00 53 78 72 B6 41 ...5.#....Sxr禔
粘贴部分代码如下:
mov eax, [ebx+0Ch]
.text:00A23581 mov edi, esi
.text:00A23583 shr edi, 18h
.text:00A23586 mov [esp+50h+var_2C], edi
.text:00A2358A shl edi, 4
.text:00A2358D mov [esp+50h+var_3C], eax
.text:00A23591 mov [esp+50h+var_30], edi
.text:00A23595 add edi, eax
.text:00A23597 mov eax, esi
.text:00A23599 and eax, 3Fh
.text:00A2359C cmp eax, 22h ; switch 35 cases
.text:00A2359F ja short loc_A2354C ; default
.text:00A235A1 jmp ds:off_A245AC[eax*4] ; switch jump
.text:00A235A8
.text:00A235A8 loc_A235A8: ; DATA XREF: .text:off_A245ACo
.text:00A235A8 shr esi, 0Fh ; jumptable 00A235A1 case 0
.text:00A235AB and esi, 1FFh
.text:00A235B1 shl esi, 4
.text:00A235B4 add esi, [esp+50h+var_3C]
.text:00A235B8
.text:00A235B8 loc_A235B8: ; CODE XREF: GetMd5+EAj
.text:00A235B8 mov eax, [esi]
.text:00A235BA mov [edi], eax
.text:00A235BC mov ecx, [esi+8]
.text:00A235BF mov [edi+8], ecx
.text:00A235C2 mov edx, [esi+0Ch]
.text:00A235C5 mov [edi+0Ch], edx
.text:00A235C8 jmp short loc_A2354C ; default
.text:00A235CA ; ---------------------------------------------------------------------------
.text:00A235CA
.text:00A235CA loc_A235CA: ; CODE XREF: GetMd5+B1j
.text:00A235CA ; DATA XREF: .text:off_A245ACo
.text:00A235CA shr esi, 6 ; jumptable 00A235A1 case 1
.text:00A235CD and esi, 3FFFFh
.text:00A235D3 shl esi, 4
.text:00A235D6 add esi, [esp+50h+var_38]
.text:00A235DA jmp short loc_A235B8
.text:00A235DC ; ---------------------------------------------------------------------------
.text:00A235DC
.text:00A235DC loc_A235DC: ; CODE XREF: GetMd5+B1j
.text:00A235DC ; DATA XREF: .text:off_A245ACo
.text:00A235DC mov eax, esi ; jumptable 00A235A1 case 2
.text:00A235DE shr eax, 0Fh
.text:00A235E1 and eax, 1FFh
.text:00A235E6 test esi, 7FC0h
.text:00A235EC mov dword ptr [edi], 1
.text:00A235F2 mov [edi+8], eax
.text:00A235F5 jz loc_A2354C ; default
.text:00A235FB add [esp+50h+var_40], 4
.text:00A23600 jmp loc_A2354C ; default
.text:00A23605 ; ---------------------------------------------------------------------------
.text:00A23605
.text:00A23605 loc_A23605: ; CODE XREF: GetMd5+B1j
.text:00A23605 ; DATA XREF: .text:off_A245ACo
.text:00A23605 shr esi, 0Fh ; jumptable 00A235A1 case 3
.text:00A23608 and esi, 1FFh
.text:00A2360E shl esi, 4
.text:00A23611 add esi, [esp+50h+var_3C]
.text:00A23615
.text:00A23615 loc_A23615: ; CODE XREF: GetMd5+130j
.text:00A23615 mov dword ptr [esi], 0
.text:00A2361B sub esi, 10h
.text:00A2361E cmp esi, edi
.text:00A23620 jnb short loc_A23615
.text:00A23622 jmp loc_A2354C ; default
请问各位见多的大大,这个是不是一种公开的库,强烈感觉这个是什么库,谢谢各位
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课