|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多.纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码对照|心得比来到收拾了一份CPU的信息,应当算是对照周全的吧。
几近如今一切的X86CPU都内置了CPUID指令以分辨真伪,一些CPU厂商比方AMD,VIA等还内置了加倍丰厚的扩大CPUID指令,用着更便利了。
上面我们使用Delphi来完成一个CPU检测的软件。
CPUID的挪用体例以下:
asm
pusheax
pushebx
pushecx
pushedx
moveax,X
//******************************************************
//cpuid指令,由于Delphi的汇编编译器没有内置该指令,
//以是用该指令的呆板言语代码$0F,$A2来完成
//******************************************************
db$0F,$A2
popedx
popecx
popebx
popeax
end;
CPUID指令的参数就是EAX,moveax,X这一句就是把X赋给EAX。
前往的参数存储在EAX,EBX,ECX,EDX当中。
我们能够写一个函数:
type
TCPUIDResult=record
EAX:DWord;
EBX:DWord;
ECX:DWord;
EDX:DWord;
end;
……
functionCPUID(EAX:DWord):TCPUIDResult;
asm
pusheax
pushebx
pushecx
pushedx
moveax,EAX
//******************************************************
//cpuid指令,由于Delphi的汇编编译器没有内置该指令,
//以是用该指令的呆板言语代码$0F,$A2来完成
//******************************************************
db$0F,$A2
movResult.EAX,EAX
movResult.EBX,EBX
movResult.ECX,ECX
movResult.EDX,EDX
popedx
popecx
popebx
popeax
end;
CPUID参数及前往值列表:
EAX=0000_0000h
输出EAX=0000_0000h失掉CPUID指令所撑持的最年夜值和厂家的称号字符串
输入EAX=xxxx_xxxxh失掉CPUID指令所撑持的最年夜值#1
EBX-EDX-ECX厂家的称号字符串#2
GenuineIntelIntel处置器
UMCUMCUMCUMC处置器
AuthenticAMDAMD处置器
CyrixInsteadCyrix处置器
NexGenDrivenNexGen处置器
CentaurHaulsCentaur处置器
RiseRiseRiseRiseTechnology处置器
GenuineTMx86Transmeta处置器
GeodebyNSCNationalSemiconductor处置器
申明形貌
#1pre-B0stepIntelP5处置器前往EAX=0000_05xxh.
#2pre-B0stepIntelP5处置器不克不及前往厂商字符串
EAX=0000_0001h
输出EAX=0000_0001h失掉处置器type/family/model/stepping和相貌标识
输入EAX=xxxx_xxxxh处置器type/family/model/stepping
extendedfamilyextendedfamily是bits27..20.
00hIntelP4
01hIntelItanium2(IA-64)
extendedmodelextendedmodel是bits19..16.
typetype是bit13和bit12.
11b保存
10b第二块处置器
01bOverdrive处置器
00b第一处置器
familyfamily是bits11..8.
4most80486s
AMD5x86
Cyrix5x86
5IntelP5,P54C,P55C,P24T
NexGenNx586
CyrixM1
AMDK5,K6
CentaurC6,C2,C3
RisemP6
TransmetaCrusoeTM3x00andTM5x00
6IntelP6,P2,P3
AMDK7
CyrixM2,VIACyrixIII
7IntelItanium(IA-64)
F假如是这个值的话就看extendedfamily
modelmodel是bits7..4.
IntelF假如是这个值的话就看extendedmodel
Intel804860i80486DX-25/33
1i80486DX-50
2i80486SX
3i80486DX2
4i80486SL
5i80486SX2
7i80486DX2WB
8i80486DX4
9i80486DX4WB
UMC804861U5D
2U5S
AMD80486380486DX2
780486DX2WB
880486DX4
980486DX4WB
E5x86
F5x86WB
Cyrix5x8695x86
CyrixMediaGX4GX,GXm
IntelP5-core0P5A-step
1P5
2P54C
3P24TOverdrive
4P55C
7P54C
8P55C(0.25μm)
NexGenNx5860Nx586orNx586FPU(onlylaterones)
CyrixM126x86
CyrixM206x86MX
VIACyrixIII5CyrixM2core
6WinChipC5Acore
7WinChipC5Bcore(ifstepping=0..7)
7WinChipC5Ccore(ifstepping=8..F)
8WinChipC5C-Tcore(ifstepping=0..7)
AMDK50SSA5(PR75,PR90,PR100)
15k86(PR120,PR133)
25k86(PR166)
35k86(PR200)
AMDK66K6(0.30μm)
7K6(0.25μm)
8K6-2
9K6-III
DK6-2+orK6-III+(0.18μm)
Centaur4C6
8C2
9C3
Rise0mP6(0.25μm)
2mP6(0.18μm)
Transmeta4CrusoeTM3x00andTM5x00
IntelP6-core0P6A-step
1P6
3P2(0.28μm)
5P2(0.25μm)
6P2withon-dieL2cache
7P3(0.25μm)
8P3(0.18μm)
with256KBon-dieL2cache
AP3(0.18μm)
with1or2MBon-dieL2cache
BP3(0.13μm)
with256or512KBon-dieL2cache</p>由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。 |
|