首页
社区
课程
招聘
求助]如何更改CPUID绕过软件的限制
发表于: 2009-6-3 06:37 36017

求助]如何更改CPUID绕过软件的限制

2009-6-3 06:37
36017
收藏
免费 0
支持
分享
最新回复 (24)
雪    币: 7325
活跃值: (3803)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
2
换一个CPU
2009-6-3 09:01
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
随意短接几只引脚也应该可行
2009-6-3 12:50
0
雪    币: 156
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
虚拟机 是不是 可以修改啊?我猜
没实践过
2009-6-3 16:05
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
搜遍竟无更改CPUID的良策
2009-6-3 21:10
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
换CPU()
2009-6-3 21:16
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
有些CPU没有ID吧...同意楼上的.换CPU...
2009-6-3 22:30
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
应该是根据os获得的吧。
hook  相关的api不知道能不能实现?
2009-6-3 22:40
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
CPUID是个汇编指令来的....不依赖API...
2009-6-3 23:06
0
雪    币: 244
活跃值: (105)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
10
VIA有几款CPU是可以自己决定CPUID的
2009-6-3 23:22
0
雪    币: 125
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
改内存总行了吧?
2009-6-4 04:59
0
雪    币: 405
活跃值: (2355)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
支持VT技术的CPU 可以在VMM 中修改相应的寄存器,达到修改CPUID返回值 的效果.
2009-6-4 14:00
0
雪    币: 405
活跃值: (2355)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
确保CPU 支持INTEL VMX 技术,将VMXCPU加载后,再运行CPU-Z之类的软件,就发现不同了.
上传的附件:
2009-6-4 14:14
0
雪    币: 211
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
特来膜拜ls
2009-6-4 22:58
0
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不太可能是通过cpuid加密的 好多cpu是没id的
而且id也不是唯一的 我们单位同时买的cpuid是一样的
2009-6-5 10:31
0
雪    币: 157
活跃值: (476)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
要改cpuid的返回值,一般只有path了.在执行完cpuid指令后,更改寄存器的值,可以实现
2009-6-6 11:29
0
雪    币: 435
活跃值: (172)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
17
VMX确实强大, 必须顶一下
2009-6-7 12:54
0
雪    币: 7325
活跃值: (3803)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
18
你不给代码,楼主也不会改啊
2009-6-7 13:01
0
雪    币: 435
活跃值: (172)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
19
海风提供一个VMX框架吧, 之后就是填空式开发了
rootkit上的那个例子有点乱, 还好DbgPrint很多
2009-6-7 14:52
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
火翼、海风大哥提供一个代码或者VMX框架教教我们吧!
2009-6-9 21:06
0
雪    币: 206
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
cpuid一般不是唯一了,如果采用cpuid作为License验证的话,cpuid应该只是其中的一个因素而已,应该还会有其它的,比如硬盘序列号、MAC地址等一起构成一个计算机唯一标识;
2009-6-9 23:29
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
把返回值改成固定的不就可以了
2009-6-10 11:06
0
雪    币: 7325
活跃值: (3803)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
23
[QUOTE='火翼[CCG];638104']海风提供一个VMX框架吧, 之后就是填空式开发了
rootkit上的那个例子有点乱, 还好DbgPrint很多[/QUOTE]

某人有啊,你找他要
我的框架也不好,core i7上面会有不小的问题,一般的core 2倒没事
2009-6-11 00:08
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
哪位看雪大哥可以出个援手帮助一下?或者不吝赐教如何把返回值改成固定的值?不胜感谢!i2000e@163.com
2009-6-13 11:53
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
网络检索有文章提及使用下面这个小工具更改PCCA (PHYSICAL CONFIGURATION COMMUNICATION AREA)中的PCCACPID,可以绕过CPUID检查:

*   TO USE THIS PGM, FIRST, CODE A PROC IN SYS1.PROCLIB                 SPG00090
*                                                                       SPG00090
* //CHGCPUID  PROC                                                      SPG00090
* //   EXEC PGM=CPUID,PARM='NNNNTTTT'                                   SPG00090
*                                                                       SPG00090
*          THE PARM IS UUP TO EIGHT DIGITS AS FOLLOWS;                  SPG00090
*                                                                       SPG00090
*           NNNN = LAST FOUR CHARACTERS OF THE DESIRED CPUID            SPG00090
*           TTTT = CPU TYPE E.G. 9672 (OPTIONAL)                        SPG00090
*                                                                       SPG00090
*                                                                       SPG00090
* NEXT, ASSEMBLE AND LINK INTO AN AUTHORIZED, LINKLISTED LIB            SPG00090
* WHICH WILL ALWAYS BE ON TEST SYSTEM  (SUCH AS SYS1.CMDLIB)            SPG00090
*                                                                       SPG00090
* IN SYS1.PARMLIB MEMBER(IEACMD00) AFTER S LLA STMT                     SPG00090
*  CODE  START CHGCPUID,SUB=MSTR                                        SPG00090
*                                                                              
*  FROM A SYSTEM CONSOLE, AFTER CHGCPUID ENDS, ISSUE COMMAND                    
*  D M=CPU   AND NOTE THAT ALL CPUIDS SHOW 9672 AS MODEL                        
*                                                                              
*********************************************************************** SPG01350
*                                                                       SPG01360
CPUID    CSECT 0                                                        SPG01370
CPUID    AMODE 31                                                       SPG01370
CPUID    RMODE 24                                                       SPG01370
         PGMIN EQUATES=YES,USING=(R13) STANDARD HOUSEKEEPING                    
         GETAUTH TYPE=GET          ENSURE WE ARE AUTHORISED                     
         GOSUB PARMPROC            TEST PARM VALUE                              
         LTR   R15,R15             WAS PARM VALID?                              
         BNZ   ERROR               NO, GIVE UP                                 
         MODESET KEY=ZERO          * KEY ZERO                           SPG03340
         L     R3,16               * ADDRESS CVT                                
         USING CVT,R3                                                           
         L     R2,CVTPCCAT         * --> PCCA VECTOR TABLE (CVT+2FC)            
         USING PCCAVT,R2                                                        
         LA    R6,PCCAT00P         * --> PCCA FOR CPU 0                        
         DROP  R2                                                               
         LA    R7,16               * LOOP CTR ( MAX OF 16 CPUS)                 
         L     R1,PARMADDR         REFRESH PARM ADDRESS                        
         L     R2,PARMLGTH         GET PARM LENGTH                      00071400
         BCTR  R2,0                DECREMENT FOR EXECUTE                00071700
         SPACE 1                                                        00070800
LOOP     DS    0H                                                               
         ICM   R3,15,0(R6)         * --> PCCA                                   
         BNZ   TESTIT              * THERE IS ONE                              
BUMP     DS    0H                                                               
         LA    R6,4(R6)            * TO NEXT PCCA ADDRESS                       
         BCT   R7,LOOP             * LOOP TILL DONE                             
         B     FINISHED            * THEN QUIT                                 
*                                                                              
TESTIT   DS    0H                                                               
         USING PCCA,R3                                                         
         CLC   PCCAPCCA,=CL4'PCCA' * MAKE SURE IT IS PCCA                       
         BNE   ERROR               * PROBLEM SOMEWHERE???                       
*        MVC   PCCACPID+8(4),=C'9672'     * NEW MODEL NO.                       
*        MVC   PCCACPID+4(8),=C'70249021' * NEW CPUID                           
         LA    R4,PCCACPID+4       POINT PAST CP & LPAR NO.                     
         EX    R2,PARMMOVE         COPY PARM TO CPUID                           
         B     BUMP                * LOOP TILL DONE                             
         DROP  R3                                                               
*                                                                              
FINISHED DS    0H                                                               
         WTO   'CPU IDS HAVE BEEN CHANGED '                                    
         B     EXIT                                                            
*                                                                              
ERROR    DS    0H                                                               
         WTO   'ERROR IN PGM CPUID'                                             
*                                                                              
EXIT     DS    0H                                                               
         MODESET KEY=NZERO         USER STATUS                          SPG03380
         PGMOUT ,                  RETURN TO CALLER                             
         EJECT ,                                                        00070100
*******************************************************************     00070200
*        PROCESS PARM FIELD IF SUPPLIED                           *     00070300
*******************************************************************     00070700
         SPACE 1                                                        00070800
PARMPROC DS    0H                  PROCESS PARM FIELD                   00070900
         SUBIN SAVE=(R4)           SUBROUTINE ENTRY                     00071000
         SR    R15,R15             ASSUME PARM IS GOOD                          
         L     R1,0(R1)            LOAD ADDRESS OF PARM INTO R1         00071100
         ST    R1,PARMADDR         STORE ADDRESS OF PARM INFO'S         00071200
         LH    R2,0(R1)            GET ADDRESS OF PARM INFO'S           00071300
         ST    R2,PARMLGTH         SAVE PARM LENGTH                     00071400
         LTR   R2,R2               TEST FOR A PARM                      00071500
         BZ    PARMBAD             NONE, ERROR                          00071600
         C     R2,=A(8)            TEST MAXIMUM LENGTH                          
         BH    PARMBAD             TOO LONG, ERROR                              
         BCTR  R2,0                DECREMENT FOR EXECUTE                00071700
         SPACE 1                                                        00071900
PARMLOOP DS    0H                  TEST PARM VALUES                     00072000
         EX    R2,PARMCLC          TEST FOR NUMERIC                     00072100
         BH    PARMDONE            OK, USE IT                           00072400
*        B     PARMBAD             NO, BAD VALUE                        00072200
         SPACE 1                                                        00072900
PARMBAD  DS    0H                  PARM FIELD INVALID                   00073000
         LA    R15,8               REMEMBER WE FAILED                           
PARMDONE DS    0H                  PARM FIELD PROCESSED                 00073000
         SUBOUT RESTORE=(R4)       RETURN TO CALLER                     00073100
         TITLE 'DATA AREAS'                                             00070100
PARMCLC  CLC   2(*-*,R1),=CL8'00000000' TEST FOR NUMERIC   *EXECUTED*   00073300
PARMMOVE MVC   0(*-*,R4),2(R1)     MOVE PARM TO PCCACPID   *EXECUTED*   00073300
         SPACE 1                                                        00073400
PARMADDR DC    A(0)                ADDRESS OF PARM FIELD                00073500
PARMLGTH DC    A(0)                LENGTH OF PARM FIELD                 00073600
         LTORG ,                                                               
*                                                                       SPG07150
         CVT   LIST=NO,DSECT=YES                                                
         IHAPCCAT DSECT=YES                                                     
         IHAPCCA  DSECT=YES                                                     
         END

需要在SYS1.PROCLIB 增加 CHGCPUID,然后,编译汇编程序CPUID放入APF,LINKLISTED库。

恳请大侠续文示范!!!!!
2009-6-15 06:19
0
游客
登录 | 注册 方可回帖
返回
//