hbqjxhw 发表于 2018-9-5 08:37:16

看一看是什么算法



0089FA32   /0F8E 57010000   jle V专用?0089FB8F
0089FA38   |83C0 10         add eax,0x10
0089FA3B   |8B10            mov edx,dword ptr ds:
0089FA3D   |8BF2            mov esi,edx
0089FA3F   |C1EE 18         shr esi,0x18
0089FA42   |0FB63431      movzx esi,byte ptr ds:
0089FA46   |8B34B5 38968C00 mov esi,dword ptr ds:
0089FA4D   |8BFA            mov edi,edx
0089FA4F   |C1EF 10         shr edi,0x10
0089FA52   |81E7 FF000000   and edi,0xFF
0089FA58   |0FB63C39      movzx edi,byte ptr ds:
0089FA5C   |3334BD 38928C00 xor esi,dword ptr ds:
0089FA63   |8BFA            mov edi,edx
0089FA65   |C1EF 08         shr edi,0x8
0089FA68   |81E7 FF000000   and edi,0xFF
0089FA6E   |0FB63C39      movzx edi,byte ptr ds:
0089FA72   |3334BD 388E8C00 xor esi,dword ptr ds:
0089FA79   |81E2 FF000000   and edx,0xFF
0089FA7F   |0FB61411      movzx edx,byte ptr ds:
0089FA83   |333495 388A8C00 xor esi,dword ptr ds:
0089FA8A   |8930            mov dword ptr ds:,esi
0089FA8C   |8B50 04         mov edx,dword ptr ds:
0089FA8F   |8BF2            mov esi,edx
0089FA91   |C1EE 18         shr esi,0x18
0089FA94   |0FB63431      movzx esi,byte ptr ds:
0089FA98   |8B34B5 38968C00 mov esi,dword ptr ds:
0089FA9F   |8BFA            mov edi,edx
0089FAA1   |C1EF 10         shr edi,0x10
0089FAA4   |81E7 FF000000   and edi,0xFF
0089FAAA   |0FB63C39      movzx edi,byte ptr ds:
0089FAAE   |3334BD 38928C00 xor esi,dword ptr ds:
0089FAB5   |8BFA            mov edi,edx
0089FAB7   |C1EF 08         shr edi,0x8
0089FABA   |81E7 FF000000   and edi,0xFF
0089FAC0   |0FB63C39      movzx edi,byte ptr ds:
0089FAC4   |3334BD 388E8C00 xor esi,dword ptr ds:
0089FACB   |81E2 FF000000   and edx,0xFF
0089FAD1   |0FB61411      movzx edx,byte ptr ds:
0089FAD5   |333495 388A8C00 xor esi,dword ptr ds:
0089FADC   |8970 04         mov dword ptr ds:,esi
0089FADF   |8B50 08         mov edx,dword ptr ds:
0089FAE2   |8BF2            mov esi,edx
0089FAE4   |C1EE 18         shr esi,0x18
0089FAE7   |0FB63431      movzx esi,byte ptr ds:
0089FAEB   |8B34B5 38968C00 mov esi,dword ptr ds:
0089FAF2   |8BFA            mov edi,edx
0089FAF4   |C1EF 10         shr edi,0x10
0089FAF7   |81E7 FF000000   and edi,0xFF
0089FAFD   |0FB63C39      movzx edi,byte ptr ds:
0089FB01   |3334BD 38928C00 xor esi,dword ptr ds:
0089FB08   |8BFA            mov edi,edx
0089FB0A   |C1EF 08         shr edi,0x8
0089FB0D   |81E7 FF000000   and edi,0xFF
0089FB13   |0FB63C39      movzx edi,byte ptr ds:
0089FB17   |3334BD 388E8C00 xor esi,dword ptr ds:
0089FB1E   |81E2 FF000000   and edx,0xFF
0089FB24   |0FB61411      movzx edx,byte ptr ds:
0089FB28   |333495 388A8C00 xor esi,dword ptr ds:
0089FB2F   |8970 08         mov dword ptr ds:,esi
0089FB32   |8B50 0C         mov edx,dword ptr ds:
0089FB35   |8BF2            mov esi,edx
0089FB37   |C1EE 18         shr esi,0x18
0089FB3A   |0FB63431      movzx esi,byte ptr ds:
0089FB3E   |8B34B5 38968C00 mov esi,dword ptr ds:
0089FB45   |8BFA            mov edi,edx
0089FB47   |C1EF 10         shr edi,0x10
0089FB4A   |81E7 FF000000   and edi,0xFF
0089FB50   |0FB63C39      movzx edi,byte ptr ds:
0089FB54   |3334BD 38928C00 xor esi,dword ptr ds:
0089FB5B   |8BFA            mov edi,edx
0089FB5D   |C1EF 08         shr edi,0x8
0089FB60   |81E7 FF000000   and edi,0xFF
0089FB66   |0FB63C39      movzx edi,byte ptr ds:
0089FB6A   |3334BD 388E8C00 xor esi,dword ptr ds:
0089FB71   |81E2 FF000000   and edx,0xFF
0089FB77   |0FB61411      movzx edx,byte ptr ds:
0089FB7B   |333495 388A8C00 xor esi,dword ptr ds:
0089FB82   |8970 0C         mov dword ptr ds:,esi
0089FB85   |83C0 10         add eax,0x10
0089FB88   |4B            dec ebx
0089FB89^|0F85 ACFEFFFF   jnz V专用?0089FA3B
0089FB8F   \5F            pop edi                                           ; 09BB633C
0089FB90    5E            pop esi                                           ; 09BB633C
0089FB91    5B            pop ebx                                           ; 09BB633C
0089FB92    C3            retn




蓝蓝深海 发表于 2018-9-5 11:00:34

   -->这是个表吧

下面位运算吧   不知道对不对

hbqjxhw 发表于 2018-9-5 12:54:38

蓝蓝深海 发表于 2018-9-5 11:00
   -->这是个表吧

下面位运算吧   不知道对不对

第一个表:0x8C9638
第三个表:0x8C9238
第三个表:0x8C8A38
第四个表:0x8C8E38

先取四个数0x11111111,0x22222222,0x33333333,0x44444444通过上面的表,移位,异或,会得到另外四个数。

Renshk 发表于 2018-10-19 15:54:18

用ida看图形化的流程,比较方便理解
页: [1]
查看完整版本: 看一看是什么算法