首页
论坛
课程
招聘
StarForce 加密小窥
2005-4-7 14:53 26750

StarForce 加密小窥

2005-4-7 14:53
26750
今天小弟hook 一个函数,不小心却发现了StarForce 超度虚拟光驱的一点秘密,
游戏名称《大富翁7》,保护方式Starforce 3.3,今天偶hook ScsiPortInitialize
函数跟Starforce 撞车,也许这对大家早就不是秘密了,可是对偶却是新鲜。所以
贴上来让大家见笑。

starforce保护文件的名称 prosync1.sys

这个文件属性如下:
该文件的说明
StarForce Protection Synchronization Driver
产品版本
version 3.3

StarForce Protection System

.text:000103E5 ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:000103E8                 align 10h
.text:000103F0 aScsiportinitia db 'ScsiPortInitialize',0 ; DATA XREF: sub_10411+A4o
.text:00010403                 align 4
.text:00010404 aNtoskrnl_exe   db 'ntoskrnl.exe',0     ; DATA XREF: sub_10411+E4o
.text:00010411
.text:00010411 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:00010411
.text:00010411
.text:00010411 sub_10411       proc near               ; CODE XREF: start+85p
.text:00010411                 push    esi
.text:00010412                 push    0
.text:00010414                 push    656E6F4Eh
.text:00010419                 push    10h
.text:0001041B                 push    0
.text:0001041D                 push    0
.text:0001041F                 push    0
.text:00010421                 push    offset unk_111B0
.text:00010426                 call    sub_10340
.text:0001042B                 push    0
.text:0001042D                 push    656E6F4Eh
.text:00010432                 push    0Ch
.text:00010434                 push    0
.text:00010436                 push    0
.text:00010438                 push    0
.text:0001043A                 push    offset unk_11238
.text:0001043F                 call    sub_10340
.text:00010444                 push    offset unk_111A4
.text:00010449                 call    ds:KeInitializeSpinLock
.text:0001044F                 push    2Ch
.text:00010451                 push    0
.text:00010453                 push    offset dword_1120C
.text:00010458                 call    memset
.text:0001045D                 add     esp, 0Ch
.text:00010460                 mov     byte_11200, 0
.text:00010467                 mov     eax, offset dword_11288
.text:0001046C                 mov     dword_1128C, eax
.text:00010471                 mov     dword_11288, eax
.text:00010476                 mov     dword_11208, 0
.text:00010480                 call    sub_10871
.text:00010485                 mov     esi, eax
.text:00010487                 test    esi, esi
.text:00010489                 jz      short loc_104A5
.text:0001048B                 push    edi
.text:0001048C                 mov     edi, ds:ExDeleteNPagedLookasideList
.text:00010492                 push    offset unk_11238
.text:00010497                 call    edi ; ExDeleteNPagedLookasideList
.text:00010499                 push    offset unk_111B0
.text:0001049E                 call    edi ; ExDeleteNPagedLookasideList
.text:000104A0                 mov     eax, esi
.text:000104A2                 pop     edi
.text:000104A3                 pop     esi
.text:000104A4                 retn
.text:000104A5 ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:000104A5
.text:000104A5 loc_104A5:                              ; CODE XREF: sub_10411+78j
.text:000104A5                 push    offset loc_11100
.text:000104AA                 call    sub_10ABA
.text:000104AF                 push    eax
.text:000104B0                 call    sub_10ACA
.text:000104B5                 push    offset aScsiportinitia ; "ScsiPortInitialize"
.text:000104BA                 push    eax
.text:000104BB                 mov     dword_111A0, eax
.text:000104C0                 call    sub_10AFA//这里是hook "ScsiPortInitialize",
.text:000104C5                 push    0
.text:000104C7                 push    0
.text:000104C9                 push    0
.text:000104CB                 push    0
.text:000104CD                 mov     dword_111A8, eax
.text:000104D2                 call    PsGetVersion
.text:000104D7                 test    al, al
.text:000104D9                 jz      short loc_10500
.text:000104DB                 push    offset loc_110EE
.text:000104E0                 call    sub_10ABA
.text:000104E5                 push    offset nullsub_1
.text:000104EA                 mov     dword_11204, eax
.text:000104EF                 push    eax
.text:000104F0                 mov     eax, dword_111A0
.text:000104F5                 push    offset aNtoskrnl_exe ; "ntoskrnl.exe"
.text:000104FA                 push    eax
.text:000104FB                 call    sub_10C0A
.text:00010500
.text:00010500 loc_10500:                              ; CODE XREF: sub_10411+C8j
.text:00010500                 mov     ecx, dword_111A8
.text:00010506                 mov     edx, dword_111A0
.text:0001050C                 push    offset sub_10531//hook "ScsiPortInitialize"的程序的位置,以后程序调用ScsiPortInitialize就先进starfoce的sub_10531
.text:00010511                 push    ecx
.text:00010512                 push    edx
.text:00010513                 call    sub_10BAA
.text:00010518                 xor     eax, eax
.text:0001051A                 pop     esi
.text:0001051B                 retn
.text:0001051B sub_10411       endp ; sp = -10h
.text:0001051B
.text:0001051B ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:0001051C                 dd 90909090h
.text:00010520                 db 90h
.text:00010521 ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
.text:00010524                 dd 3 dup(90909090h)
.text:00010530                 db 90h
.text:00010531

////////////////////////////////////////////////////////////////////////////////////////////////////////////
///由于prosync1.sys以后只要有ScsiPortInitialize调用StarForce 就先接管进这下边的程序。你是虚拟光驱就难逃法眼。
///Starforce可以在你虚拟光区驱动起来之前,这里先去探测你的scsi卡的寄存器。当你有IDE光驱连接的时候,StarForce
如果探测寄存器失败。这下就可以判断出你是虚拟光驱了。叫你换盘插入。嘿嘿,你只有拔掉IDE光驱线骗StarForce,StarForce
//拔掉IDE光驱线后由于探测不到寄存器所以不敢错杀一千,可以让虚拟光驱通过这万里检查的第一步。后边的DPM的检测才是
//真正利害的!
.text:00010531 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:00010531
.text:00010531
.text:00010531 sub_10531       proc near               ; DATA XREF: sub_10411+FBo
.text:00010531
.text:00010531 arg_0           = dword ptr  10h
.text:00010531 arg_4           = dword ptr  14h
.text:00010531 arg_8           = dword ptr  18h
.text:00010531 arg_C           = dword ptr  1Ch
.text:00010531
.text:00010531                 push    ebp
.text:00010532                 push    esi
.text:00010533                 push    edi
.text:00010534                 push    offset unk_111B0
.text:00010539                 call    sub_10370
.text:0001053E                 mov     edi, eax
.text:00010540                 test    edi, edi
.text:00010542                 jnz     short loc_1054F
.text:00010544                 pop     edi
.text:00010545                 pop     esi
.text:00010546                 mov     eax, 0C000009Ah
.text:0001054B                 pop     ebp
.text:0001054C                 retn    10h
.text:0001054F ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:0001054F
.text:0001054F loc_1054F:                              ; CODE XREF: sub_10531+11j
.text:0001054F                 mov     eax, [esp+arg_C]
.text:00010553                 mov     ecx, [esp+arg_8]
.text:00010557                 mov     edx, [esp+arg_4]
.text:0001055B                 mov     esi, [esp+arg_0]
.text:0001055F                 push    eax
.text:00010560                 push    ecx
.text:00010561                 push    edx
.text:00010562                 push    esi
.text:00010563                 call    dword_111A8
.text:00010569                 mov     ebp, eax
.text:0001056B                 and     eax, 0C0000000h
.text:00010570                 cmp     eax, 0C0000000h
.text:00010575                 jnz     short loc_1058A
.text:00010577                 push    edi
.text:00010578                 push    offset unk_111B0
.text:0001057D                 call    sub_103B0
.text:00010582                 pop     edi
.text:00010583                 mov     eax, ebp
.text:00010585                 pop     esi
.text:00010586                 pop     ebp
.text:00010587                 retn    10h
.text:0001058A ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:0001058A
.text:0001058A loc_1058A:                              ; CODE XREF: sub_10531+44j
.text:0001058A                 push    ebx
.text:0001058B                 mov     ecx, offset unk_111A4
.text:00010590                 call    ds:KfAcquireSpinLock
.text:00010596                 push    esi
.text:00010597                 mov     bl, al
.text:00010599                 call    sub_10631
.text:0001059E                 test    eax, eax
.text:000105A0                 jnz     short loc_105CB
.text:000105A2                 mov     eax, [esi+34h]
.text:000105A5                 mov     ecx, [esi+74h]
.text:000105A8                 test    eax, eax
.text:000105AA                 mov     [edi+4], esi
.text:000105AD                 mov     [edi+8], ecx
.text:000105B0                 mov     [edi+0Ch], eax
.text:000105B3                 mov     dword ptr [esi+74h], offset sub_10661
.text:000105BA                 jz      short loc_105C3
.text:000105BC                 mov     dword ptr [esi+34h], offset sub_107E1
.text:000105C3
.text:000105C3 loc_105C3:                              ; CODE XREF: sub_10531+89j
.text:000105C3                 push    edi
.text:000105C4                 call    sub_105F1
.text:000105C9                 jmp     short loc_105D6
.text:000105CB ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:000105CB
.text:000105CB loc_105CB:                              ; CODE XREF: sub_10531+6Fj
.text:000105CB                 push    edi
.text:000105CC                 push    offset unk_111B0
.text:000105D1                 call    sub_103B0
.text:000105D6
.text:000105D6 loc_105D6:                              ; CODE XREF: sub_10531+98j
.text:000105D6                 mov     dl, bl
.text:000105D8                 mov     ecx, offset unk_111A4
.text:000105DD                 call    ds:KfReleaseSpinLock
.text:000105E3                 pop     ebx
.text:000105E4                 pop     edi
.text:000105E5                 mov     eax, ebp
.text:000105E7                 pop     esi
.text:000105E8                 pop     ebp
.text:000105E9                 retn    10h
.text:000105E9 sub_10531       endp
.text:000105E9
.text:000105E9 ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:000105EC                 dd 90909090h
.text:000105F0                 db 90h
.text:000105F1
.text:000105F1 ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
.text:000105F1

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//你也许会说了ScsiPortInitialize()这个函数这样重要吗?嘿嘿,对了。ScsiPortInitialize是虚拟光驱的第一口呼吸。
//StarForce hook该函数的目的就是想把虚拟光驱扼杀哭出第一声来之前,真是太惨了。连摇篮都不愿意给虚拟光驱准备。偶
//一直也不知道ScsiPortInitialize的内幕,最近不是M$的NT4 -SRC泄露出来了吗?嘿嘿以下函数就是在NT4 -SRC中带的这个函数
//的细节有兴趣的朋友可以去看看
/*++

Copyright (c) 1990  Microsoft Corporation

Module Name:

    port.c

Abstract:

    This is the NT SCSI port driver.  This file contains the initialization
    code.

Authors:

    Mike Glass
    Jeff Havens

Environment:

    kernel mode only

Notes:

    This module is a driver dll for scsi miniports.

Revision History:

ULONG
ScsiPortInitialize(
    IN PVOID Argument1,
    IN PVOID Argument2,
    IN PHW_INITIALIZATION_DATA HwInitializationData,
    IN PVOID HwContext OPTIONAL
    )

/*++

Routine Description:

    This routine initializes the port driver.

Arguments:

    Argument1 - Pointer to driver object created by system
    HwInitializationData - Miniport initialization structure
    HwContext - Value passed to miniport driver's config routine

Return Value:

    The function value is the final status from the initialization operation.

--*/

{
    PDRIVER_OBJECT    driverObject = Argument1;
    ULONG             slotNumber = 0;
    ULONG             functionNumber = 0;
    PDEVICE_EXTENSION deviceExtension = NULL;
    NTSTATUS          returnStatus = STATUS_DEVICE_DOES_NOT_EXIST;
    NTSTATUS          status;

//不过对付这东西没办法了吗?现在不是有starFuck了吗?名字取的不错,问我,我也不知道其是啥原理,因为我没用过,但
//我想可以通过这样的方法躲过这个检查,就是在starfoce prosync1.sys驱动起来之前建立一个驱动,让它成为“虚拟光驱的
//虚拟光驱”。当prosync1.sys在hook 处理ScsiPortInitialize()的时候返回一些端口数据来骗starforce ,不过daemon-tools
//和alcochol好象没这样处理。谁知道呢?daemon 的DPM数据精度探测处理骗过starforce非常利害。
//偶发这个帖子只是想抛专引玉StarFOrce 在驱动中就有5-6个拦路虎,望各位大大多多给予指正。
//其中处理虚拟光驱的一点点,
                                                      Machoman
                                                      2005/4/5

第五届安全开发者峰会(SDC 2021)议题征集正式开启!

收藏
点赞0
打赏
分享
最新回复 (42)
雪    币: 142
活跃值: 活跃值 (17)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
shuair 活跃值 2 2005-4-8 09:44
2
0
看不懂,支持
雪    币: 261
活跃值: 活跃值 (92)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
laoqian 活跃值 8 2005-4-8 09:55
3
0
继续啊,发现看雪这里是技术交流的天堂啊。
雪    币: 221
活跃值: 活跃值 (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
machoman 活跃值 1 2005-4-8 11:07
4
0
请问那里有最新的保护游戏mds下载???偶现在可以过starforce 3.3 和Securom New 4但,新游戏偶找不到下载,要不就是速度好慢.急死了!各位大大给点资源好吗?
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
云淡风蒺 活跃值 2005-4-8 15:16
5
0
?主可不可以把你所知晷於starforce driver真得??一?,例如把starforce查Alcohol的代瘁列出?,好?小弟想揠法???程序?Alcohol可以摸似新版starforce光?而不?要用USB-CDROM易?哕行.小弟一向都是想揠法?starforce?,所以?有在starforce driver下咿功夫.著著?主提供?考.
雪    币: 104
活跃值: 活跃值 (229)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
nbw 活跃值 24 2005-4-8 15:53
6
0
有点深。学习!
雪    币: 226
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
warcraft 活跃值 2005-4-8 16:00
7
0
好东西,楼主加油啊
雪    币: 221
活跃值: 活跃值 (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
machoman 活跃值 1 2005-4-8 16:54
8
0
最初由 云淡风蒺 发布
?主可不可以把你所知晷於starforce driver真得??一?,例如把starforce查Alcohol的代瘁列出?
___________________________________________________________
原则上以上代码就可以检查出虚拟设备,因为虚拟设备没有硬件端口的。
alcohol也不列外。

,好?小弟想揠法???程序?Alcohol可以摸似新版starforce光?而不?要用USB-CDROM易?哕行.小弟一向都是想揠法?starforce?,所以?有在starforce driver下咿功夫.著著?主提供?考.


――――――――――――――――――――――――――――――
偶这个文章只是抛专引玉,偶对光盘脱壳技术已经完全不懂了。要向各位大大好好学习,请各位大大也不要吝惜指教,不过发现论坛里边关于这个的文章好少,偶就斗胆在这里发了这个。希望大家多交流。偶对这个游戏保护的认识非常的粗浅的。

再罗嗦一下:各位大大能给偶一些比较新的StarForce 或SecRom NEw 加密的mds
mdf ,iso image 下载吗?我找一天都没找到合适的。
雪    币: 243
活跃值: 活跃值 (19)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
firstrose 活跃值 16 2005-4-8 18:13
9
0
由于prosync1.sys以后只要有ScsiPortInitialize调用StarForce 就先接管进这下边的程序。你是虚拟光驱就难逃法眼。
///Starforce可以在你虚拟光区驱动起来之前,这里先去探测你的scsi卡的寄存器。当你有IDE光驱连接的时候,StarForce
如果探测寄存器失败。这下就可以判断出你是虚拟光驱了。叫你换盘插入。嘿嘿,你只有拔掉IDE光驱线骗StarForce,StarForce
//拔掉IDE光驱线后由于探测不到寄存器所以不敢错杀一千,可以让虚拟光驱通过这万里检查的第一步。后边的DPM的检测才是
//真正利害的!
=====================================================

什么意思?

无论win还是daemon都要调scsi_init的。物理寄存器探不到应该就可以判断没有相应的光驱了吧。因为这是ring0。拔不拔ide其实没关系的。我以前只玩过ide的detect,但是scsi原理应该一样
雪    币: 3017
活跃值: 活跃值 (39)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
blowfish 活跃值 2005-4-8 18:16
10
0
去游侠网找新游戏
雪    币: 201
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ffsj 活跃值 2005-4-9 08:58
11
0
正像所有的ring 0上的hook技术一样,starforce的ScsiPortInitialize 被starforce hook了以后最终还是调用系统自己原始的ScsiPortInitialize(),解决办法可以考虑在加载starforce的sys之前再加载一个sys记录下系统最初的ScsiPortInitialize位置,然后再starforce加载之后恢复之,或者直接枚举系统的PE强制查找到原始的ScsiPortInitialize位置然后恢复之
雪    币: 261
活跃值: 活跃值 (92)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
laoqian 活跃值 8 2005-4-9 13:57
12
0
这个云淡风蒺 是那个CFB的吗?
三国群英五就是starforce,已经被CFB的风清云淡脱壳,在游侠网有下的,我在玩。
雪    币: 201
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
情狼 活跃值 2005-4-9 16:36
13
0
游侠网上有细胞分裂3:混沌法则下载.这个是新版starforce吧.
雪    币: 104
活跃值: 活跃值 (229)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
nbw 活跃值 24 2005-4-10 17:54
14
0
难怪以前有些RPG需要拔光驱才能用虚拟光驱。原来如此。

CFB是啥?
雪    币: 219
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1anyh 活跃值 2005-5-2 00:29
15
0
最初由 nbw 发布
难怪以前有些RPG需要拔光驱才能用虚拟光驱。原来如此。

CFB是啥?

游戏破解小组
雪    币: 219
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
1anyh 活跃值 2005-5-2 00:31
16
0
最初由 云淡风蒺 发布
?主可不可以把你所知晷於starforce driver真得??一?,例如把starforce查Alcohol的代瘁列出?,好?小弟想揠法???程序?Alcohol可以摸似新版starforce光?而不?要用USB-CDROM易?哕行.小弟一向都是想揠法?starforce?,所以?有在starforce driver下咿功夫.著著?主提供?考.

没想到会脱starforce也来这里了~
雪    币: 221
活跃值: 活跃值 (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
machoman 活跃值 1 2005-5-2 11:21
17
0
新版本的StarForce 已经把系统的IDE ,SCSI 严密监视起来了,之所以USB易驱能够对付现在的新版本的StarForce 是由于StarForce研究人员还没搞定USB驱动的原因。

目前不脱壳对付StarForce新版本的方法我个人感觉是有两个:
(1)绕过系统的设备驱动层直接读扇区,突破StarForce的监视。但这一点谈何容易,首先要饶过文件系统,然,文件很可能在硬盘上是离散分布的,做到不通过文件系统打开文件本来就很难。然后还要采用out指令直接读扇区,这样可以饶过StarForce的检查。
(2)早于StarForce 驱动起来之前保存idt干掉StarForce ,这又回到Dos年代破解的关键问题,谁先启动谁先有优先权利.

个人拙见,定有错误,但我发现各位高手对starforce谈论比较保守
希望大家多指教。技术的东西保留着没用的。
雪    币: 221
活跃值: 活跃值 (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
machoman 活跃值 1 2005-5-2 11:27
18
0
根据个人研究发现starforce 是一种非常危险的保护方式。它为游戏厂家或者starforce 获得游戏玩家的所有信息(它把IDE,SCSI以后USB存储设备完全监视起来了。你能有安全可言吗),这也是在欧美国家不敢用StarForce加密的原因。感觉StarForce善于耍阴招而已。比较违法的。

论实际的技术SecuRom New 新版本在介质加密技术硬工夫上是远超StarForce的。
StarForce确实开启了光盘加密的一个坏方向,牺牲安全保证加密。
雪    币: 221
活跃值: 活跃值 (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
machoman 活跃值 1 2005-5-2 11:32
19
0
我不知道是否有途径可以像国家机关检举starforce加密的违法行为?因为我发现StarForce的代码确实太危险了。如果有途径,我可以贴出它的不安全的代码。
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
云淡风蒺 活跃值 2005-5-2 12:59
20
0
著著machoman兄的分析.干掉IDT是不可行的,因?starforce是用int1?咄入Ring0哕行光??查和主程序解密,呗DeviceIoControl和sysenter都不用,最可?的是他?在Ring0也?行int1和int3及自己用Memory Breakpoint.不咿呃不是?铨,最大?铨是starforce用?代瘁?哕行DPC及StartIO等,非常膣以跟垓.我只是看到starforce?常在等某?Kernel Mutext及DPC,所以要由starforce driver入手破解是非常困膣.?小弟了解,即使是SafeDisc及SecuRom只是用??程序?哕行光??查,?有改掉IDT及?核代瘁,即使SecuRom7也是用Service?哕行.

其?我迂得starforce的pcode已???.?必要干改?核代瘁呃一步,呃已?涉及到Windows的风定及操作.
?西太??是很容易折?的.所以?他?的保罪做到?成?渲之?也是他?未日的?乓,因?那?恐怕已??有多?系靳能?风定的哕行starforce了.
雪    币: 199
活跃值: 活跃值 (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lllaaa 活跃值 2005-5-2 13:25
21
0
最初由 machoman 发布
我不知道是否有途径可以像国家机关检举starforce加密的违法行为?因为我发现StarForce的代码确实太危险了。如果有途径,我可以贴出它的不安全的代码。


能贴出一小部分吗?
雪    币: 221
活跃值: 活跃值 (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
machoman 活跃值 1 2005-5-2 13:31
22
0
云兄,感谢您参与讨论,偶对StarForce 的Pcode 和驱动采用伪代码运行确实不知。谢谢你的知讯。对于脱壳偶是一点不了解,感觉StarForce确实有入铁桶了。既然您说干idt是不行的,我想第一种直接文件读取的方式是否可行,不通过系统,直接读io Port ,这需要一个简单的文件系统,没有采取分段链表连接的文件系统,从StarFuck的实现功能看来,StarForce 还没BT到把io port 都封住,采取直接io 操作不知道是否可行躲过其磁盘监视。
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
云淡风蒺 活跃值 2005-5-2 14:52
23
0
感谢machoman的回答.小弟直迂帐?starforce不?直接用IO port,因?SCSI,USB,SATA等很多都?要用??程式?哕作,不是一??IO port可以解?的.可以肯定的是他?用IRP packet?坐光?,再行?DPC?查光?是否正催,由於大部份代瘁都是pcode,我?唯一能做的就是由IRP stack下手,因?DT和Alcohol是在呃奄模?RMPS的.但是我?Daemon Tools怎?哕作模?RMPS不是很了解,所以不知要怎?下手.相信starforce是非常了解Daemon Tools的哕作,在SCSI的IRP stack?手倪才能Blacklist DT.我?可以在Starforce?手之後IO完劫之前把他??反正,?RMPS儋料能??利通咿?查.
不咿很明锢做比真?困膣千孺倍,否?早就有人干了.相信DT的檫办者也知道呃一?,不膣理解Daemon Tools 4要等呃?久(已差不多一年了)?是未出.

厌充一下晷於Starforce Nightmare的哕作,相信他是用SetupDi等API?哕作,很明锢新版的Starforce封湮了Device Notification之?的回?信息或Device控制等?根本上?掉SN的功能,所以看?一定要由??程式入手,而且要非常精於CDROM的Low-level哕作及?核IRP的哕用才能破掉starforce.恐怕只有DT的檫办者和精於?CDROM??程式之人?才懂得做,以小弟??的道行?真哞哞未??呃方面的程式.
雪    币: 5536
活跃值: 活跃值 (51)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
forgot 活跃值 26 2005-5-3 13:16
24
0
注意一下那个StarFuck.

CFB是不是有人做出类似WKTDebugger的东西啦?

btw:怎么混入CFB
雪    币: 261
活跃值: 活跃值 (92)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
laoqian 活跃值 8 2005-5-3 13:49
25
0
看来此云淡风蒺 即为风清云淡也,还是海峡对岸的人士,有“??程式”一词即可看出。
游客
登录 | 注册 方可回帖
返回