Re: SafeDisc v1.35.000 seems to not work 100% good, at least with Rayman 2.

2009-01-09 Thread Austin English
On Fri, Jan 9, 2009 at 3:00 PM, Milan Kostić  wrote:
>  Really, it works for first few levels, but in the middle of "The
> Sanctuary of Stone and Fire" (and upper levels periodicaly) it start
> to gives "head of Pirate":) (screenshot attached) and no more playing
> is  possibile. This is tried with old original CD and also with backup
> CD.
>
>  Tested with wine-1.1.12 (first version in which graphics and sound
> are good), but actualy it needs only XP 'dinput.dll' native. And what
> is funny it work in all "Windows" versions, but not in XP.
>
>  So, if maybe someone interested in this, i can debug (just tell me
> what can be usefull), give game saved states, etc.
>
>
>
>

Report bugs at http://bugs.winehq.org, not wine-devel.

-- 
-Austin



Re: Safedisc for 1.0+ ?

2008-04-25 Thread TheBlunderbuss
Darragh Bailey wrote:
> There has been some movement in the past to split up the Safedisc bug
> and deal with the individual versions separately. Would it be useful to
> advance this? I'm certain that I have a number of games that listed as
> apps affected by this bug that no longer have a problem. So I'm not sure
> that it works well to maintain the same bug for all versions of
> safedisc.
I think that's a good idea




Re: Safedisc for 1.0+ ?

2008-04-25 Thread Darragh Bailey
On Thu, Apr 24, 2008 at 09:57:39PM -0600, Vitaliy Margolen wrote:
> TheBlunderbuss wrote:
> > It has just occurred to me that safedisc copy protection (bug 219!) 
> > wasn't put on the Wine 1.0 task list. It's a pretty major bug and covers 
> > a wide range of programs, with a wide range of safedisc versions.
> > Considering this, how should we plan for this implementation?
> > 
> Some versions should work. Newer versions mos likely won't. But as usual in 
> these cases your mileage may vary. Since there are so many variables.
> 
> Setting target for such bugs to 1.0 won't magically fix them. Nor will it 
> keep them from breaking.

There has been some movement in the past to split up the Safedisc bug
and deal with the individual versions separately. Would it be useful to
advance this? I'm certain that I have a number of games that listed as
apps affected by this bug that no longer have a problem. So I'm not sure
that it works well to maintain the same bug for all versions of
safedisc.


-- 
Darragh

"Nothing is foolproof to a sufficiently talented fool."




Re: Safedisc for 1.0+ ?

2008-04-24 Thread Vitaliy Margolen
TheBlunderbuss wrote:
> It has just occurred to me that safedisc copy protection (bug 219!) 
> wasn't put on the Wine 1.0 task list. It's a pretty major bug and covers 
> a wide range of programs, with a wide range of safedisc versions.
> Considering this, how should we plan for this implementation?
> 
Some versions should work. Newer versions mos likely won't. But as usual in 
these cases your mileage may vary. Since there are so many variables.

Setting target for such bugs to 1.0 won't magically fix them. Nor will it 
keep them from breaking.

Vitaliy.




Re: Safedisc support (was: Road to 1.0)

2007-03-25 Thread Phil Costin
Stefan Dösinger wrote:

> Am Sonntag 25 März 2007 17:33 schrieb Phil Costin:
>> Also, just out of interest, would a working safedisc implementation
>> provide the necessary underpinnings to support the hexalock copy
>> protection system? (http://hexalock.co.il/)
> I think the needed infrastructure is the same, but of course we will have
> to do extra bugfixing for each copy protection scheme.
> 
> That hexalock thing sounds pretty rootkitish. I suspect that the real
> content of the cd is encrypted, with an unencrypted decryption program.
> That decryption program installs a rootkit which catches and blocks copy
> operations on the source files and hacks MS IE 6 to prevent copy and
> paste.
> 
> If they were not completely stupid I am afraid that thing will not work
> unless we load the driver into the Linux kernel. If the same driver that
> prevents copy operations does the decryption it will have to be hooked
> into the Linux cdrom driver. Maybe with raw access the decryption can be
> done to allow programs in wine to access the cd, but not Linux programs.
> There is a wikipedia page about it, but it is only a copy of the website.
> 
> Of course if they are stupid enough to store the protected content
> unencrypted, then we only have to make the rootkit happy enough to give
> the app its OK.
> 
> Personally I cannot see how their copy protected CDRs can resist a simple
> dd if=/dev/cdrom of=copy.iso

You're right, the hexalock disc content is mostly encrypted. It's pretty
nasty stuff really.

-Phil





Re: Safedisc support (was: Road to 1.0)

2007-03-25 Thread Stefan Dösinger
Am Sonntag 25 März 2007 17:33 schrieb Phil Costin:
> Also, just out of interest, would a working safedisc implementation provide
> the necessary underpinnings to support the hexalock copy protection system?
> (http://hexalock.co.il/)
I think the needed infrastructure is the same, but of course we will have to 
do extra bugfixing for each copy protection scheme.

That hexalock thing sounds pretty rootkitish. I suspect that the real content 
of the cd is encrypted, with an unencrypted decryption program. That 
decryption program installs a rootkit which catches and blocks copy 
operations on the source files and hacks MS IE 6 to prevent copy and paste. 

If they were not completely stupid I am afraid that thing will not work unless 
we load the driver into the Linux kernel. If the same driver that prevents 
copy operations does the decryption it will have to be hooked into the Linux 
cdrom driver. Maybe with raw access the decryption can be done to allow 
programs in wine to access the cd, but not Linux programs. There is a 
wikipedia page about it, but it is only a copy of the website.

Of course if they are stupid enough to store the protected content 
unencrypted, then we only have to make the rootkit happy enough to give the 
app its OK.

Personally I cannot see how their copy protected CDRs can resist a simple dd 
if=/dev/cdrom of=copy.iso


pgpznJNmUYPKD.pgp
Description: PGP signature



Re: Safedisc support (was: Road to 1.0)

2007-03-25 Thread Marcus Meissner
On Sun, Mar 25, 2007 at 05:31:03PM +0300, Timo Jyrinki wrote:
> Alexandre Julliard wrote:
> >And if we delay it a bit more maybe we can slip in Safedisc
> >support too...
> 
> Regarding which, does anyone have more up-to-date code and/or 
> information regarding Safedisc support, than what is currently 
> on the brand new Wine wiki page: http://wiki.winehq.org/SafeDisc ?

No.

> Safedisc support seems to be a topic that is hacked upon by various 
> people every now and then, but it does not seem very coordinated. It'd 
> be great if the wiki page would help to report on who's working on what 
> etc., and maybe even provide usable patches for users to try.

No, the people stopped hacking on it.

Basically it needs:
- virtual objects served by a windows kernel driver
- access to these objects must work as to any other object

It is likely that a large rewrite of the whole object handling
in the Wine Server is necessary to accomplish a Alexandre accepted
solution.

Ciao, Marcus




Re: Safedisc support (was: Road to 1.0)

2007-03-25 Thread Phil Costin
Also, just out of interest, would a working safedisc implementation provide
the necessary underpinnings to support the hexalock copy protection system?
(http://hexalock.co.il/)




Timo Jyrinki wrote:

> Alexandre Julliard wrote:
>> And if we delay it a bit more maybe we can slip in Safedisc
>> support too...
> 
> Regarding which, does anyone have more up-to-date code and/or
> information regarding Safedisc support, than what is currently
> on the brand new Wine wiki page: http://wiki.winehq.org/SafeDisc ?
> 
> Safedisc support seems to be a topic that is hacked upon by various
> people every now and then, but it does not seem very coordinated. It'd
> be great if the wiki page would help to report on who's working on what
> etc., and maybe even provide usable patches for users to try.
> 
> -Timo






Re: Safedisc support (was: Road to 1.0)

2007-03-25 Thread Timo Jyrinki

Alexandre Julliard wrote:

And if we delay it a bit more maybe we can slip in Safedisc
support too...


Regarding which, does anyone have more up-to-date code and/or 
information regarding Safedisc support, than what is currently 
on the brand new Wine wiki page: http://wiki.winehq.org/SafeDisc ?


Safedisc support seems to be a topic that is hacked upon by various 
people every now and then, but it does not seem very coordinated. It'd 
be great if the wiki page would help to report on who's working on what 
etc., and maybe even provide usable patches for users to try.


-Timo




Re: safedisc

2006-01-04 Thread Damjan Jovanovic


--- Saulius Krasuckas <[EMAIL PROTECTED]> wrote:

> * On Mon, 21 Nov 2005, Vitaliy Margolen wrote:
> > * Monday, November 21, 2005, 4:54:56 PM, Ivan Leo
> Puoti wrote:
> > > Raphael Junqueira asked on bugzilla what the
> safedisc status is. 
> > > Currently it works fine, and I believe what we
> have is more or less 
> > > ready for CVS. However Vitaly told me Alexandre
> didn't like the object 
> > > manager Vitaly wrote, mostly he didn't like
> permanent objects, that 
> > > drivers depend on. 
> > 
> > Following Alexandre's suggestions I've managed to
> get OM working without 
> > support for permanent objects. There will be some
> modification required 
> > for ntoskrnl for that to work. I'm just about
> finished integrating new 
> > OM into ntoskrnl tree and almost ready to give it
> a try.
> > 
> > As far as OM goes it's mostly finished and passes
> all but two of om 
> > tests. Also it don't see any side-affects from it
> either. All the 
> > programs I've tested work in the same way as they
> were before. All named 
> > object moved to directories and using
> RootDirectory part of 
> > OBJECT_ATTRIBUTES for create/open.
> > 
> > Attached is the final revision of the directory
> object implementation. 
> > If it looks ok I'm ready to send some patches 
> 
> Any updates on this?  What lefts to be done for
> ntoskrnl to enter the 
> tree? :)
> 

I've waited so long for this mythical ntoskrnl.exe
that "doesn't change NtDeviceIoControl()" and "uses
IPCs" to finally enter CVS. Can you please mail around
a sample of the code so we have some idea of how on
earth it works, I'm dying to know...

Thank you
Damjan




__ 
Yahoo! DSL – Something to write home about. 
Just $16.99/mo. or less. 
dsl.yahoo.com 





Re: safedisc

2006-01-04 Thread Saulius Krasuckas
* On Mon, 21 Nov 2005, Vitaliy Margolen wrote:
> * Monday, November 21, 2005, 4:54:56 PM, Ivan Leo Puoti wrote:
> > Raphael Junqueira asked on bugzilla what the safedisc status is. 
> > Currently it works fine, and I believe what we have is more or less 
> > ready for CVS. However Vitaly told me Alexandre didn't like the object 
> > manager Vitaly wrote, mostly he didn't like permanent objects, that 
> > drivers depend on. 
> 
> Following Alexandre's suggestions I've managed to get OM working without 
> support for permanent objects. There will be some modification required 
> for ntoskrnl for that to work. I'm just about finished integrating new 
> OM into ntoskrnl tree and almost ready to give it a try.
> 
> As far as OM goes it's mostly finished and passes all but two of om 
> tests. Also it don't see any side-affects from it either. All the 
> programs I've tested work in the same way as they were before. All named 
> object moved to directories and using RootDirectory part of 
> OBJECT_ATTRIBUTES for create/open.
> 
> Attached is the final revision of the directory object implementation. 
> If it looks ok I'm ready to send some patches 

Any updates on this?  What lefts to be done for ntoskrnl to enter the 
tree? :)




Re: safedisc

2005-11-22 Thread Vitaliy Margolen
Monday, November 21, 2005, 4:54:56 PM, Ivan Leo Puoti wrote:
> Raphael Junqueira asked on bugzilla what the safedisc status is. Currently it 
> works fine, and I
> believe what we have is more or less ready for CVS. However Vitaly
> told me Alexandre didn't like the 
> object manager Vitaly wrote, mostly he didn't like permanent
> objects, that drivers depend on. I 
> haven't talked to Alexandre about this but hopefully some reasonable solution 
> can be found so we can
> get Vitaly's OM into wineserver (I mean my original implementation that uses 
> pointers as handles
> also works, but things look better with a real OM). So let's try and trigger 
> some community
> discussion, we are talking about the guts of wine after all. Vitaly, what's 
> the OM status currently?
> Alexandre, what didn't you like about it?

Following Alexandre's suggestions I've managed to get OM working without
support for permanent objects. There will be some modification required
for ntoskrnl for that to work. I'm just about finished integrating new OM
into ntoskrnl tree and almost ready to give it a try.

As far as OM goes it's mostly finished and passes all but two of om
tests. Also it don't see any side-affects from it either. All the
programs I've tested work in the same way as they were before. All named
object moved to directories and using RootDirectory part of
OBJECT_ATTRIBUTES for create/open.

Attached is the final revision of the directory object implementation. If
it looks ok I'm ready to send some patches 

Vitaliy



/*
 * Server-side directory object management
 *
 * Copyright (C) 2005 Vitaliy Margolen
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */

#include "config.h"
#include "wine/port.h"

#include 
#include 
#include 
#include 

#include "windef.h"
#include "winternl.h"

#include "handle.h"
#include "request.h"
#include "process.h"
#include "unicode.h"
#include "wine/list.h"
#include "object.h"

#define HASH_SIZE 37

#define DIRECTORY_QUERY (0x0001)
#define DIRECTORY_TRAVERSE  (0x0002)
#define DIRECTORY_CREATE_OBJECT (0x0004)
#define DIRECTORY_CREATE_SUBDIRECTORY   (0x0008)
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)

struct directory
{
struct object obj;  /* object header */
struct list entries[HASH_SIZE]; /* array of hash entry lists */
};

static void directory_dump( struct object *obj, int verbose );
static struct object *directory_lookup_name( struct object *obj, struct 
unicode_str *name,
 unsigned int attr );

static const struct object_ops directory_ops =
{
sizeof(struct directory), /* size */
directory_dump,   /* dump */
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
NULL, /* satisfied */
no_signal,/* signal */
no_get_fd,/* get_fd */
directory_lookup_name,/* lookup_name */
no_close_handle,  /* close_handle */
no_destroy/* destroy */
};

static void directory_dump( struct object *obj, int verbose )
{
struct directory *dir = (struct directory *)obj;
assert( obj->ops == &directory_ops );

fputs( "Directory ", stderr );
dump_object_name( obj );
if (verbose)
{
unsigned int i;

fputs( " entries:\n", stderr );
for (i = 0; i < HASH_SIZE; i++)
{
struct list *p = &dir->entries[i];
struct object_name *ptr;

LIST_FOR_EACH_ENTRY(ptr, p, struct object_name, entry)
{
fputs( " ", stderr );
dump_object_name( ptr->obj );
fputc( '\n', stderr );
}
}
}
else
fputc( '\n', stderr );
}

/* find an object by its name in a given directory; the refcount is incremented
 * name - is a relative name */
static struct object *find_object_in_dir( struct directory *dir, const WCHAR 
*name,
  size_t len, unsigned int attr )
{
const struct list *list, *p;

if (!name || !len) return NULL;

list = &dir->entries[ get_name_hash( name, len ) % HASH_SIZE ];

Re: Safedisc 1 works on wine

2005-09-25 Thread Ivan Leo Puoti

Ivan Leo Puoti wrote:

Finally we've got safedisc1 running on linux.
Thanks go to Laurent Pinchart, Vitaliy Margolen, Brad DeMorrow, 
Marcus Meissner, and Alexandre for contributing time/code/ideas.


Additionally thanks for pointers and suggestions from the ReactOS team.

Ivan.





Re: Safedisc 1 works on wine

2005-09-09 Thread Ivan Leo Puoti
Oh, and here's an actualy in game shot, if you're a fan of the game you'll probably notice I'm out 
of practice.


http://www003.portalis.it/115/wine/safediscworks2.png

Ivan.





Re: Safedisc 1 works on wine

2005-09-08 Thread Ivan Leo Puoti

Tom Wickline wrote:


Will this support versions 1.6.0 through version 1.50.20 ?
1.6.0 was the first version of safedisk, version 1.11.0 introduced secdrv.sys
and NT support. And do you know if it supports "dplayerx.dll" and the
second layer of encryption that is applied on the ICD that is in
1.50.20?
1.50.20 is the version we used to implement support in wine, so yes it supports secdrv.sys and 
dplayerx.dll and the encryption applied to the ICD.


Ivan.




Re: Safedisc 1 works on wine

2005-09-08 Thread Tom Wickline
On 9/8/05, Ivan Leo Puoti <[EMAIL PROTECTED]> wrote:
> Finally we've got safedisc1 running on linux.
> Thanks go to *Laurent* Pinchart, Vitaliy Margolen, *Brad DeMorrow,
> Marcus Meissner, and Alexandre for contributing time/code/ideas.
> The code is 100% DMCA compliant and hopefully can be cleaned up to be
> good enough for cvs over the coming days and weeks.
> Two games have been tested, they both use the same version of safedisc
> (don't ask how we know, we do)
> http://www.kievinfo.com/images/wine/HoM3_1.jpg
> http://www.kievinfo.com/images/wine/safediscworks.jpg

Will this support versions 1.6.0 through version 1.50.20 ?
1.6.0 was the first version of safedisk, version 1.11.0 introduced secdrv.sys
and NT support. And do you know if it supports "dplayerx.dll" and the
second layer of encryption that is applied on the ICD that is in
1.50.20?

I suppose the only way to find out is to test allot of software that 
spans all the revisions, just thought I would be lazy and ask

Tom

> 
> Ivan.
> *
> 
> 
>




Re: safedisc stuff

2005-06-04 Thread Ivan Leo Puoti

Stephen Torri wrote:

I synced with CVS and applied your patch. I get a problem compiling
dlls/ntdll/file.c:



The problem was an operator error in failing to copy a file to the right
location. I do get a real error, honest I do. 


fixme:ntdll:NtCreateFile failing because of error c00f
fixme:file:CreateFileW Unable to create file L".\\Secdrv" (status c00e)

This happens trying to play SSI Rites of War.


This is normal, actually expected, safedisc open it just in case it's already 
running.
Anyway, run the game once, you should get a crash. Then run it again 
immediately and you should get
a splash screen if all goes well. Turn the ntoskrnl debug channel on just in 
case.

Ivan.




Re: safedisc stuff

2005-06-03 Thread Andreas Mohr
Hi,

On Thu, Jun 02, 2005 at 07:45:25PM -0400, Stephen Torri wrote:
> > I synced with CVS and applied your patch. I get a problem compiling
> > dlls/ntdll/file.c:
> 
> The problem was an operator error in failing to copy a file to the right
> location. I do get a real error, honest I do. 
> 
> fixme:ntdll:NtCreateFile failing because of error c00f
> fixme:file:CreateFileW Unable to create file L".\\Secdrv" (status 
> c00e)
> 
> This happens trying to play SSI Rites of War.
ntstatus.h:
#define STATUS_NO_SUCH_DEVICE0xC00E
#define STATUS_NO_SUCH_FILE  0xC00F

Andreas Mohr



Re: safedisc stuff

2005-06-02 Thread Stephen Torri
> I synced with CVS and applied your patch. I get a problem compiling
> dlls/ntdll/file.c:

The problem was an operator error in failing to copy a file to the right
location. I do get a real error, honest I do. 

fixme:ntdll:NtCreateFile failing because of error c00f
fixme:file:CreateFileW Unable to create file L".\\Secdrv" (status c00e)

This happens trying to play SSI Rites of War.

Stephen




Re: safedisc stuff

2005-06-02 Thread Stephen Torri
On Wed, 2005-06-01 at 21:32 +0200, Ivan Leo Puoti wrote:
> Hi guys,
> Mike Hearn asked me to send the work in progress stuff, so here it is 
> (some stuff has been removed for legal reasons, so  you can't run it in 
> a debugger). Some of it sucks (See QueryServiceStatus for the worst hack 
> ever, that doesn't even usually work), but the design should be more or 
> less ok. It needs lots of cleanup and optimisation.
> 
> Ivan.

I synced with CVS and applied your patch. I get a problem compiling
dlls/ntdll/file.c:

make[2]: Entering directory `/home/storri/src/wine/dlls/ntdll'
gcc -c -I. -I. -I../../include -I../../include  -D__WINESRC__  -D_NTSYSTEM_ 
-D_REENTRANT -fPIC -Wall -pipe -mpreferred-stack-boundary=2 
-fno-strict-aliasing -gstabs+ -Wpointer-arith  -g -O2 -o file.o file.c
file.c:68:36: wine/ntoskrnl_protocol.h: No such file or directory
file.c: In function `NtCreateFile':
file.c:145: error: `NTOSKRNL_CALL' undeclared (first use in this function)
file.c:145: error: (Each undeclared identifier is reported only once
file.c:145: error: for each function it appears in.)
file.c:145: error: syntax error before "call"
file.c:224: error: `call' undeclared (first use in this function)
file.c:224: error: `GETDEVICEHANDLE' undeclared (first use in this function)
file.c: In function `NtDeviceIoControlFile':
file.c:885: error: `NTOSKRNL_CALL' undeclared (first use in this function)
file.c:885: error: syntax error before "call"
file.c:891: error: `IOCONTROL_CALL' undeclared (first use in this function)
file.c:891: error: syntax error before "IoCall"
file.c:892: error: `IOCONTROL_RET' undeclared (first use in this function)
file.c:918: error: `call' undeclared (first use in this function)
file.c:918: error: `IOCONTROL' undeclared (first use in this function)
file.c:921: error: `IoCall' undeclared (first use in this function)
file.c:934: error: `IoRet' undeclared (first use in this function)
make[2]: *** [file.o] Error 1


Stephen