|
发表于 2015-4-23 13:19:03
|
显示全部楼层
已经扣好汇编代码:
Function FindMemory2(ByVal destAddr As Long, ByVal destSize As Long, ByRef lpCB As CMP_BYTE, ByVal cbCount As Long, ByVal Absolute As Long) As Long
'_asm{overall}
'_asm{
' push ebp
' mov ebp, esp
' push ebx
' push esi
' push edi
' cmp dword ptr [ebp+8], 0
' je L044
' cmp dword ptr [ebp+12], 0
' je L044
' cmp dword ptr [ebp+16], 0
' je L044
' cmp dword ptr [ebp+20], 0
' je L044
' mov eax, dword ptr [ebp+20]
' cmp eax, dword ptr [ebp+12]
' ja L044
' push eax
' mov edi, dword ptr [ebp+8]
'L018:
' mov esi, dword ptr [ebp+16]
' xor eax, eax
' mov dword ptr [ebp-16], eax
'L021:
' mov ax, word ptr [esi]
' test al, al
' je L027
' mov ebx, dword ptr [ebp-16]
' cmp ah, byte ptr [edi+ebx]
' jnz L038
'L027:
' inc dword ptr [ebp-16]
' add esi, 2
' mov eax, dword ptr [ebp-16]
' cmp eax, dword ptr [ebp+20]
' jb L021
' mov eax, dword ptr [ebp+24]
' test eax, eax
' mov eax, edi
' jnz L046
' sub eax, dword ptr [ebp+8]
' jmp L046
'L038:
' inc edi
' mov eax, dword ptr [ebp+12]
' sub eax, dword ptr [ebp+20]
' add eax, dword ptr [ebp+8]
' cmp edi, eax
' jbe L018
'L044:
' xor eax, eax
' dec eax
'L046:
' pop ecx
' pop edi
' pop esi
' pop ebx
' mov esp, ebp
' pop ebp
' retn 20
'}
End Function
1.8kb的代码却需要68.5kb的dll,看来c语言的垃圾代码也是很多的。
经测试调用成功 |
|