首页
社区
课程
招聘
请问这里是不是在取cpu的id?
发表于: 2004-5-3 18:42 5935

请问这里是不是在取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期)

收藏
免费 6
支持
分享
最新回复 (1)
雪    币: 279
活跃值: (435)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
2
已经找到答案。
附上一篇关于cpuid的文章,希望对要了解cpuid的人有帮助。
2004-5-6 15:01
0
游客
登录 | 注册 方可回帖
返回
//