From 09904297d957086fbb5aad7389a1dcadc9d14d5f Mon Sep 17 00:00:00 2001 From: Cc28257 <1109692332@qq.com> Date: Sat, 26 Sep 2020 17:05:33 +0800 Subject: [PATCH] update asm fun calc_hash --- CcMainDll/CcMainDll/dllmain.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CcMainDll/CcMainDll/dllmain.cpp b/CcMainDll/CcMainDll/dllmain.cpp index 14e9db8..a177bc0 100644 --- a/CcMainDll/CcMainDll/dllmain.cpp +++ b/CcMainDll/CcMainDll/dllmain.cpp @@ -341,6 +341,31 @@ inline DWORD call_ror_0xD() inline DWORD calc_name_hash() { _asm { + push ebp + mov ebp, esp + push ecx + mov [ebp-4], 0 + + calc_next: + mov eax, [ebp-4] + push eax + call call_ror_0xD + add esp, 4 + mov [ebp-4], eax + mov ecx, [ebp+8] + movsx edx, byte ptr [ecx] + add edx, [ebp-4] + mov [ebp-4], edx + mov eax, [ebp+8] + add eax, 1 + mov [ebp+8], eax + mov ecx, [ebp+8] + movsx edx, byte ptr [ecx] + test edx, edx + jnz calc_next + mov eax, [ebp-4] + mov esp, ebp + pop ebp retn } }