| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| StrLen | 整数型 | 取文本长度 返回获取的文本长度 | |||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| Str | 文本型 | 文本 | |||||
' push ecx
' push edi
' mov edi,dword [ebp 0x08]
' test edi,edi
' je InvaildPtr
' mov edi,dword [edi]
' xor eax,eax
' test edi,edi
' je InvaildPtr
' or ecx,0xFFFFFFFF
' repne scas byte [edi]
' not ecx
' dec ecx
' mov eax,ecx
' InvaildPtr:
' pop edi
' pop ecx
' mov esp,ebp
' pop ebp
' ret 0x4
' }
' _asm{
' mov eax,dword [ebp 0x08]
' test eax,eax
' je InvaildPtr
' mov eax,dword [eax]
' test eax,eax
' je InvaildPtr
' push ebx
' push ecx
' lea edx,dword [eax 0x03]
' LoopCal:
' mov ebx,dword [eax]
' add eax,0x04
' lea ecx,dword [ebx-0x01010101]
' not ebx
' and ecx,ebx
' and ecx,0x80808080
' je LoopCal
' test ecx,0x00008080
' jne Result
' shr ecx,0x10
' add eax,0x02
' Result:
' shl cl,1
' sbb eax,edx
' pop ecx
' pop ebx
' InvaildPtr:
' mov esp,ebp
' pop ebp
' ret 4
' }
置入代码 ({ 81, 87, 139, 125, 8, 49, 192, 133, 255, 116, 10, 131, 201, 255, 242, 174, 247, 209, 73, 137, 200, 95, 89, 137, 236, 93, 194, 4, 0 })
'
置入代码 ({ 139, 69, 8, 133, 192, 116, 48, 83, 81, 141, 80, 3, 139, 24, 131, 192, 4, 141, 139, 255, 254, 254, 254, 247, 211, 33, 217, 129, 225, 128, 128, 128, 128, 116, 233, 247, 193, 128, 128, 0, 0, 117, 6, 193, 233, 16, 131, 192, 2, 208, 225, 25, 208, 89, 91, 137, 236, 93, 194, 4, 0 })
返回 (0)
词条作者信息 使用例程
