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

请问这里是不是在取cpu的id?

2004-5-3 18:42
5618
请问这里是不是在取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指令的资料,见下面的回复。

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

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