-
-
请问这里是不是在取cpu的id?
-
发表于:
2004-5-3 18:42
5935
-
请问这里是不是在取cpu的id?
loc_100C7730: ; CODE XREF:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov dword ptr [ebp-8], 0
mov dword ptr [ebp-4], 0
call sub_100022BB ;这里看能不能使用cpuid
and eax, 0FFFFh ;指令
test eax, eax
jz short loc_100C775D
xor eax, eax
inc eax
cpuid
mov [ebp-4], edx ;取回cpu特征字
;如果cpu支持id
;则取回其高32位
loc_100C775D:
mov eax, [ebp-4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
loc_100C76B0: ; CODE XREF:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
xor eax, eax
inc eax
shl eax, 1
shl eax, 1
inc eax
shl eax, 1
shl eax, 1
inc eax
pushf
pushf
mov ecx, eax
xor eax, eax
inc eax
shl eax, cl
mov edx, eax
pop eax
push eax
xor eax, edx
push eax
mov eax, edx
inc eax
mov edx, eax
popf
mov ebx, ecx
mov eax, ecx
inc eax
mov ecx, eax
mov eax, edx
shl eax, cl
mov edx, eax
pushf
sub eax, ebx
mov edx, eax
pop eax
pop ebx
xor eax, ebx
jnz short loc_100C76FB
mov dword ptr [ebp-4], 0
jmp short loc_100C7702
; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
loc_100C76FB: ; CODE
mov dword ptr [ebp-4], 1
loc_100C7702: ; CODE
popf
mov ax, [ebp-4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
看来还不是取cpuid,因为并不是所有的cpu都支持。这里只是取能返回的一部分信息。附了一篇cpuid指令的资料,见下面的回复。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)