常用ShellCode Hash算法-Delphi内镶BASM,ShellCode,Win32/64编程 2008年06月23日 星期一 下午 09:35 看到北极星GG~发布了这么多代码/..小弟自感惭愧.. 最近精神好一点..也捣鼓了一点点东西... 看了一下ShellCode 发现有许多不同的字符串Hash..感觉蛮有意思的 在这里发出来一下 ShellCode 中应用最多的hash算法... 1.ror 13算法--刚开始用Pascal写.发现里面居然没有循环移位.指令唉~~ 代码:-------------------------------------------------------------------------------- //与$D作循环移位计算 function GetRORHashEx(StrAPI:Pchar):DWORD; var I:Integer; begin Result := 0; for I:= 0 to Length(StrAPI)-1 do begin asm ror Result,$D end; Result := Result ord(StrAPI[I]); end; end; -------------------------------------------------------------------------------- PEID不知道是什么原理居然可以扫描出来算法..Poly Crc32? 2.Crc32b算法---小弟只在Coban2k的Hash Unit中看到过~Crc32a算法 但是感觉差不多~估计是因为有重复Hash出现所以开发了b算法 一下代码是..从zhengxin的 病毒代码中提取出来的 这里抱怨一下...BASM真难用..字符串赋值老是出错... 估计可能是..我用的Delphi 6的问题..郁闷的说 代码:-------------------------------------------------------------------------------- //Crc32b算法 function GetCrc32bHash(StrAPI:PChar):DWORD; asm mov esi, eax//算法太经典了~ xor eax, eax dec eax mov edx, esi @@1: cmp byte ptr [edx], 0//判断字符串是否是00..是的话就结束 je @@4 xor al, [edx] mov bl, 8 @@2: shr eax, 1 jnc @@3 xor eax, 0EDB88320h//太熟悉了~~ @@3: dec bl jnz @@2 inc edx jmp @@1 @@4: not eax mov Result,eax end; -------------------------------------------------------------------------------- 3.xCrc32算法--一种Crc32b的变型算法...这个算法是从 z0mbie的 Crc算法库中提取出来的..自己加工了一下.. ..呵呵~~不知道为什么在Delphi 10下就可以象我想的这么跑了 但是不知道为什么Delphi 6 就不正常了~~居然会把 第二个参数放在edx中??哪位高手能告诉我为什么会这样?? 代码:-------------------------------------------------------------------------------- //xCrc32算法 function GetxCrc32Hash(StrAPI:PChar;StrSize:Integer):DWORD; asm mov ecx, edx //将数据长度保存在ECX中 add ecx, 1 //由于char *是以00结束的所以这里多循环一次 mov edx, StrAPI //将StrAPI指针保存在edx中...不知道为什么汇编参数不好用~ jecxz @@4 //是否循环完毕~ecx为0就.跳! xor eax, eax //EAX清0 not eax //翻转EAX---EAX=$FFFFFFFF @@1: xor al, [edx] inc edx mov bl, 8 @@2: shr eax, 1 jnc @@3 xor eax, 0EDB88320h @@3: dec bl jnz @@2 loop @@1 not eax @@4: mov Result,eax end; |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 15:23 , Processed in 0.177675 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.